procedure TForm1.GetAllFiles3(MainPath: String);var
nI: Integer;
SearchRec: TSearchRec;
sFileName: String;
sMainpath: String;
beginif MainPath[Length(MainPath)]='\' then
  sMainpath:=MainPath
else
  sMainpath:=MainPath+'\';
FindFirst(sMainPath+'*.*',faAnyFile,SearchRec);
if SearchRec.Name<>'' then
begin
  sFileName:=UpperCase(SearchRec.Name);
  if (Pos('.ZIP',sFileName)=Length(sFileName)-3) then
  begin
    Listbox1.Items.Add(sMainPath+SearchRec.Name);
    showmessage(smainpath+searchrec.Name);
  end;
  if (SearchRec.Attr and faDirectory)=faDirectory then
    if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
      GetAllFiles(sMainPath+SearchRec.Name);
  while (FindNext(SearchRec)=0) do
  begin
    sFileName:=UpperCase(SearchRec.Name);
    if (Pos('.ZIP',sFileName)=Length(sFileName)-3) then
    begin
    listbox1.Items.Add(sMainPath+SearchRec.Name);
    showmessage(smainpath+searchrec.Name);
    end;
    if (SearchRec.Attr and faDirectory)=faDirectory then
      if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
        GetAllFiles(sMainPath+SearchRec.Name);
  end;
end;end;
procedure TForm1.Button1Click(Sender: TObject);begin
    GetAllFiles3('c:\');
end;