Witam,
mam takie pytanko do speców od Bascoma, otóż zdeklarowałem sobie funkcję:
Declare Function Scanstrsp(text As String , Byval Sep As String) As String
potem jej "ciało"
i wszystko byłoby dobrze gdyby nie to, że okazuje się iż funkcja LEN(text) ma cały czas wartość ZERO
jeśli próbuję w deklaracji dać text jako Byval text as String to wtedy ta długość jakby się pojawia ale cała funkcja bierze w łeb i procek się "przerwaca"
generalnie funkcja miałaby za zadanie wydzielić(zwrócić) z zadanego stringu podanego jako paramter text jego część od początku do miejsca gdzie występuje podany jako drugi parametr funkcji separator sep
czyli np mamy string: tx = "dane:12345"
wywołujemy funkcję
buf = scanstrsp(tx, ":")
i na wyjściu zmienna buf powinna zawierać "dane" natomiast zmienna tx przekazana do funkcji powinna być skrócona i zawierać już tylko "12345"
myślę że wszystko by mi działało ładnie tylko że czegoś chyba nie wiem i na tyle ile mogłem sprawdzić to okazuje mi się że w tej mojej funkcji LEN(text) cały czas ma wartość ZERO i stąd mi to głupio działa
może jakaś sugestia please
mam takie pytanko do speców od Bascoma, otóż zdeklarowałem sobie funkcję:
Declare Function Scanstrsp(text As String , Byval Sep As String) As String
potem jej "ciało"
Function Scanstrsp(text As String , Byval Sep As String) As String
Local I As Byte
Local M As Byte
I = 1
While I <= Len(text)
If Mid(text , I , 1) <> Sep Then
I = I + 1
Else
Exit While
End If
Wend
I = I - 1
Scanstrsp = Mid(text , 1 , I)
M = Len(text)
I = I + 1
M = M - I
I = I + 1
Text = Mid(text , I , M)
End Function i wszystko byłoby dobrze gdyby nie to, że okazuje się iż funkcja LEN(text) ma cały czas wartość ZERO
jeśli próbuję w deklaracji dać text jako Byval text as String to wtedy ta długość jakby się pojawia ale cała funkcja bierze w łeb i procek się "przerwaca"
generalnie funkcja miałaby za zadanie wydzielić(zwrócić) z zadanego stringu podanego jako paramter text jego część od początku do miejsca gdzie występuje podany jako drugi parametr funkcji separator sep
czyli np mamy string: tx = "dane:12345"
wywołujemy funkcję
buf = scanstrsp(tx, ":")
i na wyjściu zmienna buf powinna zawierać "dane" natomiast zmienna tx przekazana do funkcji powinna być skrócona i zawierać już tylko "12345"
myślę że wszystko by mi działało ładnie tylko że czegoś chyba nie wiem i na tyle ile mogłem sprawdzić to okazuje mi się że w tej mojej funkcji LEN(text) cały czas ma wartość ZERO i stąd mi to głupio działa
może jakaś sugestia please