|
|
Rainer
Hero Member
    
Offline
Beiträge: 1666
|
 |
« Antworten #1 am: 28.03.2002, 16:40:12 » |
|
Auszüge aus der Hilfe Continue (Prozedur)
Die Prozedur Continue setzt die Programmausführung mit dem nächsten Durchlauf einer for-, while- oder repeat-Schleife fort.
Unit
System
Kategorie
Ablaufsteuerung
procedure Continue;
Beschreibung
Continue bewirkt, daß der nächste Durchlauf der for-, while- oder repeat-Anweisung ausgeführt wird.
Wird Continue außerhalb eines for-, while- oder repeat-Konstrukts aufgerufen, gibt der Compiler eine entsprechende Fehlermeldung aus.
Hinweis
In der Beschreibung der Prozedur Break erfahren Sie, wie Sie Schleifen und finally-Blöcke verlassen können.
----
Break (Prozedur)
Unit
System
Die Prozedur Break verläßt eine for-, while- oder repeat-Schleife.
Kategorie
Ablaufsteuerung
procedure Break;
Beschreibung
Break bewirkt, daß eine for, while oder repeat-Schleife verlassen und die Ausführung mit der nächsten Anweisung fortgesetzt wird.
Wird Break außerhalb eines for-, while- oder repeat-Konstrukts aufgerufen, gibt der Compiler eine entsprechende Fehlermeldung aus.
Hinweis
Mit Break können keine try..finally-Blöcke verlassen werden. Wenn Sie Break in einem try..finally-Konstrukt aufrufen, wird die Ausführung in der finally-Klausel fortgesetzt. Also z.B. sowas [font class=code style="background-color: transparent; border: none;"] var i: Integer; begin for i := 1 to 5 do begin if i = 1 then Continue; //direkt zur 2 weiter [/color] //aufhören [/color]ListBox1.Items.Add(IntToStr(i)); end; end; [/color][/font]
|
|
|
|
|
Gespeichert
|
MfG Rainer
end.
|
|
|
AndreasMascher
Gast
|
 |
« Antworten #2 am: 28.03.2002, 21:01:55 » |
|
ich sage dir einfach was ich alles kann okay?
Exit --] verlässt die procedure, function usw break --] verlässt aktuelle schleife
du kannst auch ein label (innerhalb einer Procedure) deklarieren:
Procedure tuhwas; var message : string; label anfang, ende; begin Anfang : ShowMessage('Du bist am Anfang'); tuhwas; tuhnochwas; if ... then begin if ... then goto anfang else goto ende; end;
Ende : ShowMessage ('Du bistam Ende ;-)');
end;
probier einfadch mal n bisschen aus... ist jetzt n bisschen unübersichtlich alles aber ich denke das geht
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
|
AndreasMascher
Gast
|
 |
« Antworten #5 am: 29.03.2002, 11:14:19 » |
|
Demnach darf eine Schleife oder eine Funktion nur einen Aussprungpunkt haben. Mit break oder exit produziert man aber mehrere Aussprungpunkte.
das ist aber noch kein grund, der dagegen spricht! //Unstrukturiert? repeat //tuh was if abbruch then break; until alles getutet; //Strukturiert? repeat //tuh was until (alles getutet = true) or (abruch = true); (abbruch : boolean, wenn auf den abbrechen button gedrückt wird = true) Katja, was ist daran nicht strukturiert?
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
|
|
|
|
|
AndreasMascher
Gast
|
 |
« Antworten #10 am: 29.03.2002, 21:01:41 » |
|
@katjah was ist das? (Struktogramm (Nassi-Shneiderman))
@Elias Zurschmiede Ja, da gebe ich dir durchaus recht. Aber es ging eher um die Frage, warum dieser Befehl "schlecht" ist. Ab dem moment, wo ich befehle wie label oder break und exit kennengelernt hatte, konnte ich mich viel "freier" in meiner Procedure bewegen. Also, ich finde es erleichtert! Man kann halt jederzeit "raus" ;-)
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
AndreasMascher
Gast
|
 |
« Antworten #12 am: 29.03.2002, 23:09:16 » |
|
"von Labels sollte man in der Delphi-Welt überhaupt die Finger lassen", begründen konnte das hier aber noch keiner.
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
|
AndreasMascher
Gast
|
 |
« Antworten #15 am: 30.03.2002, 16:42:29 » |
|
@katjah
Cool, darauf wollte ich hinaus:
Du sagtest: "Man sollte sie nicht benutzen, weil das der Strukturierten Programmierung widerspricht. (ein Struktogramm ist ein Darstellungsmittel, welches bei der Planung von Programmen eingesetzt werden kann.)" So, aber wen in diesem Forum (und gerade im Einsteiger Forum) betrifft das denn? Wohl eher wenige... Und solange ich eindimensionalen Programmtext verwende, KANN es einfach nicht "schlecht" sein.
Daher denke ich weiterhin, dass die Verwendung von Befehlen dieser Art bei der Programmierung durchaus hilfreich sind. (Bei der Verwendung von Labels sehe ich das gewissermaßen ein, da ich sie sowieso noch nicht gebraucht habe).
Ich möchte aber noch einmal erwähnen, dass ich erst seit 4 Jahren programmiere, und das nicht einmal wirklich gut (selbst beigebracht) und du machst eher den Eindruck als verstündest du etwas vom coden. Aber die Argumente leuchten mir einfach nicht ein, die gegen diese Art von programmieren sprechen.
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
AndreasMascher
Gast
|
 |
« Antworten #17 am: 30.03.2002, 17:17:52 » |
|
du hattest irgendwas von ausgangspunkten gesagt, die zusätzlich entstehen.
Aber wahrscheinlich hatte ich dich einfach falsch verstanden. Friede? *lach*
|
|
|
|
|
Gespeichert
|
|
|
|
|
|