- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 7 von 7

Thema: String auf String zuweisen geht nicht

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    41
    Beiträge
    2.009

    String auf String zuweisen geht nicht

    Anzeige

    Praxistest und DIY Projekte
    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.

    Code:
    '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

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.07.2006
    Ort
    Berlin
    Beiträge
    439
    Hallo Jaecko,

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

    Code:
    Select Case Adcval0
         Case 114 To 154 : Tmp1 = "X"
         ....
         Case Else
         ...
    End Select
    Gruß
    Detlef

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    41
    Beiträge
    2.009
    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.

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Es hilft, wenn du auch sagst, welche Zeile der Bascom angemeckert hat.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    41
    Beiträge
    2.009
    Wäre die Zeile
    "Key = Getkey"

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Du mußt immer Klammer machen

    Declare Function Getkey() As String

    Key = Getkey() ' Aufruf der Function

    END

    Function Getkey() As String
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    41
    Beiträge
    2.009
    ahh... und schon gehts.

    thxle.

Berechtigungen

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

Labornetzteil AliExpress