Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi hilfe!repeat-schleife mit abbruchfunktion (https://www.delphipraxis.net/54739-hilfe-repeat-schleife-mit-abbruchfunktion.html)

skreap 10. Okt 2005 19:41


hilfe!repeat-schleife mit abbruchfunktion
 
Hi Leute!
ich bin mitlerweile echt verzeweifelt.... warscheinlich bin ich einfach zu doof!!! :wall: :wall: :wall: !!!!
Follgendes Problem:

ich will ein kleines Program schreiben, dass eine Endlosschleife produziert die jedoch abbgerbochen werden soll wenn man button2 drückt... ich hatte schon fast ne lösung aber immer wenn ichs ausgeführt hab ist prozess bei 100% und es tut sich absolut nichts !
könnte mir jemand erklären wies geht mit der Schleife wenns geht ganz genau weil ich immernochnicht weiß obs jetzt:

Delphi-Quellcode:
repeat
     //net send 192.168.0.1 lala;
heißt oder
Delphi-Quellcode:
repeat
     ... net send 192.168.0.1 lala;


vielen dank im voraus ....
skreap

Achtzig 10. Okt 2005 19:50

Re: hilfe!repeat-schleife mit abbruchfunktion
 
Vieleicht so:

Type
TForm1 = Class(TForm)
Private
FClicked :Boolean;
{...}
End;


Procedure TForm1.Button2Click(Sender:TObject);
Begin
FClicked:=True;
End;

Procedure TForm1.Schleifenfunktion;
Begin
Repeat
{ Irgendwas }
Application.ProcessMessages;
Until FClicked;
End;

PierreB 10. Okt 2005 19:51

Re: hilfe!repeat-schleife mit abbruchfunktion
 
Ich weiß nicht welchen produktiven Sinn es haben sollen in einer Schleife beliebig oft Net Send Nachrichten zu verschicken !?!?

Generell müsste es so gehen:
Delphi-Quellcode:
var
test : Boolean;

//Jetzt die Schleife bei klick auf Button1
procedure form1.Button2click(Sender : TObject);
begin
repeat
 //Dein Net Send Zeug
until test = true;
end;

//Jetzt bei Klick auf Button2 wirds abgebrochen
procedure form1.Button2click(Sender : TObject);
begin
test := true;
end
Trotzdem weiß ich nicht welchen Sinn dein Programm haben soll. :gruebel:

//Edit: Kleine Veränderung

P.S.: Nicht getestet

geisi 10. Okt 2005 19:55

Re: hilfe!repeat-schleife mit abbruchfunktion
 
Das kann so aber nicht funktionieren, wenn man in einer endlosschleife ist, kann kein button gedrückt werden. ich weiß zwar nicht wie es delphi funktioniert, aber in JAVA macht man das mit einem Thread.

skreap 10. Okt 2005 20:05

Re: hilfe!repeat-schleife mit abbruchfunktion
 
einen tieferen Sinn hat die Sache eigentlich auch nicht...will nur testen obs geht weil n Freund von mir behauptet hat dass er so zeugs übers inet bekommt und ich das schwer anzweifle!dann wollt ichs wissen obs geht aber ich komm mit der schleife nicht hin !keine Ahnung warum !


werd die Tips mal testen, danke
skreap

Neotracer64 10. Okt 2005 20:09

Re: hilfe!repeat-schleife mit abbruchfunktion
 
Zitat:

wollt nur testen obs geht weil n Freund von mir behauptet hat dass er so zeugs übers inet bekommt und ich das schwer anzweifle!
Warum brauchste fürs Testen eine Schleife ? Und warum in Delphi ? Teste es doch über die Konsole.

Dein Freund sollte mal den Narichtendienst ausschalten wenn er die ganze Zeit solche Messages bekommt.

LoRd-MuldeR 10. Okt 2005 20:13

Re: hilfe!repeat-schleife mit abbruchfunktion
 
Wenn dein Programm in der Schleife hängt, kann es nich mehr auf eingaben reagieren. Die Benutzeroberfläche friert komplett ein!

Nimm doch einen Timer und setzt den Befehl (ohne Schleife) in das OnTimer Event! Kannst den Interval ja ganz klein wählen.

skreap 10. Okt 2005 20:16

Re: hilfe!repeat-schleife mit abbruchfunktion
 
hi, hab ihm den Nachrichtendienst ausgeschaltet...
das problem waren ja nicht die messages sondern dass sie in ner endlosschleife waren und dass bekommt man ja über die Konsole ( cmd ) nicht hin oder ?

skreap

GuenterS 10. Okt 2005 20:16

Re: hilfe!repeat-schleife mit abbruchfunktion
 
Zitat:

Zitat von geisi
Das kann so aber nicht funktionieren, wenn man in einer endlosschleife ist, kann kein button gedrückt werden. ich weiß zwar nicht wie es delphi funktioniert, aber in JAVA macht man das mit einem Thread.


Man macht es in Delphi auch mit Threads, kann es aber mit Application.ProcessMessages mehr oder weniger unsauber lösen.

Neotracer64 10. Okt 2005 20:16

Re: hilfe!repeat-schleife mit abbruchfunktion
 
Zitat:

Wenn dein Programm in der Schleife hängt, kann es nich mehr auf eingaben reagieren. Die Benutzeroberfläche friert komplett ein!
Habe es nicht probiert, aber so wie Achtzig es oben geschrieben hat, sollte es funktionieren: Application.ProcessMessages ist das Stichwort.

//EDIT: hmm irgendwie, gleichzeitig gepostet ;)

Zitat:

das problem waren ja nicht die messages sondern dass sie in ner endlosschleife waren und dass bekommt man ja über die Konsole ( cmd ) nicht hin oder ?
Doch. Mit nem Batch Job. Aber warum die Endlosschleife ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 Uhr.
Seite 1 von 2  1 2      

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