Wie kommt man aus der Schleife raus?

Anfängerfragen zum Programmieren mit PureBasic.
PB42
Beiträge: 243
Registriert: 13.10.2005 03:21

Wie kommt man aus der Schleife raus?

Beitrag von PB42 »

Hallo,

angenommen, ein Programm durchläuft eine Endlosschleife, dann kann man bei Programmen, die mit Openscreen arbeiten, jederzeit mit "If keyPushed" aus der Schleife aussteigen, aber wie macht man das bei Programmen, die mit openWindow() arbeiten?

PB42
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

gar nicht anders o_O? Eine Schleife verlässt man mit Break
Bild
PB42
Beiträge: 243
Registriert: 13.10.2005 03:21

Beitrag von PB42 »

Danke, war mir entfallen.

PB42
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

meiner meinung nach verläßt man ne schleife mit ner abbruchbedingung...

ich finde endlosschleifen nicht gut, und 'Break' ist imho keine wirkliche lösung...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

könntest du die Aussagen begründen?
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

nunja.. ist vielleicht auch eher ne stil-frage..

aber wenn ich Break vermeide, dann gewöhne ich mir an,
immer code so zu proggen daß ich beachte, was danach kommt...

wenn ich Break verwende, könnte ich mir angewöhnen, eine nach-mir-die-sintflut-haltung anzugewöhnen...


aber ich kann zum beispiel in ner schleife ne abbruchbedingung auf

Code: Alles auswählen

Until EXIT = 1
reduzieren.

und dann setze ich in die schleife einfach EXIT = 1 statt break.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

@kaeru
deine methode (die ich auch meistens nehm auser wenns nicht anderst geht) ist laut dem code die langsamere: http://forums.purebasic.com/german/view ... 9767#59767
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ja logisch, weil ja der rest der schleife noch bearbeitet wird...

aber bei ner abbruch-bedingung die ausführungszeit testen... hallo, gehts noch?


btw.. stell dir vor du hast geschachtelte schleifen...

kommst du da noch klar, wo dein Break dann weitermacht?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Kaeru Gaman hat geschrieben:aber bei ner abbruch-bedingung die ausführungszeit testen... hallo, gehts noch?
Wenn man es genau nimmt, dann braucht Deine Methode auch
noch eine Variable extra. :twisted:
Dazu wird diese Variable bei jedem Schleifendurchlauf überprüft,
was bei einem 'Forever' nicht nötig ist. Aber auch das macht
nicht wirklich viel aus.
Kaeru Gaman hat geschrieben:btw.. stell dir vor du hast geschachtelte schleifen...

kommst du da noch klar, wo dein Break dann weitermacht?
Es wird immer die innerste Schleife (For, Repeat, ForEach, While)
abgebrochen, in der das Break steht. Optional kann man einen
Parameter angeben, aus wievielen Schleifen rausgesprungen
werden soll. Bei einer 5-fachen Verschachtelung kann man
bei einem Fehler also mit 'Break 5' sauber und schnell
rausspringen.

Genauso bei Continue: Da wird in der innersten Schleife, in
der es steht, der nächste Schleifendurchlauf gestartet.

Eigentlich ganz einfach.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

ich finde Break sehr praktisch, vorallem weil die schleife sofort verlassen und nicht zuende ausgeführt wird. manchmal ist diese methode besser, manchmal die andere. kommt immer auf die situation an.

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Antworten