Ver Mensaje Individual
  #1  
Antiguo 11-10-2014
Avatar de GerTorresM
GerTorresM GerTorresM is offline
Miembro
 
Registrado: nov 2005
Ubicación: Tunja - Boyacá
Posts: 210
Reputación: 19
GerTorresM Va por buen camino
Ordenar por fecha archivos de TFileListBox

Hola a tod@s


bien hoy me ocupa intentar entregar el contenido de un TFileListBox a un ListBox, estoy lo hago puesto que el TFileListBox es ReadOnly y no me permito organizar los archivos de forma diferente a la alfabética para el caso estoy utilizando código que encontré en la red de esta forma

primera función

Código Delphi [-]
function FileDateString( const filename: String ): String;
begin
  result :=
    FormatDateTime('yyyymmdd hhmmss|',
                   FileDateToDateTime( FileAge( filename )))
end;

en orden de ideas me va ayudar a obtener los datos de la fecha y hora del archivo

segunda función ahí esta mi gran problema

Código Delphi [-]

procedure getListadoArchivo (pListDirectory : TDirectoryListBox;  pListBox : TListBox);
var _listadoArchivos : TFileListBox;
    _listadoOrdenadoArchivos : TStringList;
    _i_local : Integer;
begin
  try
    _listadoOrdenadoArchivos:= nil;
    _listadoArchivos:= nil;
    _listadoArchivos:= TFileListBox.Create(TComponent(pListDirectory.Parent));
    _listadoArchivos.Visible:= False;
    _listadoArchivos.Directory:= pListDirectory.Directory;
    for _i_local:= 0 to _listadoArchivos.Count -1 do
      begin
        _listadoOrdenadoArchivos.add(
          FileDateString(pListDirectory.Directory + '\' + _listadoArchivos.items[_i_local]));
        _listadoOrdenadoArchivos.Sorted:= True;
      end;
    pListBox.Items.Assign(_listadoOrdenadoArchivos);
  finally
    _listadoOrdenadoArchivos.Free;
    _listadoArchivos.Free;
  end;
end;

bien en orden de ideas deseo recibir un TDirectoryListBox y devolver en forma ordenada por fecha los archivos contenidos en el directorio, pero cuando se ejecuta esta línea de código _listadoArchivos.Directory:= pListDirectory.Directory;, se caen las cosas y me envía el siguiente mensaje Control has no parent windows.

la verdad no tengo ni idea que puede ser el error pues en el creador se esta invocando la ventana donde ejecuto el procedimiento _listadoArchivos:= TFileListBox.Create(TComponent(pListDirectory.Parent)); y el evento donde lo estoy invocando es el change del TDirectoryListBox.

Agradezco de antemano la colaboración



gertorresm
colombia
Responder Con Cita