procedure TForm1.Button6Click(Sender: TObject);
var
i: Integer;
ZipFilename:
String;
VersionTXT: TStringList;
begin
SaveDialog1.Filter:='
SelbstAusführbare Datei (*.exe)|*.exe|Alle Dateien (*.*)|*.*';
if SaveDialog1.Execute
then //die spätere EXE-Datei
begin
SaveDialog1.FileName:=ChangeFileExt(SaveDialog1.FileName, '
.exe');
//falls die Dateiendung nicht .exe is, wird sie dahingehend geändert
ZipFilename:=ChangeFileExt(SaveDialog1.FileName, '
.zip');
//Der Pfad der zip-datei
if UseOwnDLLPath = true
then //der Pfad der benötigten DLLs um mit DelphiZip das Zip zu erstellen
ZipMaster1.DLLDirectory:=Form2.Edit1.Text
//in Form2 is der Pfad der "eigenen" DLLs
else ZipMaster1.DLLDirectory:=ExtractFileDir(paramstr(0));
//wenn kein eigener Pfad, dann liegen sie im Ordner, in dem mein Programm liegt
ZipMaster1.ZipFileName:=ZipFilename;
//ZipMaster1 ist die Kompo von DelphiZip; hier wird -wie man sehen kann^^- der Dateipfad zugwiesen
for i:= 0
to ListBox1.Items.Count-1
do
ZipMaster1.FSpecArgs.Add(ListBox1.Items[i]);
// in der ListBox sind alle Dateien aufgelistet, die ins Zip müssen
ZipMaster1.Add;
//die dateien werden hinzugefügt
if UseOwnDumpFile = true
then //wenn eigene Dump-EXE (an die die dateien ran sollen)
SetFileInDump(Form2.Edit3.Text, ZipFilename, SaveDialog1.FileName)
//dann steht der pfad in der Form2 und die Zip-Datei wird an SaveDialog1.FileName angehangen
else SetFileInDump(DefaultDumpFile, ZipFilename, SaveDialog1.FileName);
// wenn nicht, liegt die Dump-EXE wieder im Ordner meinen programms und die Zip-Datei wird an SaveDialog1.FileName angehangen
end;
if UseFTP = true
then // wenn die Exe-Datei auf nen FTP soll, wird sie jetzt hochgeladen
begin
IdFTP1.Host:=LabeledEdit1.Text;
IdFTP1.Username:=LabeledEdit2.Text;
IdFTP1.Password:=LabeledEdit3.Text;
IdFTP1.Port:=StrToInt(Form2.LabeledEdit5.Text);
IdFTP1.Connect;
IdFTP1.ChangeDir(LabeledEdit4.Text);
IdFTP1.Noop;
IdFTP1.Put(SaveDialog1.FileName, ExtractFileName(SaveDialog1.FileName), true);
IdFTP1.Put(ExtractFilepath(SaveDialog1.FileName) + '
version.txt', ExtractFileName(ExtractFilepath(SaveDialog1.FileName) + '
version.txt'), true);
IdFTP1.Disconnect;
end;
DeleteFile(ZipFilename);
//das nicht mehr benötigte Zip wird gelöscht
end;