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.