Newer
Older
ubixfs-2 / mytest.pas
@flameshadow flameshadow on 10 Jun 2005 1 KB UbixFS
uses dos, crt, debug;
var f:file;
    p:pointer;
    count:integer;
    dirRec:SearchRec;
    name : string;
function search2(s:pathStr; dirList:string):string;
var
  name: String;
  ff_buf: SearchRec;
  p:longint;
begin
  length(result) := 0;
  findfirst(s, anyFile, ff_buf);
  if (dosError = 0) then result := ff_buf.name;
end;
function Search(Path: PathStr; Dirlist: String): PathStr;
var
     name: String;
    ff_buf: SearchRec;
 
  p: Longint;
  
begin
 (* Length(Result) := 0;
  name := Path;
  repeat
    FindFirst('test.out', AnyFile, ff_buf);
    if DosError = 0 then
    begin
      Result := name;
       break;
    end else begin
    writeln('here');
      if Length(DirList) = 0 then break;
      p := Pos(';', DirList);
      if p <> 0 then
      begin
        name := Copy(DirList, 1, p - 1) + '\' + Path;
        DirList := Copy(DirList, p + 1, 255);
      end else begin
        name := DirList + '\' + Path;
        Length(DirList) := 0;
      end 
    end
  until FALSE; *)
end;

begin
  assign(f, 'test.out');
  rewrite(f, 1);
  getmem(p, 4096);
  blockwrite(f, p^, 4096);
  freemem(p, 4096);
  count := 0;
(*  repeat
    getmem(p, 4096);
    // if (fsearch('test.out','') = '') then break;
    
    assign(f, 'test.out');
    reset(f, 1);
    blockread(f, p^, 4096);
    reset(f, 512);
    blockread(f, p^, 8);
    close(f);
    freemem(p, 4096);
    inc(count);
    if (count and (1 shl 16-1) = 0) then writeln(count);
  until keypressed; *)
  repeat
     name:='test.out';
     //search2(name,'');
     //if (dosError<>0) then break;
     //if (search('test.out','') = '') then break;  
     findFirst(name, anyFile, dirRec);
     if (dosError<>0) then break;
     findClose(dirRec);
    inc(count);
    if (count and (1 shl 16-1) = 0) then writeln(count);   
  until keypressed;
  writeln(count);
end.