0/5 (2 avis)
Vue 5 998 fois - Téléchargée 546 fois
var sr : TSearchRec; trouve : integer; begin listbox1.Clear; trouve := FindFirst(Edit1.Text +'\*.*', faAnyFile, sr); while trouve = 0 do begin ListBox1.Items.Add(sr.Name); trouve := FindNext(sr); end; FindClose(sr); end;
27 juil. 2005 à 16:55
var FicSTL : TStringList;
procedure EnumFiles(Dir,Mask:string);
var AttrWord : integer;
Pntr : string;
Recherche : TSearchRec;
begin
AttrWord:=faReadOnly or faArchive;
ChDir(Dir);
FicSTL.Clear;
while Mask<>'' do
begin
//PREND LE PREMIER MASQUE
if Pos(';',Mask)=0 then Pntr:=Mask
else Pntr:=Copy(Mask,1,Pos(';',Mask)-1);
//CHERCHE LES FICHIERS REPONDANT AU MASQUE
if FindFirst(Pntr, AttrWord, Recherche)=0 then
begin
repeat
FicSTL.Add(ExtractFileName(Recherche.Name));
until FindNext(Recherche)<>0;
sysutils.FindClose(Recherche);
end;
//PASSE AU FILTRE SUIVANT S'IL Y A
if Pos(';',Mask)=0 then Break
else Mask:=Copy(Mask,Pos(';',Mask)+1,Length(Mask));
end;
end;
initialization
FicSTL:=TStringList.Create;
finalization
FicSTL.Free;
end.
Ca gère les masques. Alors on pourra faire :
EnumFiles('c:\dossier\','*.exe;*.dll');
ListBox1.Items.Clear;
ListBox1.Items.AddStrings(FicSTL);
Si je passe par FicSTL, c'est juste que c'est une variable de passage utile dans mon N°32533.
Ce bout de code est tiré de la VCL, remanié pour manier des STRING au lieu des PCHAR.
30 janv. 2004 à 14:33
cette source est très bien et très complète, elle m'a bien aidée et j'en suis contente
Thanks for great source!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.