Hallo
Ich möchte gerne mein Programm mit IF, ELSEIF strukturieren. Geht das? Ich habe verschiedene Variabeln als Bedingungen. CASE geht also nicht!
Vielen Dank.
ELSEIF
- bdagstefan
- Erledigt
-
-
if ... then ...
else ...
else ...
...
endifSiehe Handbuch...
-
Hallo Henk
Vielen Dank für die Antwort. Was ich bis jetzt in den Handbücher sa war etwa so:
IF abc==1 THEN
sdcn
ELSE
IF def==1 THEN
sdjc
ELSE
IF ghj==1 THEN
isduisd
ENDIF
ENDIF
ENDIFIst nicht gerade der Brüller.
Bitte mach mir ein Beispiel.Vielen Dank
Stefan -
Bitte lies das Handbuch, der IF Befehl ist beschrieben.
if abc==1 then
x123()
else
if def==2 then
y456()
else
if ghi==3 then
z789()
endif
endif
endiffertige Beispiele... ts ts ts. wenn dein chef das hier liest, krieg ich dein gehalt.
-
Na dann viel Spass mit dem Verschachteln bis in die 3. Ming Dynastie. Eine Programmiersprache ohne ELSEIF ist eigentlich gar keine. Andere könnens.
IF nCOOL01{1}<>nNoPart AND nCOOLIn=1 THEN
rCOOL01Out;
ELSEIF nCOOL02{1}<>nNoPart AND nCOOLIn=2 THEN
rCOOL02Out;
ELSEIF nCOOL03{1}<>nNoPart AND nCOOLIn=3 THEN
rCOOL03Out;
ELSEIF nCOOL04{1}<>nNoPart AND nCOOLIn=4 THEN
rCOOL04Out;
ELSEIF nCOOL05{1}<>nNoPart AND nCOOLIn=5 THEN
rCOOL05Out;
ELSEIF nCOOL06{1}<>nNoPart AND nCOOLIn=6 THEN
rCOOL06Out;
ELSEIF nCOOL07{1}<>nNoPart AND nCOOLIn=7 THEN
rCOOL07Out;
ELSEIF nCOOL08{1}<>nNoPart AND nCOOLIn=8 THEN
rCOOL08Out;
ELSEIF nCOOL09{1}<>nNoPart AND nCOOLIn=9 THEN
rCOOL09Out;
ELSEIF nCOOL10{1}<>nNoPart AND nCOOLIn=10 THEN
rCOOL10Out;
ELSEIF nCOOL11{1}<>nNoPart AND nCOOLIn=11 THEN
rCOOL11Out;
ELSEIF nCOOL12{1}<>nNoPart AND nCOOLIn=12 THEN
rCOOL12Out;
ELSEIF nCOOL13{1}<>nNoPart AND nCOOLIn=13 THEN
rCOOL13Out;
ELSEIF nCOOL14{1}<>nNoPart AND nCOOLIn=14 THEN
rCOOL14Out;
ELSEIF nCOOL15{1}<>nNoPart AND nCOOLIn=15 THEN
rCOOL15Out;
ELSEIF nCOOL16{1}<>nNoPart AND nCOOLIn=16 THEN
rCOOL16Out;
ELSEIF nCOOL17{1}<>nNoPart AND nCOOLIn=17 THEN
rCOOL17Out;
ELSEIF nCOOL18{1}<>nNoPart AND nCOOLIn=18 THEN
rCOOL18Out;
ELSEIF nCOOL19{1}<>nNoPart AND nCOOLIn=19 THEN
rCOOL19Out;
ELSEIF nCOOL20{1}<>nNoPart AND nCOOLIn=20 THEN
rCOOL20Out;
ENDIFSo sieht Struktur aus.
-
Tja, is net mei Problem, wennste Schietvariablen fragen musst un die Sprache etwas antik ist.
Ich bin weder bei KUKA beschäftigt noch Sprachenentwickler.
Wies aussehen sollte, gibst Du bitte den Augsburgern.
Ich hab damit nix zu tun.Und wenn Dir das nicht gefällt, dann ists mir ehrlich gesagt recht egal.
In diesem Sinne...
Wolfram
-
Hallo Stefan,
Manchmal muss man sich halt einfach damit abfinden, was die Programmiersprache kann. Und dann die beste Lösung finden. In Deinem Fall würde z.B. SWITCH weiterhelfen.
Mal so ins Blaue hinein:
SWITCH nCOOLIn
CASE 1
IF nCOOL01{1}<>nNoPart THEN
rCOOL01Out;
ENDIF
CASE 2
...
ENDSWITCHMan könnte auch Felder, z.B. rCOOLOUT[] , anlegen und dann mit einem Index drauf zugreifen. Dann ging die ganze Abfrage mit einem Test.
Viele Grüße,
Tilman / Frankreich -
-
Hallo Bim,
Rein logisch verstehe ich Dein Beispiel. Habe aber große Zweifel ob das funktioniert.
SWITCH TRUE
gibt bei mir jedenfalls den Fehler: <<An expression of data type "CHAR", "INT" or "ENUM" is expected.>>
Hast Du das wirklich schon mal getestet?
Viele Grüße,
TilmanPS: und wenn wir schon mal bei der Syntax sind , nCOOL01{1} geht natürlich auch nicht. Sollte wahrscheinlich nCOOL01[1] heißen. Und rCOOL09Out vermutlich rCOOL09Out=TRUE... Es ging mir nur ums Prinzip.
-
Hallo,
also in KRL habe ich es noch nicht probiert. Hatte aber gedacht es müsste funktionieren.
Sorry
Mike
Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren
Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen