Hi,
ich möchte einen String nach bestimmten Zeichen durchsuchen. Da ich aber wenig Zeit dafür verwenden kann / darf, möchte ich mir selbst eine Funktion schreiben. Dazu lege ich ein Byte-Array als Overlay über einen String, bis hierhin ja noch kein Problem. Jetzt brauche ich eine Funktion, die mir die Position dieses Zeichens als Byte zurückgibt, das hab ich auch schon:
Code:
Function Searchstring(byval Strar As Byte , Byval Strsearch As Byte) As Byte
Local I As Byte
Searchstring = 0
For I = 1 To 255 Step 1
If Strar(i) = 10 Then 'Lf
Exit For
End If
If Strar(i) = Strsearch Then
Searchstring = I
Exit For
End If
Next I
End Function
Der Code ist noch nicht optimiert, aber das mache ich erst, wenns funktioniert. Das Problem ist, wenn ich die Funktion aufrufe:
Code:
Tmp = Searchstring(gps_ovl(1) , 58)
arbeitet er nur mit dem ersten Byte des Arrays, weils eben übergeben wurde. Ich möchte aber das ganze Array übergeben. Wie geht das? Bzw. geht das in Bascom überhaupt?
Ich hab schon dran gedacht, die Speicheradresse des ersten Bytes zu übergeben und dann immer zu inkrementieren, aber die Lösung gefällt mir nicht so gut...
Byref kann ich fürs Array nicht nutzen, da ich dann für jeden String eine eigene Funktion bräuchte und das zuviel Platz verbrauchen würde, den ich nicht habe.
Ich hoffe ihr versteht mein Problem und jemand kann mir helfen?! 
Vielen Dank & Gruß
Chris
Lesezeichen