-         
+ Antworten
Ergebnis 1 bis 2 von 2

Thema: Variablenübergabe in Funktion

  1. #1

    Variablenübergabe in Funktion

    Hallo

    Ich bekomme es einfach nicht hin meinen string in eine Funktion zu übertragen.
    Mein Code in Bascom




    Declare Sub Test(zahl As string * 1)

    Dim Temp As String * 1

    Do
    Temp = ""
    Call Test(Temp)
    Loop
    End


    Sub Test([byref]zahl As string * 1)
    local wert as byte

    wert = asc(zahl)
    print wert

    End Sub




    Habe auch schon ausprobiert von byref auf byval zu schalten. Auch nichts.
    Er meckert be der Funktion wert = asc(zahl), weil der typ der Variable nicht übereinstimmt


    Danke für eure Hilfe

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Wenn der String nur ein Byte lang ist, dann ist es kein String sondern vielmehr nur ein Zeichen. Du solltest eventuell dann lieber Variablentyp Byte nehmen. Wenn du nur ein Zeichen aus einem String brauchst, dann kannst du es auch mit MID herauspflücken und einer Byte Variable zuweisen. "asc" brauchst du dann garnicht.

    Bei längeren Strings kannst du es so probieren:
    Declare Sub Test(byval zahl As string)

    Achte darauf das bei der Verwendung von lokalen Variablen und Parametern in Funktionen sehr oft der Soft- und Hardwarestack in den Compiler-Optionen erhöht werden muss. Ansonsten kommt es zu Fehlern.

    Gruß Frank

+ Antworten

Berechtigungen

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