Hallo,
Ich arbeite gerade an einem Programm, welches Bilder auf einen Server per
FTP(mit
INDY-Komponenten) hochläd!
Leider schaffe ich es nicht, eine "Abbruch"-Funktion einzubauen, weil dann immer eine Fehlermeldung kommt!
Da das Programm egtl. nur ich selbst benutze, wollte ich es so lösen:
Immer 3 Bilder hochladen
Dann nach fragen ob weiter gemacht werden soll oder nicht
Dann weiter machen oder nicht
Hier der Code:
Delphi-Quellcode:
procedure upl;
var
i,co:integer;
begin
i:=0;
co:=0;
uploadfrage:=1;
//UPLFR: 1=Ja 2=Nein(=Abort) 3=Immer Ja
for i:= 0
to Listbox1.Items.count - 1
do
begin
if co=3
then
begin
uploadfrage:=5;
// uploadfrage <> 1 o. 3 => Stop!
logform.Memo1.Lines.Add(timetostr(now)+'
: Performing abort request');
groupbox1.Show;
case uploadfrage
of
1:
begin
co:=0;
uploadfrage:=1;
end;
2: idftp1.Disconnect();
3:
begin
co:=4;
uploadfrage:=3;
end;
4: idftp1.Disconnect();
end;
//bilder werden nacheinander durchgegangen und dann hochgeladen... Logfile wird mit daten gefüttert
if (uploadfrage=1)
or (uploadfrage=3)
then
begin
status_lbl.Caption:='
Uploading '+inttostr(i+1)+'
of '+inttostr(listbox1.Items.Count); logform.Memo1.Lines.Add('
Uploading '+extractfilename(listbox1.Items[i]));
idftp1.Put(listbox1.Items[i],ExtractFileName(listbox1.Items[i]),false);
urlform.Memo1.Lines.Add(remoteurl+ExtractFileName(listbox1.Items[i]));
logform.Memo1.Lines.Add(timetostr(now)+'
: Added URL:'+ remoteurl+ExtractFileName(listbox1.Items[i]));
inc(co);
end;
end;
end;
Es wird gefragt, ob der Upload fortgesetzt werden soll, dabei bedeutet 1=Ja 2=Nein 3=immer Ja(also alle einfach).
Nur wenn er mir die Frage stellt läd er einfach weiter hoch ohne zu stoppen!
Wo ist der Fehler?
mfg
Ford