Dylemat z komponentem ZipForge

0

Witam wszystkich!

Mam pewien problem, a raczej dylemat z komponentem ZipForge. Wiem jak spakować jeden plik do archowum, natomiast chciałbym spakować kilka plików do jednego archiwum, i tutaj są schody. Dodam, że pętla for chyba się nie przyda, bo teoretycznie będzie mi pakowała plik do osobnego archiwum o tej samej nazwie plików, więc koniec koncow bede miec archiwum z ostatnim plikiem na liscie (sciezki plikow znajduja sie na komponencie ListBox). Jesli to cos da, to zamieszczam kod, ktory pakuje mi wspomniany jeden plik:

ZipForge1.BaseDir := ExtractFileDir(Edit1.text); 
        ZipForge1.SpanningOptions.VolumeSize := vsAutoDetect; 
        ZipForge1.SpanningMode := smSpanning; 
        ZipForge1.FileName := 'C:\Plik.zip'; 
        ZipForge1.OpenArchive(fmCreate); 
        ZipForge1.AddFiles(Plik.Text); 
        ZipForge1.CloseArchive;

PS. Chcę tylko delikatnie zaznaczyć, że na IE 8 nie można założyć tutaj tematu ani na żaden odpowiedzieć a elementy animowanego menu z działami danego forum uciekają jak najedzie się na nie myszką, odkąd forum zmieniło design.

0

OK już sam do tego doszedłem. W razie gdyby komuś miało się to przydać, to podrzucam kod. A właśnie, na formie znajduje się komponent Edit o nazwie Plik, button o nazwie Button1 i ListBox (w liście są podane ścieżki z plikami) o nazwie Lista oraz ZipForge o nazwie ZF. Oto kod dla button1:

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
        ZF.FileName := 'C:\Plik.zip'; //ścieżka z wynikowym archiwum
        ZF.OpenArchive(fmCreate);
        ZF.BaseDir := ExtractFileDir(plik.Text);
          for i := 0 to lista.count-1 do //tyle razy ile jest itemow na liscie rob:
          begin
            ZF.AddFiles(Lista.Items.Strings[i]);
          end;
        ZF.SpanningOptions.VolumeSize := vsAutoDetect; //nie wiem czy to jest potrzebne
        ZF.CloseArchive;                               //ale lepiej niech bedzie :p
        ShowMessage('Archiwum stworzono pomyślnie');
end;
0

Nie znam tego komponentu, ale jest inny działający, ktory nazywa się TZip i
jego demo, które wrzuciłem pod poniższy adres. Jego wadą jest to, że musi
mieć do działania dwie dllki. Jednak z tego co widzę ze spakowaniem plików
sobie poradził: http://www.speedyshare.com/files/25188543/zip_demo.rar

0

Spokojnie, już mam :) Mimo to wole ZipForge, bo nie potrzeba mu zadnej DLLki i jest dosc wygodny w obsludze :) Tylko po instalacji denerwuje mnie ten jego komunikat przy odpalaniu delphi, ze to wersja personal bla bla bla, ale przezyje :p Dzięki za info anyway ;)

0

Pozostaje tylko spróbować patchowania vcl. Jednak nie jest to legalne,
a niektóre nowsze komponenty są lepiej zabezpieczone. Może gdzieś w
czeluściach intetentu ostały się jakieś tutoriale. Bo w najlatwiejszych z
przypadkow robiło się to tak, że patchowało się exeka z komponentem
tak aby nie pokazywał naga, a później - wyszukiwalo się podobny ciąg
bajtów w pliku dcu komponentu i podmieniało jakimśHex Edytorem tak
aby na przykład skok się nigdy nie wykonał. W taki właśnie sposób jak
pamiętam zostal "lekko poprawiony" komponent użyty na początku lat
2000, w programie AntyDialerowym napisanym na konkurs dla tepsy i
program ten zwyciężył, mimo że łamał zasady, bo miał być napsiany w
legalnym środowisku z użyciem legalnie posiadanych składników, była
nawet specjalana strona która to opisywała, ale nie pamiętam nazwy.
Także to tylko wzmianka w celach edukacyjnych ;)_Nie łam licencji :)

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