PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variablenübergabe in Funktion



wolf4124
19.08.2004, 17:45
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

Frank
19.08.2004, 19:25
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