В каком-то ZIP-файле у меня есть файл head.txt. Я хочу скопировать текст из этого файла в TMemo в мою форму. Вот мой код:Delphi - Текст из файла в ZIP на памятку
procedure TformMain.LoadProject(InputFileName: string);
var
MS: TMemoryStream;
zip: TZipForge;
txt: string;
begin
MS := TMemoryStream.Create;
try
zip := TZipForge.Create(nil);
try
with zip do begin
FileName := InputFileName;
OpenArchive(fmOpenReadWrite);
ExtractToStream('head.txt', MS);
CloseArchive;
end;
finally
zip.Free;
end;
MS.Seek(0, soFromBeginning);
SetLength(txt, MS.Size);
MS.Write(txt[1], MS.Size);
finally
MS.Free;
end;
if Length(txt) > 0 then Memo1.Lines.Text := txt;
end;
Но это не сработает. В head.txt в моем ZIP файле:
123456
abcdef
xxxx
и результат в Memo является:
auto-suggest dropdow
Спасибо за помощь!
Почему вы пишете содержимое переменной текстовый в ваш поток памяти? Разве вам не нужно читать содержимое из потока памяти в переменную txt? – SilverWarior
@SilverWarior: Хороший улов. – MartynA
Просто используйте метод ['ExtractToString'] (http://www.componentace.com/help/zf_guide/extracttostring.htm). – TLama