-
If Anweisung und Bascom
Irgendwie habe ich Probleme mit der If-Anweisung und Bascom, genauer gesagt mit dem then/else und end if.
Laut
https://www.roboternetz.de/wissen/in..._Verzweigungen heisst es:
Hier kann man dann unter “Then”, mehrere Anweisung schreiben. Muss diese aber dann mit „End if“ abschließen.
Schreibe ich die komplette Anweisung mit nur einer Anweisung in eine Zeile benötige ich kein End if. Schreibe ich die selbe in mehrere mit End if geht das irgendwie trotzdem nicht.
Als Beispiel:
Code:
Dim Lang As Bit
Dim Kurz As Bit
Dim Tzler As Byte
If Tzler > 30 Then Lang = 1 Else Goto COMBINE
Combine:
Kurz = 1
Lang = 0
funktioniert. Dagegen bekomme ich denselben Fehler ohne und mit End if bei
Code:
If Tzler > 30 Then Lang = 1 Else Kurz = 1 Lang = 0
Error 35: line ... 3 parameters expected ...
Was mach ich da falsch ?¿? Das selbe Problem besteht bei der Then Anweisung. Alles mit einem goto schreiben wird arg unübersichtlich. Komischerweise geht es in mehreren Zeilen mit End if manchmal, aber nicht immer.
Habt ihr das Problem auch oder stelle ich mich nur zu blöd an?
-
Schreibst DU:
if Lang>Kurz then
____________ Kurz=Lang
___________else
____________lang=Kurz
end if
Ohne diese '_'
Das geht immer und der Code ist wesendlich besser lesbar.
Oder Du selbst verstehst Deine Code in 3 Jahren auch noch sofort.
Gento
-
Hallo,
wenn du alles in eine Zeile schreiben willst, sieht es so aus:
If Tzler > 30 Then : Lang = 1 : Else : Kurz = 1 : Lang = 0 : End If
Zwischen den Befehlen muss ein Doppelpunkt stehen, End If nicht vergessen!
-
Das mit dem Doppelpunkt funktioniert :-)
Die "_"-Art funktioniert jetzt auch wieder. Komisch. Dachte das hätte irgendwas mit zu vielen Leerzeichen zu tun. Wahrscheinlich hat mein PC bloss ein wenig rumgezickt.
Vielen Dank für die Hilfe