viernes, 15 de enero de 2016

ficheros listar directorios carpetas

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

    function ListaArchivos(directorioPadre: string) : TStringList;
    procedure FormCreate(Sender: TObject);



  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ultimo: string;
  tamultimo: integer;

implementation

{$R *.dfm}



//****************************************************************
procedure TForm1.FormCreate(Sender: TObject);
begin
ultimo:='';
end;

//****************************************************************
function TForm1.ListaArchivos(directorioPadre: string) : TStringList;
var
sr: TSearchRec;
begin
  Result := TStringList.Create;
  if FindFirst(directorioPadre + '*', faAnyFile, sr) = 0 then
    repeat

    if (sr.Attr and faDirectory = 0) or (sr.Name <> '.') and (sr.Name <> '..') then
    begin

      if ultimo='' then
      begin
        ultimo:=sr.Name;
        tamultimo:=sr.Size;
      end
      else
      begin

        if sr.Size>tamultimo then
        begin

          DeleteFile(directorioPadre+ultimo);
          ultimo:=sr.Name;
          tamultimo:=sr.Size;
        end;

      end;

    end;

    until FindNext(sr) <> 0;

  FindClose(sr);

end;


//****************************************************************
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin

  ultimo:='';
  ListaArchivos('C:\manual.txt');

  ShowMessage(ultimo +'  ----  '+inttostr(tamultimo));

end;


end.




.