procedure findall(disk,path: String; var fileresult: Tstrings); var fpath,s: String; fs: TsearchRec; begin fpath:=disk+path+'\*.*'; if FindFirst(fpath,faAnyFile,fs)=0 then begin if (fs.Name<>'.')and(fs.Name<>'..') then if (fs.Attr and faDirectory)=faDirectory then findall(disk,path+'\'+fs.Name,fileresult) else fileresult.add(disk+strpas(strupper(pchar(path)))+'\'+strpas(strupper(pchar(fs.Name)))+'('+inttostr(fs.Size)+')'); while findnext(fs)=0 do begin if (fs.Name<>'.')and(fs.Name<>'..') then if (fs.Attr and faDirectory)=faDirectory then Findall(disk,path+'\'+fs.Name,fileresult) else begin fileresult.add(disk+path+'\'+strpas(strupper(pchar(fs.Name)))+'('+inttostr(fs.Size)+')'); end; end; end; Findclose(fs); end;