Promotic
WikipediaLinkedInYoutubeTwitterFacebook

InStr - funkcja języka VBScript

Opis:
Zwraca pozycję pierwszego pojawienia się jednego łańcucha w innym łańcuchu.

Dla potrzeb systemu PROMOTIC jest dogodniejszym stosowanie metody: Pm.StringFind.

Składnia:
Integer InStr([Integer start], String string1, String string2, [Integer compare])
Wołanie:
n = InStr([start,] string1, string2[, compare])
Parametry:
start[opcjonalne] (Integer) Wyrażenie liczbowe ustawiające pozycję początkową dla poszczególnego wyszukiwania. Jeżeli nie jest ustawione, wtedy wyszukiwanie rozpoczyna się od pierwszej pozycji. Jeżeli jest zastosowany argument compare, wtedy jest wymagany również argument start.
string1(String) Przeszukiwane łańcuch tekstowy
string2(String) Wyszukiwane łańcuch tekstowy
compare[opcjonalne] (Integer) Wartość liczbowa określająca rodzaj zastosowanego porównywania podciągów znaków. Jeżeli nie jest ustawione, wtedy jest wykonywane porównywanie binarne.
vbBinaryCompare - wykona binarne porównanie
vbTextCompare - wykona tekstowe porównanie
Wartość zwrotna:
0 - string1 jest pusty lub string2 nie odnaleziony lub start > Len(string2)
Null - string1 lub string2=Null
start - string2 jest pusty
pozycja odnalezionego podciągu znaków - string2 odnaleziony w string1
Notatka:
Funkcja InStr jest stosowana z danymi bajtowymi zawartymi w łańcuchu. Zamiast zwrócenia znakowej pozycji pierwszego wystąpienia podciągu w innym łańsuchu, InStr zwraca jego bajtową pozycję.
Przykład:
VBScriptWybierz oraz skopiuj do schowka

Dim SearchString, SearchChar, nPos
SearchString = "XXpXXpXXPXXP"
SearchChar = "P"
nPos = InStr(4, SearchString, SearchChar, 1)  'tekstowe wyszukiwanie rozpoczyna się na pozycji 4, zwraca 6
nPos = InStr(1, SearchString, SearchChar, 0)  'binarne wyszukiwanie rozpoczyna się na pozycji 1, zwraca 9
nPos = InStr(SearchString, SearchChar)  'binarne wyszukiwanie, zwraca 9
nPos = InStr(1, SearchString, SearchChar, "W")  'binarne wyszukiwanie od pozycji 1, zwraca 0 ("W" nie zostało odnalezione)
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice