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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren