Jaecko
14.12.2006, 09: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
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