jak spakować i usunąć pliki

0

no <ort>właśni </ort><ort>pisze </ort>program który nalpierw pakuje pliki a następnie <ort>jes </ort>usuwa. Pliki są wyszukiwane przez program na dysku a następnie mają być spakowane przez zip forge , potem usunięte <ort>na razie </ort>napisałem coś takiego :

procedure TFSzukaj.szukaj(pattern, dir : string);
var
   sr : TSearchRec;
   name : string;
begin
     if dir[length(dir)] <> '' then
         dir := dir + '';
     if findFirst(dir + '*.*', faAnyFile, sr) <> 0 then
        exit;
     while findNext(sr) = 0 do
     begin
          if not inProgress then exit;
          name := lowercase(sr.Name);
          if ((sr.Attr and faDirectory) <> 0) and
             (name <> '..') then
               szukaj(pattern, dir + name + '')
          else if compareStrWithMask(name, pattern) then
               ListBox1.Items.Add(dir + sr.Name);
          Application.ProcessMessages;
     end;

to wyszukuje pliki i dodaje je do listbox1.
I tu właśnie moje kombinacje które niestety <ort>niechodzią </ort>:(

procedure TFSzukaj.Button1Click(Sender: TObject);
var
  sr : TSearchRec;
  fileName : String;
begin
 if inProgress then
     begin
          inProgress := false;
         Button1.Caption := 'Usuń smieci';
     end
     else if (ePattern.Text = '') or
             (eStartDir.Text = '') then exit
     else
     begin
          inProgress := true;
          Button1.Caption := 'Trwa usuwanie !!!';
          ListBox1.Clear;
          szukaj(lowercase(ePattern.Text),
                 lowercase(eStartDir.Text));
          inProgress := false;
          button1.Caption := 'Usuń smieci';
          ShowMessage('Liczba usuniętych plików: ' +
                       IntToStr(ListBox1.Items.Count));
                       button1.Enabled:=False;
     if  kopia_z.Checked then
     begin
    fileName :=ListBox1.Items.Text;
     ShowMessage (fileName);
     pakuj.OpenArchive; //(pakuj -- zip forge)
     pakuj.AddFiles(fileName); //(pakuj -- zip forge)
     pakuj.AddFiles; //(pakuj -- zip forge)
     pakuj.CloseArchive; //(pakuj -- zip forge)
     end;

no właśnie to powinno i ładuje wszystki nazwy plików do dodawanych
(

pakuj.AddFiles(fileName);

)tylko problem w tym że muszą być one dodawane pojedynczo z tego listbox1 czyli 1 linia a następnie druga i tak dalej (pakuj.AddFiles(fileName[1lini]);
pakuj.AddFiles(fileName[2 lini])

) aa i najważniejsze <ort>niewiadomo </ort>ile będzie lini ponieważ jest to zależne od ilości znalezionych plików, jak to zrobić prosze o pomoc :]
0
for i:=0 to ListBox1.Count-1 do begin
pakuj.AddFile(ListBox1.Items[i]); //<- zakładając, że funkcja AddFile dodaje plik o podanej nazwie do archiwum
// Co tam jeszcze dusza zapragnie z tym robić
end;

I po strachu...

0

Polecam ZLib+Jedi's Zlib Multi File

0

wszystko jest ok thx teraz mam problem z usunięciem tych plików :] jak je usunąć ???? , konkretnie mi chodzi o usunięcie plików *.tmp które niezawsze sie dają usunąć zrobiłem to tak DeleteFile(fileName); ale niechodzi chociaŻ na innych rozszeżeniach chodzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1