01.12.2006, 14:21
Beitrag #1
|
chris_deus
LVF-Gelegenheitsschreiber
Beiträge: 78
Registriert seit: Aug 2006
2010
2006
en
48565
Deutschland
|
Wie kann man eine While Schleife von außen stoppen?
Hi,
mein Problem ist, dass man While-Schleifen nur von innen(bzw.die Schleifen sich selbst-) stoppen kann. Ist es möglich dies auch von außen zu tuhen?
MfG,
Chris
|
|
|
01.12.2006, 14:22
Beitrag #2
|
|
|
01.12.2006, 14:27
(Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2006 14:32 von chris_deus.)
Beitrag #3
|
chris_deus
LVF-Gelegenheitsschreiber
Beiträge: 78
Registriert seit: Aug 2006
2010
2006
en
48565
Deutschland
|
Wie kann man eine While Schleife von außen stoppen?
Die Variable muss sich dann aber im Inneren der Schleife befinden....das soll ja gerade nicht der Fall sein.
Ich möchte alle Vorgänge innerhalb der Schleife beenden, ohne dass diese zuende ausgeführt werden.
Danach soll die Schleife bzw. Statemachine neu gestartet werden. Dies geschieht ganz einfach mit einer weiteren Schleife außen herum die endlos läuft, bis das ganze Programm beendet wird.
|
|
|
01.12.2006, 14:28
Beitrag #4
|
Joschi
LVF-Wiedereinsteiger
Beiträge: 9
Registriert seit: Nov 2006
2011
2006
DE
83624
Deutschland
|
Wie kann man eine While Schleife von außen stoppen?
' schrieb:Hi,
mein Problem ist, dass man While-Schleifen nur von innen(bzw.die Schleifen sich selbst-) stoppen kann. Ist es möglich dies auch von außen zu tuhen?
MfG,
Chris
Hallo Chris,
Kannst du "von außen stoppen" näher definieren, das erleichtert das helfen.
Joschi
|
|
|
01.12.2006, 14:36
Beitrag #5
|
|
|
01.12.2006, 14:53
Beitrag #6
|
Mr.T
LVF-SeniorMod
Beiträge: 1.007
Registriert seit: Jun 2005
2009
2005
kA
88400
Deutschland
|
Wie kann man eine While Schleife von außen stoppen?
Hallo!
Du möchtest also die Innere Schleife beenden, egal in welchen Zustand sie sich befindet, wenn in der äusseren Schleife was passiert - richtig?
In diesem Fall würde ich die Programmstruktur überdenken - lass die innere Schleife weg und nimm diese Aufgabe mit in eine Statemachine, die halt iimerwieder den Selben Case ansprigt.
Oder Poste ein aussagekräftigeres VI.
Gruß!
Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
|
|
|
01.12.2006, 15:01
Beitrag #8
|
chris_deus
LVF-Gelegenheitsschreiber
Beiträge: 78
Registriert seit: Aug 2006
2010
2006
en
48565
Deutschland
|
Wie kann man eine While Schleife von außen stoppen?
Die Innere Schleife ist doch meine Statemachine, die bestimmte Subvis ausführt, wenn ich die entsprechenden Knöpfe (Boolesch) drücke.
Diese Subvis können also nurnoch gestoppt werden, wenn ich die ganze Schleife/Statem. stoppe.
Der Stopp der Inneren Schleife käme in meinem Fall aber einem Programmstop gleich. - Deshalb die äußere Schleife, die die Statemachine nach einem "Vollstopp" wieder anschmeißt.
Mit der ganzen Sache möchte ich einfach nur erriechen, dass alle laufenden Subvis sofort stoppen, ohne dass das ganze Programm gestoppt wird.
Falls man einen bereits laufenden Schleifendurchlauf nicht unterbrechen kann, ist mein Poblem ohnehin nicht zu lösen.
|
|
|
01.12.2006, 15:04
Beitrag #9
|
a-sl
LVF-Gelegenheitsschreiber
Beiträge: 51
Registriert seit: Nov 2006
8.2
2005
kA
71034
Deutschland
|
Wie kann man eine While Schleife von außen stoppen?
' schrieb:Die Variable muss sich dann aber im Inneren der Schleife befinden....das soll ja gerade nicht der Fall sein.
eben !
die lokale variable bezieht sich auf einen Button beipielsweise, der ausserhalb der Schleife ist.
Setzt du nun den button, so setzt sich auch die Variable und kann deine Schleife beenden. Das funktioniert 100%ig.
Darüber hinaus ist, je nachdem wie dein konkreter Anwendungsfall ist, eine StateMachine tatsächlich die bessere Lösung.
' schrieb:Falls man einen bereits laufenden Schleifendurchlauf nicht unterbrechen kann, ist mein Poblem ohnehin nicht zu lösen.
Der gerade aktuelle Schleifendurchlauf wird stets zu Ende geführt, weil zu Beginn die Abbruchbedingung nicht erfüllt war.
|
|
|
01.12.2006, 15:10
|
chris_deus
LVF-Gelegenheitsschreiber
Beiträge: 78
Registriert seit: Aug 2006
2010
2006
en
48565
Deutschland
|
Wie kann man eine While Schleife von außen stoppen?
Wenn ich das richtig verstanden habe, ist eine Statemachine eine Endlosschleife, die eine Casestruktur abarbeitet.
Falls das richtig ist, kann man eine Statemachine also nicht Stoppen während sie einen Schleifendurchlauf durchführt, sonder erst im kommenden Durchlauf wenn die Schleifenbedingung auf False gesetzt werden kann.
Ich wollte einfach nur einen Abbruchbutton für mein Programm haben, der alle laufenden Prozesse stoppt, aber das Programm nicht beendet.
Falls es da keine Lösung gibt, muss sich der zukünftige Benutzer meines Progs. eben genau überlegen auf welche Knöpfe er drückt^^
MfG,
Chris
|
|
|
| |