Newer
Older
ubixfs-2 / btest.pas
@flameshadow flameshadow on 10 Jun 2005 4 KB UbixFS
program btest;

uses crt, lists, dos, debug;

var
  tree:PBtree;
  tree2:PBtree;
  u:uPtr;
  dirInfo : SearchRec;
  s:string;
  treeInfo: BTreeSearchRec;
  i:integer;
begin
  {new(tree, init('', 512, BT_PCHAR));}
  writeln('memAvail: ', memAvail);
  new(tree, init('', 512, BT_PCHAR));
  (*findfirst('*.*', anyFile, dirInfo);
  while dosError = 0 do
    begin
      u.offset := dirInfo.size;
      tree^.Insert(@dirInfo.name, u);
      findNext(dirInfo);
    end;  *)


  findfirst('*.*', anyFile, dirInfo);
  while dosError = 0 do
    begin
      u.offset := dirInfo.size;
      dirInfo.name[length(dirInfo.name)+1]:=#0;
      tree^.Insert(@dirInfo.name[1], u);
      findNext(dirInfo);
    end;


  findfirst('e:\program files\tmt.5\htmlhelp\*.htm', anyFile, dirInfo);
  while dosError = 0 do
    begin
      u.offset := dirInfo.size;
      dirInfo.name[length(dirInfo.name)+1]:=#0;
      tree^.Insert(@dirInfo.name[1], u);

{      tree^.Insert(@dirInfo.name, u);}
      findNext(dirInfo);
    end;   
  tree^.printWholeTree;
{---
  findfirst('c:\mp3\*.*', anyFile, dirInfo);
  while dosError = 0 do
    begin
      if not tree^.Find(@dirInfo.name, u) then
        writeln('Not found: ', dirInfo.name);
      findNext(dirInfo);
    end;

  findfirst('c:\tmt.5\htmlhelp\*.htm', anyFile, dirInfo);
  while dosError = 0 do
    begin
      if not tree^.Find(@dirInfo.name, u) then
        writeln('Not found: ', dirInfo.name);
      findNext(dirInfo);
    end;
---}  
(*
  findfirst('*.*', anyFile, dirInfo);
  while dosError = 0 do
    begin
      u.offset := dirInfo.size;
      dirInfo.name[length(dirInfo.name)+1] := #0;
      {tree^.Insert(@dirInfo.name[1], u);}
      
      tree^.Insert(@dirInfo.name, u);
      {tree^.printWholeTree;}
      findNext(dirInfo);
    end;

tree^.printWholeTree; *)
(*
  if (tree^.getFirstKey(treeInfo)) then
    repeat
      tree^.delete(treeInfo.key, treeInfo.value);
      {tree^.printWholeTree;}
    until not tree^.findNext(treeInfo); 
*)
  

  findfirst('e:\program files\tmt.5\htmlhelp\*.htm', anyFile, dirInfo);
  while dosError = 0 do
    begin
      dirInfo.name[length(dirInfo.name)+1] := #0;    	
      tree^.Delete(@dirInfo.name[1], u);
        {tree^.Delete(@dirInfo.name, u);}
{      tree^.printWholeTree;      }
      findNext(dirInfo);
    end; 
  tree^.printWholeTree; 
  findfirst('*.*', anyFile, dirInfo);
  while dosError = 0 do
    begin
      dirInfo.name[length(dirInfo.name)+1] := #0;    	
      tree^.Delete(@dirInfo.name[1], u);
    	
{      tree^.Delete(@dirInfo.name, u);}
      findNext(dirInfo);
    end; 
  tree^.printWholeTree; 


(*
  new(tree2, init('', 512, BT_STRING));
  if (tree^.getLastKey(treeInfo)) then
    repeat
      tree2^.Insert(treeInfo.key, treeInfo.value);
      {tree2^.printWholeTree;}
    until not tree^.findPrev(treeInfo);
{tree2^.printWholeTree;}
dispose(tree2, done);
*)
(*  findfirst('c:\mp3\*.*', anyFile, dirInfo);
  while dosError = 0 do
    begin
      u.offset := dirInfo.size;
      dirInfo.name[length(dirInfo.name)+1] := #0;
      {tree^.Insert(@dirInfo.name[1], u);}
      
      tree^.Delete(@dirInfo.name, u);
      tree^.printWholeTree;
      findNext(dirInfo);
    end; *)
(*
  s := '(07)Lee-Cabrera_Feat._Alex_Cartana-Shake_It_(Move_A_Little_Closer).mp3';
  tree^.delete(@s, u);
  tree^.printWholeTree;

  s := 'Laura Branigan - Self Control 2004 (Mindworkers Remix).mp3';
  tree^.delete(@s, u);
  tree^.printWholeTree;

  s := 'Lazard - 4 O''Clock in the Morning (Radio Edit).mp3';
  tree^.delete(@s, u);
  tree^.printWholeTree;

  s := 'Master Blaster - One Night In Bangkok.mp3';
  tree^.delete(@s, u);

  tree^.printWholeTree;
*)
  {if (tree^.findFirst(@s, treeInfo)) then}
(*  if (tree^.GetFirstKey(treeInfo)) then
    repeat
      writeln(string(treeInfo.key^), ' is ', treeInfo.value.offset, ' bytes');
    until not tree^.findNext(treeInfo);
  if (treeInfo.key <> NIL) then writeln('key <> nil!'); *)
  dispose(tree, done);
writeln('memAvail: ', memAvail);
end.