Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno AbUnZipper přes komponentu Abbrevia (Delphi)

Zdravím, dotaz.

Takto rozbalim z archivu zip soubor čti.txt na disk F a načtu bo komponenty memo

procedure TForm1.Button1Click(Sender: TObject);
begin
AbUnZipper1.BaseDirectory := 'F:\';
AbUnZipper1.FileName := 'F:\Test.zip' ;
AbUnZipper1.Password := 'heslo' ;
AbUnZipper1.ExtractFiles('čti.txt') ;
Memo1.Lines.LoadFromFile('F:\čti.txt');
ShowMessage('Done.') ;
end;

Je nějaky zpusob jak do dostat přimo do komponenty aníž by se rozbalil na disk?

Předmět Autor Datum
Mělo by to být možné - Abbrevia by měla podporovat ukladani a načitani ze streamu. Pokud použiješ TM…
Jan Fiala 16.09.2013 08:26
Jan Fiala
No tak si s tým hrají už druhy den :.( Přdat data do archivu umim. Vytahnout je s archivu take umím…
H.H 17.09.2013 17:41
H.H
Skús pred načítaním streamu nastaviť pozíciu na začiatok: MyMemory.Position := 0; Memo1.Lines.LoadF…
pme 17.09.2013 17:54
pme
Dik funguje ;-) poslední
H.H 17.09.2013 18:13
H.H

No tak si s tým hrají už druhy den :.(

Přdat data do archivu umim.
Vytahnout je s archivu take umím.

Takto načtu soubor do streamu a pak uložim do souboru.

var
mymemory : TMemoryStream;
begin
mymemory := TMemoryStream.Create;
try
mymemory.LoadFromFile('F:\test.txt');
AbZipper1 := TAbZipper.Create(nil);
AbZipper1.OpenArchive('F:\Test.zip');
AbZipper1.AddFromStream('test1.txt', mymemory);
finally
FreeAndNil(mymemory);
end;

Ale dostat ho s archivu ven do streamu se nedaří

var
mymemory : TMemoryStream;
begin
mymemory := TMemoryStream.Create;
AbUnZipper1.FileName := 'F:\Test.zip' ;
AbUnZipper1.ExtractToStream('test.txt', mymemory);
Memo1.Lines.LoadFromStream(mymemory);
end;

Chybu to žadnou nevyhazuje ale memo je prazdne.

Zpět do poradny Odpovědět na původní otázku Nahoru