AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dauerschleife unterbrechen

Ein Thema von vip11 · begonnen am 23. Apr 2009 · letzter Beitrag vom 23. Apr 2009
Antwort Antwort
vip11

Registriert seit: 22. Jul 2008
32 Beiträge
 
#1

Dauerschleife unterbrechen

  Alt 23. Apr 2009, 20:14
hallo

ich hab nen problem:
ich hab nen programm geschrieben das immer wieder die selbe aktion ausführen soll wenn man einen button drückt und damit aufhören soll wenn ich auf einen anderen drück. nur hab ich das problem das das programm hängt wenn ich den start button klick.
Delphi-Quellcode:
procedure TForm1.klicker;
begin
while onoff > 0 do
begin
//...//
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
onoff := 1;
klicker;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
onoff := 0;
end;
mfg vip11

p.s. hab sufu benutzt aber nichts gefunden

[edit=mkinzler]Code-Tag durch Delphi-Tag ersetzt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Dauerschleife unterbrechen

  Alt 23. Apr 2009, 20:17
Verwende einen Timer
Markus Kinzler
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Dauerschleife unterbrechen

  Alt 23. Apr 2009, 20:18
Delphi-Quellcode:
procedure TForm1.klicker;
begin
  while onoff > 0 do
  begin
    //...//
    Application.ProcessMessages;
  end;
end;
Application.ProcessMessages ist wichtig, um den anderen Bestandteilen der Benutzeroberfläche auch etwas von der Rechenzeit abzugeben. Dies ermöglicht es dem zweiten Button, den Mausklick zu erhalten.

Cheers,
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Dauerschleife unterbrechen

  Alt 23. Apr 2009, 20:20
Aber auch mit Application.ProcessMessages; wäre die Lösung recht suboptimal
Markus Kinzler
  Mit Zitat antworten Zitat
vip11

Registriert seit: 22. Jul 2008
32 Beiträge
 
#5

Re: Dauerschleife unterbrechen

  Alt 23. Apr 2009, 20:22
ok thx für die schnellen antworten werde es sofort testen

edit:mit dem Application.ProcessMessages; hats geklappt

edit2: weiß vlt. noch einer wie ich die pixelzahl des bildschirms scan?
  Mit Zitat antworten Zitat
Benutzerbild von Forlan
Forlan

Registriert seit: 17. Feb 2008
Ort: Herford
265 Beiträge
 
Delphi 2007 Architect
 
#6

Re: Dauerschleife unterbrechen

  Alt 23. Apr 2009, 23:20
Neue Frage = neuer Thread
Marcel
マルセル
www.youtube.com/beethoven1990
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz