Jak wiadomo w systemach pozycyjnych powyżej dziesiętnego wykorzystywane są litery jako kolejne liczby. I tak w systemie szesnastkowym mamy następujące znaki do zapisu liczb:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Literom przypisane są wartości:
A - 10 B - 11 C - 12 D - 13 E - 14 F - 15.
Razem mamy 16 znaków.
Przykładem liczby szesnastkowej jest 1F. Przy zamianie na liczbę w systemie dziesiętnym postępujemy tak:
Zamiast liczby F użyliśmy jej wagi 15 i otrzymaliśmy liczbę 31 dziesiętnie.
Trzeba tu zauważyć bardzo ważną rzecz. Otóż komputer jako liczby traktuje tylko te liczby, które są zapisane za pomocą 10 znaków używanych w systemie dziesiętnym. Czyli liczba szesnastkowa 1F nie jest dla niego liczbą, lecz ciągiem znaków. Nie można więc na niej wykonać operacji takich, jak na liczbach, mnożenia, dzielenia, dodawania, itd.
By można było wykorzystać komputer do zamiany np. liczby szesnastkowej na dziesiętną musimy w naszym programie uwzględnić to ograniczenie i zamienić liczby - litery na ich odpowiedniki liczbowe. Potrzebne nam będą funkcje VB, które „pracują” właśnie na ciągach znakowych.
A oto kilka potrzebnych funkcji.
ASC (znak) - wynikiem działania funkcji jest liczba odpowiadająca kodowi ASCII podanego znaku;
I tak wynikiem działania ASC(„A”) jest liczba 65.
Chr (liczba) - funkcja zamienia liczbę na odpowiadający tej liczbie znak ASCII. się
I tak wynikiem działania Chr(32) jest spacja.
LCase (string) i Ucase(string) - zamieniają odpowiednio wszystkie znaki w stringu na małe (Lcase) i duże (Ucase).
Ucase(„lasek”) daje w wyniku LASEK.
Left (string, n) - zwraca n pierwszych znaków łańcucha .
string = "Wolna sobota"
y = Left (x, 5)
y będzie równe "Wolna"
Right (string, n) - zwraca n ostatnich znaków łańcucha.
string = "Wolna sobota"
y = Left (x, 5)
y będzie równe "obota"
Mid (string, n, m) - wynikiem działania funkcji jest ciąg m znaków łańcucha począwszy od elementu n.
W przypadku łańcucha znaków string = ”ABCDEFGH1234567890” w wyniku działania funkcji Mid(string,10,5) otrzymamy ciąg 12345.
Len(ciąg_znaków) - wynikiem jest liczba będąca długością ciągu znaków.
Dla string = „ABCDEFGH1234567890” mamy Len(string)=18
Operacje na łańcuchach