- Labornetzteil AliExpress         
Ergebnis 1 bis 4 von 4

Thema: ELSEIF als Fehler oder bessere Lösung

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.09.2004
    Beiträge
    119

    ELSEIF als Fehler oder bessere Lösung

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo ihr lieben Leut,

    ich hab ein kleines Problem mit dem ELSEIF, in der Doku zu Bascom ist dies enthalten und ich bin davon ausgegangen das dies auch unterstützt wird, jedoch werden mir die betreffenden Zeilen als Fehler angezeigt, mit der Meldung "THEN expected.
    Ich habe gleich mal den betreffenden Code mitgepostet, vielleicht hat auch jemand eine bessere Lösung für mein Problem (ohne ELSEIF).

    Der Sinn des Programms soll es sein, die Motoren vorwärts laufen zu lassen bis die gewünschte entfernung erreicht bzw rückwärts wenn diese überschritten ist und die Motoren wieder abzuschalten.

    Danke


    Code:
    Do
           Print "this is an test for interrupts I (left) = " ; Counter_left_tire   
           Print "this is an test for interrupts I (right)= " ; Counter_right_tire
    
           Speed = 600
           If Counter_left_tire < 240 Then Call Engine_left_for(speed)
           Elseif Counter_left_tire > 280 Then Call Engine_left_back(speed)
           Else Call Engine_right_stop()
           End If
    
           If Counter_right_tire < 240 Then Call Engine_right_for(speed)
           ElseIf Counter_right_tire > 280 Then Call Engine_right_back(speed)
           Else Call Engine_left_stop()
           End If
    
           Waitms 10
    Loop
    End

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Versuch's mal so, schaut übersichtlicher aus (denk' ich)
    z.B.
    Code:
           Select Case Counter_left_tire
           Case Is < 240:
             Call Engine_left_for(speed)
           Case Is > 280:
             Call Engine_left_back(speed)
           Case Else:
             Call Engine_right_stop()
           End Select
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.09.2004
    Beiträge
    119
    Danke so funktioniert es auch erst mal, aber dennoch würde mich das Problem mit dem ELSEIF interessieren, denn man könnte es doch hin und wieder mal brauchen, oder ?

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Du mußt neue Zeilen machen
    Code:
           If Counter_left_tire < 240 Then
             Call Engine_left_for(speed)
           Elseif Counter_left_tire > 280 Then
                Call Engine_left_back(speed)
           Else
                Call Engine_right_stop()
           End If
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

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

LiFePO4 Speicher Test