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