Использовал вот такой код
Код:
procedure TForm1.Button11Click(Sender: TObject);
var TempPath,TempFileName: String;
i: Integer;
begin
if SaveDialog3.Execute then begin
SetLength(TempPath,MAX_PATH);
i:=GetTempPath(Length(TempPath),PChar(TempPath));
SetLength(TempPath,i);
SetLength(TempFileName,MAX_PATH);
i:=GetTempFileName(PChar(TempPath),'myf',0,PChar(TempFileName));
SetLength(TempFileName,i);
TempFileName:=TempFileName+'.txt';
try
Memo3.Lines.SaveToFile(TempFileName);
except
ShowMessage('Ошибка выгрузки из memo');
Exit;
end;
try
try
ZipForge1.FileName:=Savedialog3.FileName;
ZipForge1.OpenArchive(fmcreate);
ZipForge1.AddFiles(TempFileName);
ZipForge1.CloseArchive();
except
ShowMessage('Ошибка создания архива');
Exit;
end;
finally
DeleteFile(TempFileName);
end;
end;
end;
С первого взгляда все получилось, щелкаю кнопочку, появляется диалог сохранения, указываю путь, все создается по указанному пути zip файл, но вот содержимое запрятанно в кучу папок, и имя содержимого не то что я указа в savedialog и расширенне тоже не то, открыл содержимое блокнотом, содержимое из моего memo
подробнее на скрине
в savedialog я указал имя 963, архив создался 963.zip что верно, но дальше пошла куча папок и содержимое не с тем именем и расширением, а должно было быть в корне 963.zip и зваться 963.txt с содержимым из мемо