44 פיט - יפלד
ישאר דומע | םיפיטה דומע רנק ודיע תאמ

ךיא עדוי אל ינא לבא ,תונולח לש "םיצבק וא תויקית שופיח"-ה ומכ תינכות תונבל הצור ינא
?הזכ רבד השוע ינא ךיא .חישקה קסידה לכב םיצבק שפחל

יפלדבו FindNext-ו FindFirst תוארקנש תורדהנ תויצקנופ 2 םנשי ,סודל לקספ וברוט ימי זאמ
.FindClose םשב תפסונ היצקנופ הל הפסונ

ןוויכמו הדובעה תא תושועש ...וכו FindFirstFile תומשב API תויצקנופ שי ,סוד לש לקספל דוגינב
.FindClose י"ע םתוא ררחשל םג ךירצ זא ,םיעיבצמב םג רבודמ וישכעש

.הריזחמ איה המו תלבקמ היצקנופ לכ קוידב המ ריבסנ לכ םדוק ואוב
.TSearchRec םשב המושרל הנתשמ רידגהל ךירצש תעדל ךירצ לכ םדוק
:םיאבה תודשה תא הליכמ המושרה

.ץבוקה לש יחכונה ןמזה - Time
.םיתבב ץבוקה לדוג - Size
.(האבה הלבטב םהילע רבסה) ץבוקה ינייפאמ - Attr
.ץבוקה םש - Name
.רבסה ןיא - ExcludeAttr
.ץבוקה לש Handle-ה - FindHandle
.הב תושמתשמ ל"נה תויצקנופהש תונולח לש המושר - FindData

:םיצבק ינייפאמ

.וילע בותכל רשפא יא ,דבלב האירקל ץבוק - faReadOnly
.רתסומ ץבוק - faHidden
.תכרעמ ץבוק - faSysFile
.קסידה לש ירודיסה רפסמה - faVolumeID
.הירפס - faDirectory
.ץבוק לכ לש ןייפאמ - faArchive
.ץבוק ןייפאמ פ"ע אל להנתמ שופיח - faAnyFile

הסינכמ איה םתוא תאצומ איה רשאכו םימיוסמ םיצבק יגוס תשפחמה היצקנופ בותכנ וישכע
.TStringList ךותל םתוא

function FindFiles(FileMask:string;  
                       //The mask of the file (*.* for example)
                   Path:string;
                       // The path to start searching from ...
		  FindInSubDir:boolean;
                       // To search in sub dir 2 ?
                  var FileList: TstringList
                       // The list to put the file in...
                  ) : boolean; //True if any  file was found

 	procedure FindSubFiles(SubDir : string);
	 var
	  FileSeek : TSearchRec;
	  I             :  integer;
	 begin
           I:=findfirst(SubDir+FileMask, faAnyfile, FileSeek);
	   while I=0 do  begin
 	     if (FileSeek.attr and (faVolumeID+faDirectory))=0 then 
                FileList.add ( SubDir +FileSeek.Name);
   	     I:=FindNext(FileSeek);
           end; //while

    	 if FindInSubDir then
	 begin
	   while (I=0)and(FileSeek.name[1]='.') do I:=findNext(FileSeek);
      	   while I=0 do begin
             if ((FileSeek.attr and faDirectory)=faDirectory) then 
		FindSubFile (Concat(SubPath,fileseek.name, '\'); 
                //Recurse
	     I:=FindNext ( fileseek );
           end;   //While 
         end; //If
         
         FindClose(FileSeek);
    end;

begin
  result:=true;
  FindSubFiles(Path);
  if FileList.count=0 then result:=false;
end;