• Funkcja Mid. Pobranie fragmentu tekstu ze zmiennej znakowej.
Bardzo często mamy tekst, w którym musimy sprawdzić czy nie zawiera nieprawidłowych znaków, bądź wyrazów. Wiedząc, że tekst zawiera
szukaną frazę możemy dokonać poprawek w tekście za pomocą wbudowanej funkcji Replace.
Jednak nie wszytko da się załatwić za pomocą funkcji Replace. Wtedy możemy zastosować funkcję tekstową Mid,
za pomocą której możemy wyodrębnić określony ciąg znaków, lub kolejno wyodrębniać fragmenty tekstu, pomijać nie pasujące, dodawać nowe fragmenty
i połączyć wszystkie fragmenty w nowy ciąg znaków za pomocą operatora konkatenacji &.
Aby wyodrębnić określony ciąg znaków musimy za pomocą
funkcji InStr określić pozycję wystąpienia poszukiwanego ciągu znaków.
Składnia funkcji Mid.
Funkcja Mid zwraca wartość typu Variant podtyp String zawierającą podaną liczbę znaków length z wejściowego ciągu znaków string począwszy od znaku określonego w argumencie start.
Mid(string As String, start As Long[, length])
Funkcji Mid ma następujące nazwane argumenty
:
Argument | Opis |
---|---|
string |
Argument obowiązkowy. Jest to wyrażenie znakowe , z którego zwracane są znaki.
Jeżeli argument string zawiera wartość Null , zwracana jest wartość Null.
|
start |
Argument obowiązkowy typu Long . Określa początkową pozycję znaków pobieranych z string.
Jeżeli wartość argumentu start jest większa niż liczba znaków jaką zawiera argument string, funkcja Mid
zwraca ciąg znaków o długości zerowej ("").
|
length | Argument nieobowiązkowy typu Variant podtyp Long. Określa liczbę zwracanych znaków. Jeżeli argument ten zostanie pominięty, lub jeżeli argument string zawiera mniej znaków niż ilość określona przez argument length (łącznie ze znakiem określonym przez argument start), zwracane są wszystkie znaki począwszy od znaku start aż do końca ciągu. |
Uwaga. Aby określić liczbę znaków jaką zawiera argument start,
należy stosować funkcję Len ⇒ToDo⇐.
Do danych bajtowych zawartych w ciągu znaków należy używać funkcji MidB.
W takim przypadku argumenty
określają liczbę bajtów, a nie liczbę znaków
Funkcja Mid$.
Mid$(string As String, start As Long[, length]) As String
Funkcja Mid$ zwraca wartość typu String zawierającą podaną liczbę znaków length
z wejściowego ciągu znaków string począwszy od znaku określonego w argumencie start.
Funkcja Mid, a funkcja Mid$.
Funkcja Mid zwraca wartość typu Variant podtyp String, a funkcja Mid$ zwraca dane typu As String, przez co funkcja Mid$ jest wydajniejsza (szybsza), gdyż operowanie na zmiennych typu Variant zajmuje więcej pamięci i jest wolniejsze. Najczęściej i tak na zwróconej zmiennej typu Variant zostanie później wymuszona konwersja na typ String np. po przypisaniu zwracanej wartości do zmiennej typu String.
Różnice w szybkości są zauważalne, gdy wielokrotnie (w pętlach) operujemy na długich ciągach znaków. Pomimo niezauważlnych różnic w szybkości dla jednorazowych operacji i krótkich ciągów znaków, ja używam funkcji Mid$.
Instrukcja Mid.
Istnieje także instrukcja
Mid, która zastępuje podaną liczbę znaków w zmiennej typu Variant podtyp String,
znakami z innego ciągu znaków. Ale o tej instrukcji kiedy indziej☺. ⇒ToDo⇐
Słownik użytych terminów.
- • nazwany argument
-
Argument o nazwie wstępnie zdefiniowanej w bibliotece obiektowej. Zamiast podawania wartości argumentów w porządku
ustalonym przez składnię, można użyć nazwanych argumentów, aby móc przypisać wartości w dowolnym porządku.
Na przykład, załóżmy że dana jest metoda przyjmująca trzy argumenty:
JakasFunkcja
nazwany_arg1, nazwany_arg2, nazwany_arg3JakasFunkcja
nazwany_arg3 := 4, nazwany_arg2 := 5, nazwany_arg1 := 20 - • Wyrażenie znakowe
-
Dowolne wyrażenie o wartości stanowiącej sekwencję następujących po sobie znaków. Do elementów wyrażenia znakowego
może należeć funkcja zwracająca ciąg znaków, literał znakowy, stała znakowa, zmienna znakowa, ciąg znaków typu Variant
lub funkcja zwracająca ciąg znaków typu Variant (VarType = 8 (
vbString
). - • Null
- Wartość wskazująca, że dana zmienna nie zawiera żadnych poprawnych danych. Wartość ta jest wynikiem jawnego przypisania wartości Null do danej zmiennej lub wynikiem dowolnej operacji przeprowadzonej pomiędzy wyrażeniami zawierającymi wartość Null.
- • typ danych Long
- Typ danych służący do przechowywania liczb całkowitych na 4 bajtach, o zakresie wartości od -2 147 483 648 do 2 147 483 647. W języku Visual Basic znakiem deklaracji typu odpowiadającym typowi Long jest ampersand (&).
- • argument
- Stała, zmienna lub wyrażenie przekazywane do procedury.
- • instrukcja
- Kompletna składniowo jednostka wyrażająca pojedynczą deklarację, definicję bądź akcję. Na ogół instrukcja zajmuje jeden wiersz, można jednak umieścić w jednym wierszu kilka instrukcji, używając dwukropka (:). Można także użyć znaku kontynuacji wiersza (_), aby wiersz logiczny był kontynuowany w kolejnym wierszu fizycznym.