Dans mon cas il faudrait que les fichiers soient trouvés dans l'ordre de création (ou de dernière modification), mais je ne sais pas si cela est fait pas défaut, ou si l'ordre des fichiers retourner par FindFirst/FindNext est totalement aléatoire.
Merci d'avance a ceux qui auront une reponse a proposer.
sp40
Messages postés1284Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 11 févr. 2009 à 12:04
Salut Bernie,
Essaie ce code (ici, il remplit un composant Listbox (LB) avec la liste triée par ordre de création)
procedure TForm1.Chercher(Sender: TObject);
procedure AddInList(ASL : TStringList; ARech : TSearchRec);
begin
if ARech.Attr <> faDirectory
then ASL.Add(DateTimeToStr(FileDateToDateTime(ARech.Time)) +'|'+ ARech.Name);
end;
var
{--------------------------------}
LSR_Rech : TSearchRec;
{--------------------------------}
LSL_Rech : TStringList;
{--------------------------------}
i : Integer;
{--------------------------------}
LS_LongName : String;
{--------------------------------}
begin
LSL_Rech := TStringList.Create;
if FindFirst({Nom du répertoire} +'\*.*', faAnyFile, LSR_Rech) = 0 then begin
AddInList(LSL_Rech, LSR_Rech);
while FindNext(LSR_Rech) = 0
do AddInList(LSL_Rech, LSR_Rech);
end;
FindClose(LSR_Rech);
LSL_Rech.Sort;
For i := 0 to LSL_Rech.Count - 1 do begin
LS_LongName := LSL_Rech.Strings[i];
LB.Items.Add(Copy(LS_LongName, Pos('|', LS_LongName) + 1, Length(LS_LongName)));
end;
LSL_Rech.Free;
end;
sp40
Messages postés1284Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 13 févr. 2009 à 18:15
@Cari
Tu te permets bien...
Désolé, j'avais pas vu ton snippet la dernière fois...
Eh ! mais il n'y est plus ! Je voulais le récupérer pour m'updater.
T'avais la même erreur ?