Thema: Delphi Schleife anhalten

Einzelnen Beitrag anzeigen

FordPerfekt

Registriert seit: 16. Nov 2006
20 Beiträge
 
#1

Schleife anhalten

  Alt 16. Aug 2007, 19:21
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
  Mit Zitat antworten Zitat