ich habe schon Google und die Forumsuche abgeklappert, konnte jedoch keine Aussage hierzu finden.
Mich würde es interessieren, ob es einen Syntax gibt, der das if statement veranlässt, nicht alle Angaben zu überprüfen sprich:
ifindex<>-1andvalueArray[index]=3thenend_if
soll das if statement schon bei index <> -1 verlassen, ohne zu versuchen, mit dem ungültigen index auf das Array zuzugreifen.
Oder bin ich hier darauf verdammt die Abfragen zu verschachteln?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2012-06-28
Originally created by: jl
Hallo!
Es wird dir nichts anders übrigbleiben, die IF-Anweisung zu verschachteln:
IF index <> -1 THEN
IF valueArray[index] = 3 THEN
END_IF
END_IF
Außer Du bindest in Dein Project die Funktion "Checkbounds" mit ein, mit dieser Funktion wird automatisch überprüft, ob der Index innerhalb der gültigen Grenzen liegt. Wie das geht ist in der CoDeSys Hilfe beschrieben.
FUNCTION CheckBounds : DINT
VAR_INPUT
index, lower, upper: DINT;
END_VAR
IF index < lower THEN
CheckBounds := lower;
ELSIF index > upper THEN
CheckBounds := upper;
ELSE CheckBounds := index;
END_IF
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Miteinander,
ich habe schon Google und die Forumsuche abgeklappert, konnte jedoch keine Aussage hierzu finden.
Mich würde es interessieren, ob es einen Syntax gibt, der das if statement veranlässt, nicht alle Angaben zu überprüfen sprich:
soll das if statement schon bei index <> -1 verlassen, ohne zu versuchen, mit dem ungültigen index auf das Array zuzugreifen.
Oder bin ich hier darauf verdammt die Abfragen zu verschachteln?
Originally created by: jl
Hallo!
Es wird dir nichts anders übrigbleiben, die IF-Anweisung zu verschachteln:
IF index <> -1 THEN
IF valueArray[index] = 3 THEN
END_IF
END_IF
Außer Du bindest in Dein Project die Funktion "Checkbounds" mit ein, mit dieser Funktion wird automatisch überprüft, ob der Index innerhalb der gültigen Grenzen liegt. Wie das geht ist in der CoDeSys Hilfe beschrieben.
FUNCTION CheckBounds : DINT
VAR_INPUT
index, lower, upper: DINT;
END_VAR
IF index < lower THEN
CheckBounds := lower;
ELSIF index > upper THEN
CheckBounds := upper;
ELSE CheckBounds := index;
END_IF