-         

Ergebnis 1 bis 9 von 9

Thema: [gelöst] String mit "select Case" auswerten

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78

    [gelöst] String mit "select Case" auswerten

    Anzeige

    Hallo Zusammen,

    ich bin am rumprobieren und bin nicht sicher wo mein Fehler
    liegt. Kann man in Bascom einen String mit 3Zeichen Inhalt
    so auswerten?

    dim Ausgabe_com2 as String *3

    Select Case Ausgabe_com2
    Case "Ein" : Portd.5 = 1
    Case "Aus" : Portd.5 = 0
    Case Else : Print #1 , "Fehler"
    End Select

    also bei mir kommt immer die letzte Case Anweisung raus, den Inhalt von "Ausgabe_com2" sehe ich aber richtig im LCD, also das sollte stimmen.

    Danke schon mal!

    Gruß Frank

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    Ich glaube das geht besser mit der Funktion "INSTR":
    Ein_empfangen = Instr(inputstring , "Ein")
    Viele Grüße, William
    -> http://william.thielicke.org/

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78
    Hi,

    danke ich schau mir das mal an, wirkt aber recht umständlich.
    Hätte nicht gedacht das scheinbar mit "select case" nicht geht.
    Im Netz hatte ich schon ein paar Beispiele gesehen, dort fragen
    die es auch so ab, habe jetzt keine Ahnung ob die Code´s auch wirklich laufen oder nur mal so getippt wurden.

    Gruß Frank

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Hast du Groß-Kleinschreibung beachtet ? Der Input muss genau stimmen
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78
    Hallo Robert,

    ich denke ja, den selben String lasse ich mir zur Zeit noch auf dem LCD
    ausgeben, sollte passen. Habe jetzt noch mal ein bissel im Netz gestöbert,
    alles was man findet sieht genauso aus wie bei mit, vielleicht mach ich
    da wo anders einen Fehler, muss da heute Abend noch mal genau drüber schauen.

    Danke, trotzdem!!

    Gruß Frank

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    However, folgendes funktioniert:

    Code:
    Dim Instrg As String * 20
    Do
    Instrg = "Eins"
    Gosub Check
    
    Instrg = "Zwei"
    Gosub Check
    
    Loop
    
    
    End                                                         'end program
    '-------------------------------
    Check:
    Select Case Instrg
    Case "Eins" : Print "One"
    Case "Zwei" : Print "Two"
    Case Else : Print "?"
    End Select
    Return
    Aupassen, irgendwelche Leer/sonder-zeichen im String siehst du zwar am LCD nicht, trotzdem erkennt er das dann nicht
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Es könnte an den Steuerzeichen liegen. Meist werden Strings mit chr(10) und chr(13) abgeschlossen.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78
    Hallo Zusammen,

    Ihr habt scheinbar Recht, ich habe mir mal die Stringlänge mit ausgeben lassen, ist immer ein Zeichen mehr drin, obwohl man es nicht auf dem Display sieht. Muss mir die Empfangsroutine noch mal ansehen.

    Danke schon mal!!

    Gruß Frank

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78
    Hallo,

    so es geht, war wirklich ein Zeichen zu viel im String, hatte da einen Fehler im Code. Danke für die guten Tipp´s

    Gruß Frank

Berechtigungen

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