[Gelöst] CC C/AL "continue"/"break" ?

17. Januar 2012 15:07

Hallo,
ich hoffe, das klingt jetzt nicht völlig dämlich :-? , aber mir ist gerade zum ersten Mal aufgefallen, das die Pascal-Befehle "continue" (=nächste Schleifeniteration) und "break" (Schleife oder Case verlassen) in C/AL nicht funktionieren.
Gibt es dafür irgend einen Ersatz (im C/SIDE Reference Guide konnte ich nichts zu grundlegenden Befehlen/Programmstrukturen finden) :oops: .
... oder muss ich tatsächlich eine Status-Variable erzeugen und alle folgenden Befehle in verschachtelten if-Blöcken kapseln? :roll:
Zuletzt geändert von lt.col.blair am 17. Januar 2012 17:17, insgesamt 1-mal geändert.

Re: CC C/AL "continue"/"break" ?

17. Januar 2012 17:05

lt.col.blair hat geschrieben:Hallo,
ich hoffe, das klingt jetzt nicht völlig dämlich :-? , aber mir ist gerade zum ersten Mal aufgefallen, das die Pascal-Befehle "continue" (=nächste Schleifeniteration) und "break" (Schleife oder Case verlassen) in C/AL nicht funktionieren.
Gibt es dafür irgend einen Ersatz (im C/SIDE Reference Guide konnte ich nichts zu grundlegenden Befehlen/Programmstrukturen finden) :oops: .
... oder muss ich tatsächlich eine Status-Variable erzeugen und alle folgenden Befehle in verschachtelten if-Blöcken kapseln? :roll:


www.navision24.de

C/AL ist kein Pascal, obwohl beide ähnlich sind.

Es gibt kein BREAK und kein CONTINUE.

Re: [Gelöst] CC C/AL "continue"/"break" ?

17. Januar 2012 21:34

Ich kann leider nur raten, wofür die genannten Befehle gut sein sollen, aber schau doch mal in die Onlinehilfe, was es so gibt: http://msdn.microsoft.com/en-us/library/dd301430.aspx

Re: [Gelöst] CC C/AL "continue"/"break" ?

18. Januar 2012 09:05

Hallo,
meine Anfrage ist bereits insofern gelöst, dass mir jetzt klar ist, dass diese Befehle in C/AL nicht vorhanden sind.
Aber zur Erklärung, was die Befehle in Pascal "normalerweise" (Delphi, Free Pascal, Object Pascal etc.) bewirken:
continue kann in einer Schleife (for, while, repeat) verwendet werden, um direkt zum Ende der Schleife zu springen und den nächsten Schleifendurchlauf zu beginnen (oder, je nach Konditionen, die Schleife zu verlassen).
break dient dazu, eine Schleife oder ein case statement zu verlassen. Im Gegensatz zu exit verlässt man mit break jedoch nicht die gesamte Prozedur/Funktion, sondern nur die innerste Schleife - springt also direkt hinter das Schleifen-/Case-Ende

Inzwischen habe ich allerdings auch herausgefunden, dass diese Befehle nicht zum Befehlsumfang des "original" Pascal von 197x gehörten. Sie müssen also irgendwann danach (vermutlich mit Turbo Pascal von Borland) hinzugefügt worden sein.

Re: [Gelöst] CC C/AL "continue"/"break" ?

18. Januar 2012 09:39

lt.col.blair hat geschrieben:Aber zur Erklärung, was die Befehle in Pascal "normalerweise" (Delphi, Free Pascal, Object Pascal etc.) bewirken:

Ach du Schande, da hab ich früher mal Delphi entwickelt und kann mich an diese Befehle gar nicht erinnern??

Letztlich sind es aber nur Komfortfunktionen, die man auch anderweitig realisieren kann - diesbezüglich brauchst du aber keine Hilfe mehr, oder?

Re: [Gelöst] CC C/AL "continue"/"break" ?

7. März 2016 09:37

Seit NAV 2016 lässt sich BREAK nun in allen Objekten innerhalb von Schleifen verwenden: BREXIT? Nope, BREAK <> EXIT