PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : String auf String zuweisen geht nicht



Jaecko
14.12.2006, 08:27
Moin.

Hab grad ein kleines Problem, bei dem ich grad nicht weiterkomm.
Mit dem Programmtext hier meint Bascom "Error 242, Source variable does not match the target variable".
Die Function soll eine Widerstands-Matrixtastatur an ADC-Port 0 "abfragen" und ensprechend Case-Select-Anweisungen herausfinden, welche Taste gedrückt wurde. Diese Gedrückte Taste (nur 1 Zeichen) soll dann in "Key" abgelegt werden.




'Programmanfang

Declare Function Getkey As String
Dim Key As String * 1
DIM Adcval0 as Word

'...
'Hauptprogramm
'...
'
Key = Getkey ' Aufruf der Function
'...
'...


Function Getkey As String
Local Tmp1 As String * 1
Adcval0 = Getadc(0) ' Taste
Case 114 To 154 : Tmp1 = "X" 'Cancel
Case 245 To 285 : Tmp1 = "E" 'Enter
Case 372 To 412 : Tmp1 = "R" 'Right
Case 503 To 543 : Tmp1 = "U" 'Up
Case 647 To 687 : Tmp1 = "C" 'Center
Case 817 To 857 : Tmp1 = "D" 'Down
Case Is > 1000 : Tmp1 = "L" 'Left
Case Else : Tmp1 = "N" 'None
Getkey = Tmp1
End Function

END



Was hab ich hier übersehen?

MfG

magnetix48
14.12.2006, 10:43
Hallo Jaecko,

was deinen Programm fehlt, ist der Anfang und das Ende der Case-Abfrage:




Select Case Adcval0
Case 114 To 154 : Tmp1 = "X"
....
Case Else
...
End Select



Gruß
Detlef

Jaecko
14.12.2006, 12:45
Hallo.

Case Select und End Select sind im eigentlichen Programm schon da.
Hab wohl beim Kopieren etwas zu viel rausgekürzt... ](*,)

Bascom ja hier auch schon was melden, wenn Case Select fehlt.
Aber es ist nur dieser eine Fehler 242.

PicNick
14.12.2006, 15:48
Es hilft, wenn du auch sagst, welche Zeile der Bascom angemeckert hat.

Jaecko
14.12.2006, 16:07
Wäre die Zeile
"Key = Getkey"

PicNick
14.12.2006, 17:46
Du mußt immer Klammer machen

Declare Function Getkey() As String

Key = Getkey() ' Aufruf der Function

END

Function Getkey() As String

Jaecko
14.12.2006, 17:48
ahh... und schon gehts.

thxle.