- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 4 von 4

Thema: If Anweisung und Bascom

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    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?

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    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

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.07.2006
    Ort
    Berlin
    Beiträge
    439
    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!

  4. #4
    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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests