Hola GerTorresM.
Cita:
Empezado por GerTorresM
...
estoy utilizando código que encontré en la red de esta forma...
|
Juro que pensé que se trataba de
Malbolge
Cita:
Empezado por GerTorresM
...deseo recibir un TDirectoryListBox y devolver en forma ordenada por fecha los archivos contenidos en el directorio...
|
Según entiendo, queres realizar un procedimiento que recibe como parámetros un
TDirectoryListBox A y un
TListBox B y que devuelve como valor de respuesta una lista compuesta por
fecha + '|' + ruta + nombre, ordenada de forma ascendente por fecha, en el
TListBox B.
Entonces, y si no interpreté mal la consigna, creo que se puede hacer de forma mucho mas simple:
Código Delphi
[-]
procedure SortFilesByAge(DLBox: TDirectoryListBox; LBox: TListBox);
var
sr: TSearchRec;
dir: string;
ageName: string;
begin
LBox.Clear;
dir:= IncludeTrailingPathDelimiter(DLBox.Directory);
if FindFirst(dir+'*.*',faAnyFile, sr) = 0 then
begin
repeat
if (sr.Attr and faArchive) = faArchive then
begin
ageName:= FormatDateTime('yyyymmdd hhmmss|',
FileDateToDateTime(FileAge(dir + sr.Name))) + dir + sr.Name;
LBox.Items.Add(ageName);
end;
until FindNext(SR) <> 0;
FindClose(SR);
end;
LBox.Sorted:= True;
end;
Ejemplo de llamada:
Código Delphi
[-]
...
begin
SortFilesByAge(DirectoryListBox1, ListBox1);
...
Saludos