Einzelnen Beitrag anzeigen

thomasku

Registriert seit: 4. Jan 2009
31 Beiträge
 
#5

Re: Schleife unterbrechen (break)

  Alt 18. Jun 2009, 10:36
Hallo und Danke erstmal an alle!

@freak4fun
Habe im obigen (Post1) Code probiert es in der (1)Schleife bzw in der (2) If-Anw. einzufuegen, jedoch ohne Erfolg.
Alternativ habe ich noch folgendes probiert:
Delphi-Quellcode:
 Variante2
procedure TForm1.Button1Click(Sender: TObject);
Var b,c:Integer;
begin
   For b:=0 to 20000 do
   begin
     Application.ProcessMessages;
     if application.Terminated then
     begin
 // showmessage(inttostr(b));
       break;
     end
     else
     begin
       sleep(50);
        c:=b;
     end;
   end;
   label1.Caption:=inttostr(b);
end;

procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   If Key=VK_RETURN then
     application.Terminate;
end;
leider auch ohne Erfolg.

@DeddyH
Habe noch nie mit Threads gearbeitet, werde es mir mal anschauen (jedoch erst in den Ferien )


@fui-tak
Danke für die Prozedur, kannte ich vorher noch nicht. Deine gepostete Version ging bei mir leider auch nicht. Ich habe als Rückgabewert einen int64 (uint64))bekommen, also keinen Wert aus dem intervall 0-20001.
Allerdings so ging es dann:
Delphi-Quellcode:
 procedure TForm1.Button1Click(Sender: TObject);
Var b,c:Integer;
begin
   For b:=0 to 20000 do
   begin
     application.processmessages;
     if getasynckeystate(VK_RETURN)<>0 then
       break
     else
     begin
       c:=b;
       sleep(50);
     end;
   end;
   label1.Caption:=inttostr(c);
end;
Mfg thomas
  Mit Zitat antworten Zitat