Select Case Problem - Springt nur in 1. Case

OP #2495373
Lesenswert?
• ▲
▼
Hallo,

ich habe eine einfache (dachte ich zumindest) Select Case Auflistung, 
die mir den entsprechenden Code für meine Funksteckdosen setzt.
1
Sub Seto(byval Dose As String , Byval State As Byte)
2
   Print "Dose: " ; Dose
3
   Print "Sys: " ; Left(dose , 1)
4
   Print "Dose: " ; Mid(dose , 2 , 1)
5

6
     Select Case Left(dose , 1)
7

8
     Case "A" : Systemcode = "1FFF"
9
     Case "B" : Systemcode = "F1FF"
10
     Case "C" : Systemcode = "FF1F"
11
     Case "D" : Systemcode = "FFF1"
12
     Case "1" : Systemcode = "0FFFF"
13
     Case "2" : Systemcode = "F0FFF"
14
     Case "3" : Systemcode = "FF0FF"
15
     Case "4" : Systemcode = "FFF0F"
16
     Case "5" : Systemcode = "FFFF0"
17
     Case Else : Systemcode = "null"
18
     End Select
19

20
     Select Case Mid(dose , 2 , 1)
21

22
     Case "1" : Steckdose = "1FF000"
23
     Case "2" : Steckdose = "1FF000"
24
     Case "3" : Steckdose = "1FF000"
25
     Case "A" : Steckdose = "FFFFF"
26
     Case "B" : Steckdose = "0FFFF"
27
     Case "C" : Steckdose = "F0FFF"
28
     Case "D" : Steckdose = "FF0FF"
29
     Case "E" : Steckdose = "FFF0F"
30
     Case "F" : Steckdose = "FFFF0"
31
     Case "G" : Steckdose = "00FFF"
32
     Case "H" : Steckdose = "F00FF"
33
     Case "I" : Steckdose = "FF00F"
34
     Case "J" : Steckdose = "FFF00"
35
     Case Else : Steckdose = "null"
36
     End Select
37

38

39
     If State = 1 Then
40
         If Len(systemcode) = 4 Then
41
            Onoff = "10"
42
         Elseif Len(systemcode) = 5 Then
43
            Onoff = "0F"
44
         End If
45
     Elseif State = 0 Then
46
         If Len(systemcode) = 4 Then
47
            Onoff = "01"
48
         Elseif Len(systemcode) = 5 Then
49
            Onoff = "F0"
50
         End If
51
     End If
52

53

54

55

56
     If Steckdose = "null" Or Systemcode = "null" Then
57
     Locate 2 , 1
58
     Lcd Systemcode
59
     Locate 3 , 1
60
     Lcd Steckdose
61
     Locate 4 , 1
62
     Lcd "Fehler! Falsche eing"
63
     Print "Fehler! Falsche eing"
64
     Else
65
     Funkcode_complete = Systemcode + Steckdose + Onoff
66

67
     Print "Sende " ; Dose ; " " ; State ; " Code : " ; Funkcode_complete
68
     Locate 4 , 1
69
     Lcd "Schalte " ; Dose ; " " ; State ; "        "
70
     Gosub Sendecodes
71
     End If
72

73
End Sub


Wenn ich jetzt den String "A1" selectieren will, funktionier alles 
wunderbar. Sobalt es aber in ein Case springen sollte, der nicht an 
erster Stelle steht, lande ich im Case Else.

Also bei z.B. "B2" wird Systemcode und Steckdose jew. "null".

Warum beachtet er die anderen Cases nicht????

Vielen Dank

Simon

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.