13-11-2017, Saat: 18:13
(Son Düzenleme: 13-11-2017, Saat: 18:20, Düzenleyen: yhackup.
Sebep: kodda düzenleme
)
Merhabalar,
Köşede bulunsun lazım olur
Exe'nin çalıştığı klasördeki dosya ve klasörü zip'ler.
Köşede bulunsun lazım olur

Exe'nin çalıştığı klasördeki dosya ve klasörü zip'ler.
uses
System.IOUtils, System.Zip;
var
Zip: TZipFile;
Path : String;
SR : TSearchRec;
LFile: string;
LZFile: string;
LPath: string;
begin
Zip := TZipFile.Create;
try
Zip.OnProgress := ZipOnProgress;
Zip.Open(ZipName, zmWrite);
LPath := System.SysUtils.IncludeTrailingPathDelimiter(ExtractFileDir (Application.ExeName));
for LFile in TDirectory.GetFiles(ExtractFileDir (Application.ExeName), '*', TSearchOption.soAllDirectories) do
begin
{$IFDEF MSWINDOWS}
LZFile := StringReplace(Copy(LFile, Length(LPath) + 1, Length(LFile)), '\', '/', [rfReplaceAll]);
{$ELSE}
LZFile := Copy(LFile, Length(LPath) + 1, Length(LFile));
{$ENDIF MSWINDOWS}
if (LZFile <> ZipName) and (LZFile <> ExtractFileName(Application.ExeName)) then
begin
Zip.Add(LFile, LZFile);
Memo1.Lines.Add('Arşivleniyor.. '+ LFile);
Application.ProcessMessages;
end;
end;
finally
Zip.Free;
end;
end;
procedure ZipOnProgress(Sender: TObject; FileName:String; Heder: TzipHeader;Position: Int64);
begin
Label1.Caption := inttostr(Position);
end;

