Rozdział 2.
Podstawy
programowania w VB
Czy zdarzyło się Wam kiedyś, że zapomnieliście nazwy lub składni jakiejś funkcji lub instrukcji? Na pewno tak! Rozdział ten jest właśnie takim „przypominaczem”, który zawiera wszystkie funkcje i instrukcje dostępne w języku Visual Basic.
Ponadto prawdziwy programista nigdy nie ogranicza się do znajomości tylko i wyłącznie jednego języka programowania — a pamięć, jak wiadomo, bywa czasami zawodna.
2.1. Instrukcje sterujące
2.1.1. Do
Do While
Wykonuje blok instrukcji tak długo, jak długo warunek pętli będzie spełniony.
Składnia:
Do While (Warunek)
Blok instrukcji
Loop
Blok instrukcji może nie zostać wykonany w przypadku, gdy zadany warunek nigdy nie będzie spełniony.
Przykład:
Do While zmienna1 > 52
Zmienna2 = 0
Loop
Do Loop While
Wykonuje blok instrukcji, dopóki warunek pętli będzie prawdziwy.
Składnia:
Do
Blok instrukcji
Loop While (Warunek)
Blok instrukcji musi zostać wykonany przynajmniej raz, ponieważ pętla zakłada, że w pierwszym przebiegu warunek jest spełniony.
Przykład:
Do
komunikat = "Podaj liczbę od 24 do 2354"
licznik = licznik + 1
Loop While licznik = 12
Do Until
Wykonuje blok instrukcji tak długo, dopóki warunek pętli nie będzie spełniony.
Składnia:
Do Until (Warunek)
Blok instrukcji
Loop
Blok instrukcji może nie zostać wykonany w przypadku, gdy zadany warunek będzie spełniony.
Przykład:
Do Until liczba <= 15
komunikat = "Wprowadzona liczba jest większa niż 15"
Loop
Do Loop Until
Wykonuje blok instrukcji, dopóki warunek pętli okaże się prawdziwy.
Składnia:
Do
Blok instrukcji
Loop Until (Warunek)
Blok instrukcji musi zostać wykonany przynajmniej raz, ponieważ pętla zakłada, że w pierwszym przebiegu warunek nie jest spełniony.
Przykład:
Do
komunikat = "Wpisz liczbę mniejszą niż 24"
Loop Until liczba = 26
Exit Do
Instrukcja pozwalająca na natychmiastowe przerwanie działania dowolnej pętli Do, bez względu na prawdziwość zadanego warunku.
Przykład 1.:
Do
intLiczba=InputBox("Podaj liczbę całkowitą",Wprowadź liczbę")
if (intLiczba=intStala) Then
Exit Do
End If
sngWynik=1/(intStala-intLiczba)
intWiadomosc=MsgBox(sngWynik)
Loop While (intLiczba>0)
Przykład 2.:
Do
komunikat = "Podaj liczbę od 24 do 2354"
licznik = licznik + 1
if licznik = 13 then
Exit Do
End if
Loop While licznik = 12
2.1.2. For
For
Pozwala na powtarzanie bloku instrukcji zadaną liczbę razy.
Składnia:
For Licznik = WartośćPoczątkowa To WartośćKońcowa [Step Krok]
Blok instrukcji
Next [Licznik]
gdzie:
Licznik — musi być zmienną, więc specjalnie dla potrzeb pętli For trzeba ją zadeklarować (najlepiej typu Integer). Jest ona wykorzystywana przez pętlę jako licznik powtórzeń,
WartośćPoczątkowa — liczba całkowita, wyrażenie lub zmienna określająca początek odliczania,
WartośćKońcowa — liczba całkowita, wyrażenie lub zmienna określająca koniec odliczania,
Krok (opcja) — liczba całkowita, wyrażenie lub zmienna określająca wartość skokową, wykorzystywaną przez pętlę do odliczania od wartości początkowej do końcowej.
Przykład:
For Pomocnicza = 1 To 100 Step 5
Zmienna1 = Zmienna2 + Pomocnicza
Next Pomocnicza
Exit For
Instrukcja pozwalająca na natychmiastowe przerwanie działania dowolnej pętli For, bez względu na dotychczasowy stan wykonania pętli.
Przykład:
For Pomocnicza = 1 To 100 Step 5
If Zmienna1 >= 250 Then
Exit For
End If
Zmienna1 = Zmienna2 + Pomocnicza
Next Pomocnicza
2.1.3. If
If
Wykonuje określony blok instrukcji w przypadku, gdy zadany warunek będzie spełniony.
Składnia:
If Warunek Then
Blok instrukcji
End If
Przykład:
If Zmienna1 > Zmiennej2 Then
Zmienna1 = Zmienna1 + 154
End If
If Else
W przypadku spełnienia warunku określonego po słowie kluczowym If wykonany zostanie blok instrukcji po słowie Else.
Składnia instrukcji:
If Warunek Then
Blok instrukcji
Else
Blok instrukcji
End If
Przykład:
If Zmienna = 5 Then
komunikat = MsgBox("Wprowadzona liczba to 5!!!")
Else
komunikat = MsgBox("Wprowadzona liczba jest różna od 5!!!")
End If
If ElseIf
Pozwala na sprawdzanie wielu warunków oprócz pierwszego If. W przypadku spełnienia warunku określonego po nim zostaną sprawdzone wszystkie warunki po kolejnych słowach ElseIf. Wykonany może być jednak tylko jeden blok instrukcji, występujący po odpowiadającym mu słowie If, ElseIf lub Else. Sprawdzanych warunków może być wiele.
Składnia:
If Warunek1 Then
Blok instrukcji
ElseIf Warunek2 Then
Blok instrukcji
ElseIf Warunek3 Then
Blok instrukcji
Else
Blok instrukcji
End If
Przykład:
If Zmienna = 5 Then
komunikat = MsgBox("Wprowadzona liczba to 5!!!")
ElseIf Zmienna = 10 Then
komunikat = MsgBox("Wprowadzona liczba to 10!!!")
ElseIf Zmienna = 12 Then
komunikat = MsgBox("Wprowadzona liczba to 12!!!")
Else
komunikat = MsgBox("Wprowadzona liczba nie jest mi znana!!!")
End If
TypeOf
Sprawdzenie typu podanego obiektu.
Składnia:
TypeOf NazwaObiektu Is TypObiektu.
Przykład:
If TypeOf NowaKontrolka Is CheckBox Then
Komunikat = MsgBox("Obiekt typu CheckBox!!!")
Else
Komunikat = MsgBox("Obiekt nie jest typu CheckBox!!!")
'gdy dany obiekt będzie typu CheckBox, zostanie wyświetlony komunikat
End If
2.1.4. Select Case
Select Case
Instrukcja sprawdza wartość podanego wyrażenia i wybiera jeden odpowiedni blok kodu do wykonania. Sprawdzanych warunków może być wiele.
Składnia:
Select Case Wyrażenie
Case Wartość1
Blok instrukcji
Case Wartość2
Blok instrukcji
Case Wartość3
Blok instrukcji
Case Else
Blok instrukcji
End Select
Przykład:
Select Case Marza
Case 11
Komunikat = MsgBox("Twój zarobek będzie słabiutki")
Case 34
Komunikat = MsgBox("Twój zarobek będzie całkiem dobry")
Case 100
Komunikat = MsgBox("Twój zarobek bardzo dobry")
Case Else
Komunikat = MsgBox("Mam zbyt mało RAM-u!!!")
End Select
Select Case Case Is
Instrukcja sprawdza prawdziwość różnych relacji, zachodzących pomiędzy podanym wyrażeniem a wartością, i w zależności od wyniku wybiera jeden odpowiedni blok kodu do wykonania. Sprawdzanych relacji może być wiele.
Składnia:
Select Case Wyrażenie
Case Is Relacja1
Blok instrukcji
Case Is Relacja2
Blok instrukcji
Case Is Relacja3
Blok instrukcji
Case Else
Blok instrukcji
End Select
Przykład:
Select Case Kwota
Case Is <= 800
Komunikat = MsgBox("Lepiej zmień pracę!!!")
Case Is > 800, Is <= 1500
Komunikat = MsgBox("Słabe te Twoje zarobki")
Case Is > 1500, Is <= 2000
Komunikat = MsgBox("Może być, ale powinieneś mieć więcej")
Case Else
Komunikat = MsgBox("Ile by nie płacili — zawsze będzie mało")
End Select
Select Case Case To
Instrukcja sprawdza prawdziwość różnych przedziałów podanych po słowie kluczowym Case i w zależności od wyniku wybiera jeden odpowiedni blok kodu do wykonania. Sprawdzanych warunków może być wiele.
Składnia:
Select Case Wyrażenie
Case Wartość1a To Wartość1b
Blok instrukcji
Case Wartość2a To Wartość2b
Blok instrukcji
Case Else
Blok instrukcji
End Select
Przykład:
Select Case Wiek
Case 1 To 2
Komunikat = MsgBox("Jesteś jeszcze bardzo malutki")
Case 3 To 13
Komunikat = MsgBox("Jesteś jeszcze dzieckiem")
Case 14 To 18
Komunikat = MsgBox("Należysz do młodzieży")
Case Else
Komunikat = MsgBox("Jesteś już dorosły — zarabiaj na siebie")
End Select
2.2. Funkcje wbudowane
2.2.1. Daty i czasu
2.2.1.1. Date
Funkcja Date zwraca wartość typu Variant (Date), zawierającą aktualną datę systemową.
Składnia:
Date
Przykład:
BiezacaData = Date ' zmiennej BiezacaData przypisana zostaje data systemowa (bieżąca)
2.2.1.2. DateAdd
Funkcja DateAdd zwraca wartość typu Variant (Date), zawierającą datę powstałą poprzez odjęcie lub dodanie określonego przedziału czasowego do podanej daty.
Składnia:
DateAdd (TypOkresu, LiczbaJednostek, Data)
gdzie:
TypOkresu (wymagane) — rodzaj dodawanego lub odejmowanego przedziału czasowego,
|
|||
Wartość |
Opis |
||
yyyy |
rok |
||
q |
kwartał |
||
m |
miesiąc |
||
y |
dzień roku |
||
d |
dzień |
||
w |
dzień tygodnia |
||
ww |
tydzień |
||
h |
godzina |
||
n |
minuta |
||
s |
sekunda |
LiczbaJednostek (wymagane) — wartość liczbowa określająca liczbę dodawanych lub odejmowanych przedziałów czasowych. Wartość ta może być zarówno dodatnia, jak i ujemna. Dodatnia oznacza dodanie podanych jednostek czasu do daty bazowej, ujemna — odjęcie ich od niej,
Data (wymagany) — wyrażenie typu Variant (Date) lub literał, który określa datę, na której wykonana ma zostać operacja.
Przykład 1.:
Zmienna01 = DateAdd("m",5,"20-12-2001")
'do daty 12-12-2001 dodanych zostanie 5 miesięcy, czego
'wynikiem będzie 20-05-2002
Przykład 2.:
Zmienna01 = DateAdd("d",5,Zmienna01)
'do daty zapamiętanej pod Zmienna01 dodanych zostanie
'5 dni miesięcy, czego wynikiem będzie 25-05-2002
2.2.1.3. DateDiff
Funkcja DateDiff zwraca wartość typu Variant (Long), która określa liczbę określonych przedziałów czasowych między dwiema podanymi datami.
Składnia:
DateDiff(TypOkresu, Data1, Data2 [, PierwszyDzieńTygodnia [, PierwszyTydzieńRoku])
gdzie:
TypOkresu (wymagany) — rodzaj wyliczanych przedziałów czasowych (patrz 2.2.1.2),
Data1, Data2 (wymagany) — wyrażenia typu Variant (Date) określające daty wykorzystywane do obliczeń,
PierwszyDzieńTygodnia (opcja) — stała, która określa pierwszy dzień tygodnia — gdy nie zostanie określona, domyślnie przyjmowana jest niedziela,
|
||||
Stała |
Wartość |
Opis |
||
vbUseSystem |
0 |
użyj ustawień NLS API |
||
vbSunday |
1 |
niedziela (domyślna) |
||
vbMonday |
2 |
poniedziałek |
||
vbTuesday |
3 |
wtorek |
||
vbWednesday |
4 |
środa |
||
vbThursday |
5 |
czwartek |
||
vbFriday |
6 |
piątek |
||
vbSaturday |
7 |
sobota |
PierwszyTydzieńRoku (opcja) — stała, która określa pierwszy tydzień roku — gdy nie zostanie określona, domyślnie przyjmowany jest tydzień, w którym jest 1 stycznia,
|
||||
Stała |
Wartość |
Opis |
||
vbUseSystem |
0 |
użyj ustawień NLS API |
||
vbFirstJan |
1 |
tydzień zawierający 1 stycznia (domyślnie) |
||
vbFirstFourDays |
2 |
pierwszy tydzień, w którym są co najmniej cztery dni nowego roku |
||
vbFirstFullWeek |
2 |
pierwszy pełny tydzień nowego roku |
Przykład:
DataBiezaca = Date 'przypisanie zmiennej, bieżącej daty
DataUzytkownika = InputBox("Wprowadź datę...")
'użytkownik wpisuje wymyśloną przez siebie datę
Przedzialy = DateDiff("d", DataBiezaca, DataUzytkownika)
'wyliczenie liczby dni występujących między dwoma datami, określonymi zmiennymi
W przypadku gdy podana przez użytkownika data będzie wyższa, obliczona wartość będzie ujemna.
2.2.1.4. DatePart
Funkcja DatePart zwraca wartość typu Variant lub Integer, określającą liczbę wystąpień określonego okresu czasu do podanej daty.
Składnia:
DatePart(TypOkresu, Data [,PierwszyDzieńTygodnia [, PierwszyTydzieńRoku])
gdzie:
TypOkresu (wymagany) — rodzaj wyliczanych przedziałów czasowych (patrz 2.2.1.2),
Data (wymagane) — wyrażenie typu Variant (Date), określające datę wykorzystywaną do obliczeń,
PierwszyDzieńTygodnia (opcja) — stała, która określa pierwszy dzień tygodnia (patrz 2.2.1.3) — gdy nie zostanie określona, domyślnie przyjmowana jest niedziela,
PierwszyTydzieńRoku (opcja) — stała, która określa pierwszy tydzień roku (patrz 2.2.1.3) — gdy nie zostanie określona, domyślnie przyjmowany jest tydzień, w którym jest 1 stycznia.
Przykład 1.:
DataBiezaca = Date 'przypisanie zmiennej, bieżącej daty
komunikat = DatePart("q", DataBiezaca)
'przypisanie zmiennej numeru bieżącego kwartału w roku
Przykład 2.:
DataBiezaca = Date 'przypisanie zmiennej, bieżącej daty
komunikat = DatePart("ww", DataBiezaca)
'przypisanie zmiennej numeru bieżącego tygodnia w roku
2.2.1.5. DateSerial
Funkcja DateSerial zwraca wartość typu Variant lub Date, określającą datę, będącą odpowiednikiem trzech podanych wartości liczbowych.
Składnia:
DateSerial(rok, miesiąc, dzień)
rok (wymagany) — liczba będąca odpowiednikiem roku (zakres od 100 do 9999),
miesiąc (wymagany) — liczba będąca odpowiednikiem miesiąca (zakres od 1 do 12),
dzień (wymagany) — liczba będąca odpowiednikiem dnia (zakres od 1 do 31).
Przykład:
komunikat = DateSerial(2006, 6 , 11)
' przypisanie zmiennej daty 11 czerwca 2006
2.2.1.6. DateValue
Funkcja DateValue zwraca wartość typu Variant lub Date z wyrażenia reprezentującego datę.
Składnia:
DateValue(Data)
Przykład:
Dim varData As Variant
Komunikat = DateValue("1999-11-25")
'Przypisanie zmiennej, wartości liczbowej podanej daty
2.2.1.7. Day
Funkcja Day zwraca wartość typu Variant lub Integer z liczbą z przedziału 1 - 31, określającą numer dnia miesiąca podanej daty.
Składnia:
Day(Data)
gdzie:
Data (wymagany) — wyrażenie numeryczne lub zmienna reprezentująca datę.
Przykład:
Komunikat = Day("2001-03-23")
'zmienna przyjmie wartość 23
2.2.1.8. Format
(patrz również 2.2.5.1)
Funkcja Format zwraca wartość typu Variant lub String, sformatowaną zgodnie z podanymi instrukcjami.
Składnia:
Format (Wyrażenie[, Format [, PierwszyDzieńTygodnia [, PierwszyTydzieńRoku]]])
gdzie:
Wyrażenie (wymagany) — jakiekolwiek poprawne wyrażenie,
Format (opcja) — nazwa lub zdefiniowane przez użytkownika wyrażenie formatujące,
PierwszyDzieńTygodnia (opcja) — wartość określająca pierwszy dzień tygodnia (patrz 2.2.1.3),
PierwszyTydzieńRoku (opcja) — wartość określająca pierwszy tydzień roku (patrz 2.2.1.3).
Zdefiniowane nazwy formatów daty i czasu:
|
|||
Nazwa formatu |
Opis |
||
General Date |
Wyświetla datę i (lub) czas, np. 25/12/99 05:58 AM. Jeżeli nie podamy części ułamkowej, wyświetla tylko datę, np. 25/12/99, Jeśli zaś brakuje części całkowitej — wyświetla tylko czas, np. 05:58 AM. Wyświetlanie określone jest ustawieniami systemu |
||
Long Date |
Wyświetla datę wg formatu długiej daty, ustawionego przez system |
||
Long Time |
Wyświetla datę wg formatu długiej daty, ustawionego przez system, uwzględniając godzinę, minutę i sekundę |
||
Medium Date |
Wyświetla datę wg formatu średniej daty, odpowiedniego do wersji języka aplikacji typu host |
||
Medium Time |
Wyświetla czas w formacie 12-godzinnym |
||
Short Date |
Wyświetla datę wg formatu krótkiej daty, ustawionego przez system |
||
Short Time |
Wyświetla czas w formacie 24-godzinnym |
Znaki używane podczas samodzielnego tworzenia formatów dla daty i czasu:
|
|||
Znak |
Opis |
||
(:) |
Separator czasu oddzielający godziny, minuty i sekundy |
||
(/) |
Separator daty oddzielający dzień, miesiąc i rok |
||
c |
Wyświetla datę jako ddddd i czas jako ttttt, w tej kolejności. Wyświetla tylko datę, jeżeli nie ma części ułamkowej wartości liczbowej daty, i wyświetla tylko czas, jeżeli nie ma części całkowitej |
||
d |
Wyświetla dzień jako liczbę bez zera na początku (np. 3 zamiast 03) |
||
dd |
Wyświetla dzień jako liczbę z zerem na początku (np. 03 zamiast 3) |
||
ddd |
Wyświetla dzień w skrócie (skróty ang. np.: Thu, Fri) |
||
dddd |
Wyświetla dzień jako pełną nazwę (nazwy ang. np.: Thursday, Friday) |
||
ddddd |
Wyświetla datę jako kompletną datę (dzień, miesiąc, rok) w postaci krótkiej daty systemowej (najczęściej m/d/yy) |
||
dddddd |
Wyświetla datę jako kompletną datę (dzień, miesiąc, rok) w postaci krótkiej daty systemowej (najczęściej mmmm dd, yyyy) |
||
w |
Wyświetla dzień tygodnia w postaci liczby (od 1 dla niedzieli do 7 dla soboty) |
||
ww |
Wyświetla tydzień w roku jako liczbę (od 1 do 54) |
||
m |
Wyświetla miesiąc jako liczbę bez zera na początku (od 1 do 12). Jeżeli występuje bezpośrednio po „h” lub „hh” — minuty są wyświetlone zamiast miesiąca |
||
mm |
Wyświetla miesiąc jako liczbę z zerem na początku (od 01 do 12). Jeżeli występuje bezpośrednio po „h” lub „hh” — minuty są wyświetlone zamiast miesiąca |
||
mmm |
Wyświetla miesiąc w skrócie (skróty ang. np.: Jan, Dec) |
||
mmmm |
Wyświetla miesiąc jako pełną nazwę (nazwy ang. np.: January, December) |
||
q |
Wyświetla kwartał roku jako liczbę (od 1 do 4) |
||
y |
Wyświetla dzień jako liczbę (od 1 do 366) |
||
yy |
Wyświetla rok jako dwucyfrową liczbę (od 00 do 99) |
||
yyyy |
Wyświetla rok jako czterocyfrową liczbę (od --> 100 [Author:md] do 9999) |
||
h |
Wyświetla godzinę jako liczbę bez zera na początku (od 0 do 23) |
||
hh |
Wyświetla godzinę jako liczbę z zerem na początku (od 00 do 23) |
||
n |
Wyświetla minuty jako liczbę bez zera na początku (od 0 do 59) |
||
nn |
Wyświetla minuty jako liczbę z zerem na początku (od 00 do 59) |
||
s |
Wyświetla sekundy jako liczbę bez zera na początku (od 0 do 59) |
||
nn |
Wyświetla sekundy jako liczbę z zerem na początku (od 00 do 59) |
Znak |
Opis |
ttttt |
Wyświetla czas jako kompletny czas (godzina, minuta, sekunda) przy użyciu separatorów czasu zdefiniowanych przez system (najczęściej h:mm:ss). Początkowe zera wyświetlane są w przypadku wcześniejszego ustawienia tej opcji |
AM/PM |
Wyświetla czas w formacie 12-godzinnym, używając dużych liter „AM” i „PM” |
am/pm |
Wyświetla czas w formacie 12-godzinnym, używając małych liter „am” i „pm” |
A/P |
Wyświetla czas w formacie 12-godzinnym, używając dużych liter „A” i „P” |
a/p |
Wyświetla czas w formacie 12-godzinnym, używając małych liter „am” i „pm” |
Przykład 1.:
Komunikat = Format(Time, "Long Time")
'zmienna przyjmuje wartość bieżącego czasu w formacie "długiego czasu"
Przykład 2.:
Komunikat = Format(Date, "Short Date")
'zmienna przyjmuje wartość bieżącej daty w formacie "krótkiej daty systemowej"
2.2.1.9. Hour
Funkcja Hour zwraca wartość liczbową typu Variant lub Integer z zakresu od 0 do 23, określającą numer godziny w podanym czasie.
Składnia:
Hour(Czas)
gdzie:
Czas (wymagany) — wyrażenie numeryczne lub zmienna reprezentująca czas.
Przykład:
Komunikat = Day("22:53:29")
'zmienna przyjmie wartość 22
2.2.1.10. Minute
Funkcja Minute zwraca wartość liczbową typu Variant lub Integer z zakresu od 0 do 59, określającą numer minuty w podanym czasie.
Składnia:
Minute(Czas)
gdzie:
Czas (wymagany) — wyrażenie numeryczne lub zmienna reprezentująca czas.
Przykład:
Komunikat = Minute("22:53:29")
'zmienna przyjmie wartość 53
2.2.1.11. Month
Funkcja Month zwraca wartość liczbową typu Variant lub Integer z zakresu od 1 do 12, określającą numer miesiąca w podanej dacie.
Składnia:
Month(Data)
gdzie:
Date (wymagany) — wyrażenie numeryczne lub zmienna reprezentująca datę.
Przykład:
Komunikat = Month("98, Sty 30")
'zmienna przyjmie wartość 1
2.2.1.12. Now
Funkcja Now zwraca wartość liczbową typu Variant lub Date, będącą aktualną datą i czasem systemowym, zgodną z formatem systemowym daty i czasu.
Składnia:
Now
Przykład:
Komunikat = Now
'zmienna przyjmie wartość zgodną ze wskazaniem aktualnej
'daty i czasu systemowego w domyślnym formacie
2.2.1.13. Second
Funkcja --> Minute [Author:md] zwraca wartość liczbową typu Variant lub Integer z zakresu od 0 do 59, określającą numer sekundy w podanym czasie.
Składnia:
Second(Czas)
gdzie:
Czas (wymagany) — wyrażenie numeryczne lub zmienna reprezentująca czas.
Przykład:
Komunikat = Minute("22:53:29")
'zmienna przyjmie wartość 29
2.2.1.14. Time
Funkcja Now zwraca wartość liczbową typu Variant lub Date, będącą aktualnym czasem systemowym zgodnym z formatem systemowym czasu.
Składnia:
Time
Przykład:
Komunikat = Time
'zmienna przyjmie wartość zgodną ze wskazaniem aktualnego
'czasu systemowego w domyślnym formacie
2.2.1.15. Timer
Funkcja Timer zwraca wartość typu Single, określającą liczbę sekund, które upłynęły od północy.
Składnia:
Timer
Przykład:
Komunikat = Timer
'przy założeniu, że obecnie jest np. godz. O:59,
'zmienna przyjmie wartość 59
2.2.1.16. TimeSerial
Funkcja TimeSerial zwraca wartość typu Variant lub Time, będącą określeniem czasu i złożeniem trzech podanych wartości liczbowych.
Składnia:
TimeSerial(godzina, minuta, sekunda)
gdzie:
godzina (wymagany) — liczba typu Integer z zakresu 0 do 23 reprezentująca godzinę,
minuta (wymagany) — liczba typu Integer z zakresu 0 do 59 reprezentująca minutę,
sekunda (wymagany) — liczba typu Integer z zakresu 0 do 59 reprezentująca sekundę.
Przykład:
Komunikat = TimeSerial(12, 54, 27)
'zmienna przyjmie wartość w formacie czasu; "12:54:27"
2.2.1.17. TimeValue
Funkcja TimeValue zwraca wartość typu Variant lub Date, zawierającą czas.
Składnia:
TimeValue(Czas)
gdzie:
Czas (wymagany) — wyrażenie numeryczne lub zmienna reprezentująca czas. Można stosować zarówno 12-, jak i 24-godzinny zapis, np. "1:06PM" lub "13:06". Jednocześnie argument ten może zawierać informację o dacie (zmienna) — funkcja nie zwróci ich, jeżeli jednak będą niepoprawne, to wystąpi błąd.
Przykład:
Komunikat = TimeValue("1:23:17 PM")
2.2.1.18. Weekday
Funkcja Weekday zwraca wartość typu Variant lub Integer, określającą numer dnia tygodnia podanej daty.
Składnia:
Weekday(Data [,PierwszyDzieńTygodnia])
gdzie:
Data (wymagany) — wyrażenie numeryczne lub zmienna reprezentująca datę,
PierwszyDzieńTygodnia (opcja) — wartość określająca pierwszy dzień tygodnia (patrz 2.2.1.3).
Wartości zwracane przez funkcję Weekday:
|
||||
Stała |
Wartość |
Opis |
||
vbSunday |
1 |
niedziela (domyślnie) |
||
vbMonday |
2 |
poniedziałek |
||
vbTuesday |
3 |
wtorek |
||
vbWednesday |
4 |
środa |
Stała |
Wartość |
Opis |
vbThursday |
5 |
czwartek |
vbFriday |
6 |
piątek |
vbSaturday |
7 |
sobota |
Przykład:
Komunikat = Weekday("2001, Marzec 26")
'zmienna przyjmie wartość 2 — poniedziałek,
2.2.1.19. Year
Funkcja Year zwraca wartość typu Variant lub Integer z liczbą, określającą numer roku podanej daty.
Składnia:
Year(Data)
gdzie:
Data (wymagany) — wyrażenie numeryczne lub zmienna reprezentująca datę.
Przykład:
Komunikat = Month("98, Sty 30")
'zmienna przyjmie wartość 1998
2.2.2. Konwertujące
2.2.2.1. Array
Funkcja Array zwraca wartość typu Variant, zawierającą tablicę.
Składnia:
Array(ListaArgumentów)
gdzie:
ListaArgumentów (wymagany) — lista wartości, oddzielonych od siebie przecinkami, które mają wypełnić tablicę zawartą w typie Variant. Jeżeli nie zostanie podana lista argumentów, zostanie stworzona tablica o zerowej długości.
Aby odwołać się do konkretnego elementu tablicy, trzeba podać nazwę zmiennej reprezentującej tablicę i indeks reprezentujący ten element (w nawiasie). Trzeba przy tym pamiętać, że elementy tablic w języku Visual Basic indeksowane są od 0.
Przykład:
Dim Element As Variant, ZmiennaZTablicy As Variant
ZmiennaTablicy = Array("Pn","Wt","Sr","Cz","Pt","So","Ni")
Element = ZmiennaZTablicy(2)
'zmienna "Element", przyjmuje wartość elementu
'tablicy o indeksie 2, czyli "Sr"
2.2.2.2. Oct
Funkcja Oct zwraca wartość typu String, będącą oktagonalnym (czyli ósemkowym) zapisem wprowadzonej jako parametr wartości.
Składnia:
Oct(Wartość)
gdzie:
Wartość (wymagany) — dowolne wyrażenie numeryczne lub łańcuchowe.
Jeżeli zdarzyłoby się, że wprowadzona jako parametr wartość nie jest poprawną liczbą, zostanie ona zaokrąglona do najbliższej poprawnej liczby.
Liczb oktagonalnych można również używać bezpośrednio w kodzie programu, poprzedzając je znakami „&O”, np.: &O713 (reprezentuje dziesiętną liczbę 459).
Wartości zwracane przez funkcję Oct:
|
||
Wartość |
Zwracana wartość |
|
Null |
null |
|
Empty |
zero (0) |
|
Inna wartość |
do 11 znaków oktagonalnych |
Przykład:
Dim zm1 As Variant
zm1 = Oct(4) 'zmienna "zm1" przyjmuje wartość 4
zm1 = Oct(8) 'zmienna "zm1" przyjmuje wartość 10
zm1 = Oct(459) 'zmienna "zm1" przyjmuje wartość 713
2.2.2.3. Hex
Funkcja Hex zwraca wartość typu String, będącą heksadecymalnym (czyli szesnastkowym) zapisem wprowadzonej jako parametr wartości.
Składnia:
Hex(Wartość)
gdzie:
Wartość (wymagany) — dowolne wyrażenie numeryczne lub łańcuchowe.
Jeżeli zdarzyłoby się, że wprowadzona jako parametr wartość nie jest poprawną liczbą, zostanie ona zaokrąglona do najbliższej poprawnej liczby.
Liczb oktagonalnych, można również używać bezpośrednio w kodzie programu, poprzedzając liczbę znakami „&H”, np.: &HA (reprezentuje dziesiętną liczbę 10).
Wartości zwracane przez funkcję:
|
|||
Wartość |
Zwracana wartość |
||
Null |
null |
||
Empty |
zero (0) |
||
Inna wartość |
do 11 znaków oktagonalnych |
Przykład:
Dim zm1 As Variant
zm1 = Hex(5) 'zmienna "zm1" przyjmuje wartość 5
zm1 = Hex(10) 'zmienna "zm1" przyjmuje wartość A
zm1 = Hex(459) 'zmienna "zm1" przyjmuje wartość 1CB
2.2.2.4. CBool
Funkcja CBool konwertuje wprowadzone wyrażenie na typ Boolean.
Składnia:
CBool(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne lub łańcuchowe.
Przykład:
zmiennaA=5
zmiennaB=5
wynik=CBool(zmiennaA=zmiennaB)
'zmienna "wynik" przyjmuje wartość TRUE,
'ponieważ wyrażenie jest prawdziwe
zmiennaA=0
wynik=CBool(zmiennaA)
'zmienna "wynik" przyjmuje wartość FALSE
2.2.2.5. CByte
Funkcja CByte konwertuje wprowadzone wyrażenie na typ Byte.
Składnia:
CByte(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne z zakresu 0 - 255.
Przykład:
zmA=245.5643
varByte=CByte(varDouble)
'zmienna "zmA" przyjmuje wartość 245
2.2.2.6. CCur
Funkcja CCur konwertuje wprowadzone wyrażenie na typ Currency.
Składnia:
CCur(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne z zakresu
-922 337 203 685 477,5808 - 922 337 203 685 477,5807.
Przykład:
zmA=156.12129
zmB=CCur(zmA*2)
'po konwersji wyniku wyrażenia zmA*2 (312.24258)
'do typu zmienna zmB przyjmuje wartość 312.2426
2.2.2.7. Cdate (CVDate)
Funkcja CDate (CVDate) konwertuje wprowadzone wyrażenie na typ Date.
Składnia:
CDate(Wyrażenie)
lub
CVDate(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne lub łańcuchowe określające poprawną datę.
Aby określić, czy stosowane wyrażenie może być przekonwertowane na datę lub czas, należy wcześniej użyć testującej funkcji IsDate (patrz 2.2.6.5).
Przykład:
zmA="1969, Luty 12" 'podstawienie daty
zmC=CDate(zmA) 'konwersja do typu Data
zmB="4:35:47" 'podstawienie czasu
zmC=CDate(zmB) 'konwersja do typu Data
2.2.2.8. CDbl
Funkcja CDbl konwertuje wprowadzone wyrażenie na typ Double.
Składnia:
CDbl(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne w zakresie
-1,79769313486232E308 do -4,94065645841247E-324 dla wartości ujemnych oraz 4,94065645841247E-324 do 1,79769313486232E308 dla wartości dodatnich.
Przykład:
zmA= 156.12129
zmB=CDbl(zmA*2)
'konwersja wyniku wyrażenia na typ Double
2.2.2.9. CDec
Funkcja CDec zawsze zwraca typ Variant, którego wartość może być następnie przekonwertowana do podtypu Decimal.
Składnia:
CDec(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne w zakresie
+/- 79 228 162 514 264 337 593 543 950 335 dla liczb bez miejsc dziesiętnych.
Dla liczb z 28 miejscami dziesiętnymi: +/-7,9228162514264337593543950335. Najmniejsza liczba niezerowa: 0,0000000000000000000000000001.
Przykład:
zmA= 156.12129
zmB=CDec(zmA*2)
'konwersja wyniku wyrażenia na typ Decimal
2.2.2.10. CInt
Funkcja CInt konwertuje wprowadzone wyrażenie na typ Integer.
Składnia:
CInt(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne w zakresie 32,768 do 32,767 (część ułamkowa zostaje zaokrąglona, w przypadku
0,5 — zawsze „w dół”).
Przykład:
zmA= 12,5
zmB=CDbl(zmA+3)
'konwersja wyniku wyrażenia na typ Integer
2.2.2.11. CLng
Funkcja CLng konwertuje wprowadzone wyrażenie na typ Long.
Składnia:
CLng(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne w zakresie
-2 147 483 648 do 2 147 483 647 (część ułamkowa zostaje zaokrąglona, w przypadku 0,5 — zawsze „w dół”).
Przykład:
zmA= 123.5
zmB=CDbl(zmA+45)
'konwersja wyniku wyrażenia na typ Long
2.2.2.12. CSng
Funkcja CSng konwertuje wprowadzone wyrażenie na typ Single.
Składnia:
CSng(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne w zakresie
-3,402823E38 do -1,401298E-45 dla wartości ujemnych, 1,401298E-45 do 3,402823E38 dla wartości dodatnich.
Przykład:
zmA= 312.365
zmB=CSng(zmA/5)
'konwersja wyniku wyrażenia na typ Single
2.2.2.13. CStr
Funkcja CStr konwertuje wprowadzone wyrażenie na typ String.
Składnia:
CStr(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne lub łańcuchowe.
Wartości zwracane przez funkcję CStr:
|
|||
Wyrażenie |
Wartość zwracana |
||
Boolean |
łańcuch zawierający True lub False |
||
Date |
łańcuch zawierający datę w krótkim formacie zgodnym z ustawieniami systemowymi |
||
Null |
błąd (run-time) |
||
Empty (pusty) |
łańcuch zerowej długości ("") |
||
Error (błąd) |
słowo Error poprzedzone numerem błędu |
||
Inne wartości numeryczne |
łańcuch zawierający te wartości |
Przykład:
zmA=515.333
zmB=CSng(zmA)
'konwersja wyniku wyrażenia na typ String
2.2.2.14. CVar
Funkcja CVar konwertuje wprowadzone wyrażenie na typ Variant.
Składnia:
CVar(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie numeryczne lub łańcuchowe.
Przykład:
zmA="28694"
zmB=CVar(zmA)
'konwersja wyniku wyrażenia na typ Variant
2.2.3. Matematyczne
2.2.3.1. Abs
Funkcja Abs zwraca wartość bezwzględną podanej wartości podanego typu.
Składnia:
Abs(wartość)
gdzie:
Wartość (wymagany) — dowolne wyrażenie numeryczne.
Przykład:
zmA=326,3
zmB=Abs (zmA) 'zmienna przyjmuje wartość 326.3
zmC=Abs(-89.6) 'zmienna przyjmuje wartość 89.6
2.2.3.2. Atn
Funkcja Atn zwraca wartość funkcji arcus tangens (typu Double) podanego kąta.
Składnia:
Atn(Wartość)
gdzie:
Wartość (wymagany) — typu Double lub dowolne wyrażenie numeryczne.
Zakres wyników funkcji Atn jest od -π/2 do π/2 radianów (gdzie π jest stałą matematyczną o wartości 3,1415926535897932).
Przykład:
zmA=Atn(36)
'arcus tangens z liczby 36
2.2.3.3. Cos
Funkcja Cos zwraca wartość funkcji cosinus podanego kąta.
Składnia:
Cos(Wartość)
gdzie:
Wartość (wymagany) — typu Double lub dowolne wyrażenie numeryczne określające kąt w radianach.
Zakres wyników funkcji Cos: od -1 do 1.
Przykład:
zmA=Cos(25)
'cosinus z liczby 25
2.2.3.4. Exp
Funkcja Exp zwraca wartość stałej e (podstawy logarytmu naturalnego) podniesionej do podanej potęgi. Zwracana wartość jest typu Double.
Składnia:
Exp(Potęga)
gdzie:
Potęga (wymagany) — typu Double lub dowolne wyrażenie numeryczne określające kąt w radianach.
Przykład:
zmA=Exp(5)
'podniesienie stałej „e” do potęgi 5
2.2.3.5. Fix
Funkcja Fix zwraca część całkowitą podanej liczby.
Składnia:
Fix(Wartość)
gdzie:
Wartość (wymagany) — typu Double lub dowolne wyrażenie numeryczne.
Funkcja Fix zwraca najbliższą liczbę całkowitą mniejszą (lub równą) od podanej w przypadku liczb dodatnich. W przypadku liczb ujemnych zwraca najbliższą liczbę całkowitą większą (lub równą) od podanej.
Przykład:
zmB=Fix (96.8) 'zmienna przyjmuje wartość 96
zmC=Fix(-89.6) 'zmienna przyjmuje wartość -90
2.2.3.6. Int
Funkcja Int zwraca część całkowitą podanej liczby.
Składnia:
Int(Wartość)
gdzie:
Wartość (wymagany) — typu Double lub dowolne wyrażenie numeryczne.
Funkcja Int zwraca najbliższą liczbę całkowitą mniejszą (lub równą) od podanej w przypadku liczb dodatnich. W przypadku liczb ujemnych zwraca najbliższą liczbę całkowitą mniejszą (lub równą) od podanej.
Przykład:
zmB=Fix (96.8) 'zmienna przyjmuje wartość 96
zmC=Fix(-89.6) 'zmienna przyjmuje wartość -89
2.2.3.7. Log
Funkcja Log zwraca wartość logarytmu naturalnego podanej liczby typu Double.
Składnia:
Log(Wartość)
gdzie:
Wartość (wymagany) — typu Double lub dowolne wyrażenie numeryczne >0.
Przykład:
Dim varLiczba As Variant
zmA=Log(10)
'logarytm z 10
2.2.3.8. Rnd
Funkcja Rnd zwraca liczbę pseudolosową typu Single.
Składnia:
Rnd[(Wartość)]
gdzie:
Wartość (opcja) — typu Single lub dowolne wyrażenie numeryczne.
Wartości zwracane przez funkcję:
|
|||
Wartość wejściowa |
Zwracana wartość |
||
Mniejsza niż zero |
ta sama wartość za każdym razem (wartość wejściowa używana jako podstawa generatora liczb losowych) |
||
Równa zero |
najczęściej generowana liczba |
||
Większa niż zero |
następna liczba losowa w sekwencji |
||
Nieokreślona |
następna liczba losowa w sekwencji |
Funkcja Rnd zwraca wartość mniejszą niż 1 i większą lub równą 0.
Przykład:
zmA=Int((7*Rnd)+1)
'wygenerowanie liczby losowej z zakresu 1-7
2.2.3.9. Sgn
Funkcja Sgn zwraca wartość typu Integer, określającą znak podanej wartości.
Składnia:
Sgn(Wartość)
gdzie:
Wartość (wymagany) — dowolne wyrażenie numeryczne.
Wartości zwracane przez funkcję:
|
|||
Wartość wejściowa |
Zwracana wartość |
||
Większa niż zero |
1 |
||
Równa zero |
0 |
||
Mniejsza niż zero |
-1 |
Przykład:
zmA=Sgn(15) 'zmienna przyjmuje wartość 1
zmB=Sgn(0) 'zmienna przyjmuje wartość 0
zmC=Sgn(-23) 'zmienna przyjmuje wartość -1
2.2.3.10. Sin
Funkcja Sin zwraca wartość funkcji sinus podanego kąta.
Składnia:
Sin(Wartość)
gdzie:
Wartość (wymagany) — typu Double lub dowolne wyrażenie numeryczne określające kąt w radianach.
Zakres wyników funkcji Sin: -1 do 1.
Przykład:
zmA=Sin(90)
'sinus z 90
2.2.3.11. SqR
Funkcja Sqr zwraca wartość pierwiastka kwadratowego podanej wartości typu Double.
Składnia:
Sqr(Wartość)
gdzie:
Wartość (wymagany) — typu Double lub dowolne wyrażenie numeryczne >=0. Jeżeli będzie miał wartość mniejszą od zera, zostanie wygenerowany błąd.
Przykład:
zmA=Sqr(25) 'zmienna przyjmuje wartość 5
zmB=Sqr(0) 'zmienna przyjmuje wartość 0
2.2.3.12. Tan
Funkcja Tan zwraca wartość funkcji tangens (typu Double) podanej wartości.
Składnia:
Tan(Wartość)
gdzie:
Wartość (wymagany) — typu Double lub dowolne wyrażenie numeryczne określające kąt w radianach.
Przykład:
zmA=Sin(85)
'tangens z 85
2.2.4. Tekstowe
2.2.4.1. Format
(patrz również 2.2.1.8)
Funkcja Format zwraca wartość typu Variant (String) sformatowaną odpowiednio do instrukcji zawartych w wyrażeniu.
Składnia:
Format (Wyrażenie[, Format [, PierwszyDzieńTygodnia[, PierwszyTydzieńRoku]]])
gdzie:
Wyrażenie (wymagany) — dowolne poprawne wyrażenie,
Format (opcja) — nazwa lub zdefiniowane przez użytkownika wyrażenie formatujące,
PierwszyDzieńTygodnia (opcja) — opcjonalna wartość lub stała określająca pierwszy dzień tygodnia,
PierwszyTydzieńRoku (opcja) — opcjonalna wartość lub stała określająca pierwszy tydzień roku.
Wartości i stałe dla argumentu PierwszyDzieńTygodnia i PierwszyTydzieńRoku wypisane są w punkcie 2.2.1.3.
Różne formaty dla różnych wartości numerycznych
Wyrażenie Format zdefiniowane przez użytkownika dla liczb może mieć od jednej do czterech sekcji oddzielonych od siebie średnikami. Jeżeli argument Format zawiera jeden z formatów numerycznych, to tylko jedna sekcja jest dozwolona.
|
|||
Przy użyciu |
Otrzymany wynik |
||
tylko jednej sekcji |
wyrażenie Format stosowane do wszystkich wartości |
||
dwóch sekcji |
pierwsza sekcja stosowana jest do dodatnich wartości i zera, druga do ujemnych wartości |
||
trzech sekcji |
pierwsza sekcja stosowana jest do dodatnich wartości, druga do ujemnych wartości, trzecia do zera |
||
czterech sekcji |
pierwsza sekcja stosowana jest do dodatnich wartości, druga do ujemnych wartości, trzecia do zera, a czwarta do wartości Null |
Poniższy przykład ma dwie sekcje, pierwsza definiuje format dla dodatnich wartości i zera, druga definiuje format dla ujemnych wartości:
"$#,##0;($#,##0)"
Przy użyciu średników, bez żadnych znaków między nimi, opuszczona sekcja jest wyświetlana z użyciem formatu dla dodatnich wartości. Na przykład poniższy format wyświetla dodatnie i ujemne wartości, używając formatu pierwszej sekcji i wyświetla "Zero", jeżeli wartość jest zero:
"$#,###;;\Z\e\r\o"
Różne formaty dla różnych łańcuchowych wartości
Wyrażenie Format dla łańcuchów może mieć jedną lub dwie sekcje oddzielone średnikami.
|
|||
Przy użyciu |
Otrzymany wynik |
||
tylko jednej sekcji |
wyrażenie Format stosowane do wszystkich danych string |
||
dwóch sekcji |
pierwsza sekcja stosowana jest do danych łańcuchowych, druga do wartości Null i do pustych łańcuchów ("") |
Zdefiniowane formaty numeryczne
|
|||
Nazwa formatu |
Opis |
||
General Number |
Wyświetla liczbę bez separatora tysięcy |
||
Currency |
Wyświetla liczbę z separatorem tysięcy, jeżeli jest potrzebny; wyświetla dwie cyfry do prawej strony separatora dziesiętnego. Formatowanie jest oparte na ustawieniach lokalnych w systemie |
||
Fixed |
Wyświetla przynajmniej jedną cyfrę od lewej i dwie cyfry od prawej strony separatora dziesiętnego |
||
Standard |
Wyświetla liczbę z separatorem tysięcy, przynajmniej jedną cyfrę od lewej i dwie cyfry od prawej strony separatora dziesiętnego |
||
Percent |
Wyświetla liczbę pomnożoną przez 100 ze znakiem procentu (%) dołączonym do prawej strony, zawsze wyświetla dwie cyfry po prawej stronie separatora dziesiętnego |
||
Scentific |
Używa standardowego formatu wykładniczego |
||
Yes/No |
Wyświetla Nie (No), jeżeli liczba jest 0, w przeciwnym przypadku wyświetla Tak (Yes) |
||
True/False |
Wyświetla False, jeżeli liczba jest 0, w przeciwnym przypadku wyświetla True |
||
On/Off |
Wyświetla Off, jeżeli liczba jest 0, w przeciwnym przypadku wyświetla On |
Formaty numeryczne zdefiniowane przez użytkownika
Znaki, jakich można używać do tworzenia formatów numerycznych użytkownika:
|
|||
Znak |
Opis |
||
None |
Wyświetla niesformatowaną liczbę |
||
0 |
Znak pola. Wyświetla cyfrę lub zero. Jeżeli wyrażenie zawiera cyfrę na pozycji, gdzie występuje 0 w wyrażeniu Format, wyświetla ją, w przeciwnym wypadku wyświetla zero na tej pozycji. Jeżeli wyrażenie ma mniej pozycji, niż jest zer po obu stronach kropki dziesiętnej w określonym formacie, to do wyświetlanej liczby są dodawane zera. W przypadku gdy wyrażenie ma więcej pozycji z lewej strony kropki dziesiętnej, to dodatkowe pozycje zostaną wyświetlone, gdy zaś z prawej strony, to zostaną obcięte |
||
# |
Znak pola. Wyświetla cyfrę lub nic. Jeżeli wyrażenie zawiera cyfrę na pozycji, gdzie występuje 0 w wyrażeniu Format, wyświetla ją, w przeciwnym przypadku nic nie wyświetla na tej pozycji. W przypadku gdy wyrażenie ma mniej pozycji, niż jest zer po obu stronach kropki dziesiętnej w określonym formacie, to do wyświetlanej liczby nie są dodawane zera |
||
. |
Znak dziesiętny. W niektórych lokalnych ustawieniach jako separator dziesiętny jest używany przecinek. Znak dziesiętny określa pozycję kropki dziesiętnej w utworzonym formacie. Jeżeli z lewej strony tego znaku nie ma znaków pola, to liczby mniejsze od 1 zaczynane są znakiem dziesiętnym. Aby wyświetlić zero na początku wyświetlanej liczby ułamkowej, należy użyć znaku 0 jako pierwszego znaku pola po lewej stronie znaku dziesiętnego. Znak używany jako znak dziesiętny w formatowanym wyjściu zależy od formatu numerycznego, rozpoznawanego przez system |
||
% |
Znak procentu. Jest wstawiany do wyrażenia na pozycję, na której ma być wyświetlony. Wyrażenie jest mnożone przez 100 |
||
, |
Separator tysięcy. W niektórych lokalnych ustawieniach jako separator dziesiętny jest używana kropka. Standardowe użycie separatora tysięcy jest określone, jeżeli format zawiera separator tysięcy otoczony przez znaki pola (0 lub #). Dwa bezpośrednio do siebie przylegające separatory tysięcy lub separator tysięcy bezpośrednio po lewej stronie separatora dziesiętnego oznaczają, że wielkość liczby, jeżeli jest to potrzebne, jest dzielona przez 1000. Na przykład można użyć wyrażenia format "##0,," do przedstawienia liczy 100 milionów jako 100. Liczby mniejsze niż milion są wyświetlane jako 0. Dwa bezpośrednio po sobie następujące separatory tysięcy w jakiejkolwiek innej pozycji niż po lewej stronie znaku dziesiętnego są traktowane jako normalne separatory tysięcy. Znak używany jako separator tysięcy w formatowanym wyjściu zależy od formatu numerycznego rozpoznawanego przez system |
||
: |
Separator czasu. W niektórych lokalnych ustawieniach jako separatory czasu mogą być używane inne znaki. Separator czasu oddziela od siebie godziny, minuty i sekundy, gdy wartość czasu jest formatowana. Znak używany jako separator czasu w formatowanym wyjściu jest określony przez ustawienia systemu |
||
/ |
Separator daty. W niektórych lokalnych ustawieniach inne znaki mogą być używane jako separatory daty. Separator daty oddziela od siebie dzień, miesiąc i rok, gdy wartość daty jest formatowana. Znak używany jako separator daty w formatowanym wyjściu jest określony przez ustawienia systemu |
Znak |
Opis |
E+ E- e+ e- |
Format wykładniczy. Umieszczenie jednego z symboli wykładniczych z prawej strony znaków pola powoduje, że liczba jest wyświetlana w formacie wykładniczym. Litera E lub e jest umieszczona między liczbą a wykładnikiem. Dla liczb ujemnych należy użyć symboli z minusem. Liczbę znaków wykładnika potęgi określa się za pomocą znaków pola umieszczonych z prawej strony symbolu wykładniczego |
- + $ () |
Wyświetla znak literowy. Do wyświetlenia znaków innych niż wymienione należy je poprzedzić ukośnikiem wstecznym (\) lub zamknąć w dwóch znakach cudzysłowu (" "). |
\ |
Znak zezwolenia. Pozwala na wyświetlenie znaków używanych do formatowania. Aby wyświetlić taki znak, należy poprzedzić go znakiem zezwolenia. Aby wyświetlić znak zezwolenia, należy użyć go podwójnie. Przykłady znaków, które nie mogą być normalnie wyświetlane: znaki formatowania daty i czasu (a, c, d, h, m, n, p, q, s, t, w, y, /, :), znaki formatowania numerycznego (#, 0, %, E, e, przecinek, kropka), znaki formatowania łańcuchowego (@, &, <, >, !) |
"ABC" |
Wyświetla łańcuch zawarty między dwoma znakami cudzysłowu (" "). Aby włączyć łańcuch do argumentu Format z kodu, należy użyć Chr(34) do załączenia tekstu (34 jest kodem znaku cudzysłowu (")) |
Formaty łańcuchowe zdefiniowane przez użytkownika
Znaki, jakich można używać do tworzenia wyrażenia Format dla łańcuchów:
|
|||
Znak |
Opis |
||
@ |
Miejsce na znak. Wyświetla znak albo spację. Jeżeli łańcuch zawiera znak na pozycji, gdzie jest symbol (@) w wyrażeniu Format, wyświetla go, w przeciwnym wypadku wyświetla spację na tej pozycji. Miejsca na znaki są wypełniane od prawej strony do lewej, o ile nie występuje znak wykrzyknika (!) w wyrażeniu Format |
||
& |
Miejsce na znak. Wyświetla znak lub nic nie wyświetla. Jeżeli łańcuch zawiera znak na pozycji, gdzie jest symbol (&) w wyrażeniu Format, wyświetla go, w przeciwnym wypadku nie wyświetla nic. Miejsca na znaki są wypełniane od prawej strony do lewej, o ile nie występuje znak wykrzyknika (!) w wyrażeniu Format |
||
< |
Wyświetla wszystkie znaki w formacie małych liter |
||
> |
Wyświetla wszystkie znaki w formacie dużych liter |
||
! |
Powoduje wypełnianie miejsc na znaki od lewej do prawej. Standardowo są wypełniane od prawej do lewej |
Przykład 1.:
Komunikat = Format(Time, "Long Time")
'zmienna przyjmuje wartość bieżącego czasu w formacie "długiego czasu"
Przykład 2.:
Komunikat = Format(Date, "Short Date")
'zmienna przyjmuje wartość bieżącej daty w formacie "krótkiej daty systemowej"
Przykład 3.:
zmCzas = #16:09: 32#
zmA = Format(zmCzas, "h:m:s")
'zmienna przyjmuje wartość "16:9:32"
Przykład 4.:
zmCzas = #16:04:32#
zmA = Format(varCzas, "hh:mm:ss AMPM")
'zmienna przyjmuje wartość "04:09:32 PM"
Przykład 5.:
zmData = #December 28, 2001#
zmA = Format(zmData, "dddd, mmm d yyyy")
'zmienna przyjmuje wartość "Friday, Dec 28 2001"
Przykład 6.:
zmA = Format(58)
'zmienna przyjmuje wartość "58"
Przykład 7.:
zmA = Format(569.3, "###0.00")
'zmienna przyjmuje wartość "569.30"
Przykład 8.:
zmA = Format("TO jEsT teKST", "<")
'zmienna przyjmuje wartość "to jest tekst"
2.2.4.2. LCase
Funkcja LCase zwraca łańcuch znakowy (typu String) przekonwertowany na małe litery.
Składnia:
LCase(Łańcuch)
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe.
Przykład:
zmA = LCase("TO jEsT teKST", "<")
'zmienna przyjmuje wartość "to jest tekst"
2.2.4.3. UCase
Funkcja LCase zwraca łańcuch znakowy (typu String) przekonwertowany na duże litery.
Składnia:
LCase(Łańcuch)
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe.
Przykład:
zmA = UCase("To jEst teKsT", "<")
'zmienna przyjmuje wartość "TO JEST TEKST"
2.2.4.4. StrConv
Funkcja StrConv zwraca łańcuch znakowy (typu String) przekonwertowany wg specyfikacji.
Składnia:
StrConv(Łańcuch, Konwersja)
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe,
Konwersja (wymagany) — wyrażenie typu Integer będące sumą wartości określających sposób konwersji.
Stałe i ich wartości wykorzystywane w funkcji:
|
||||
Stała |
Wartość |
Opis |
||
vbUpperCase |
1 |
konwersja na duże litery |
||
vbLowerCase |
2 |
konwersja na małe litery |
||
vbProperCase |
3 |
konwersja pierwszej litery każdego słowa na dużą |
||
vbWide* |
4* |
konwersja znaków narrow (jeden bajt) na wide (dwa bajty) |
||
vbNarrow* |
8* |
konwersja znaków wide (dwa bajty) na narrow (jeden bajt) |
||
vbKatakana** |
16** |
konwersja znaków Hiragana na znaki Katakana |
||
vbHiragana** |
32** |
konwersja znaków Katakana na znaki Hiragana |
||
vbUnicode |
64 |
konwersja do Unicode używająca standartowej strony kodowej systemu |
||
vbFromUnicode |
128 |
konwersja z Unicode do standartowej strony kodowej systemu |
||
* Dotyczy Dalekiego Wschodu ** Dotyczy tylko Japonii |
Przykład:
zmA="TO jEst teKsT"
zmB=StrConv(zmA,vbProperCase)
'zmienna przyjmuje wartość "To Jest Tekst"
2.2.4.5. LTrim
Funkcja LTrim zwraca łańcuch znakowy (typu String) przekonwertowany wg specyfikacji bez początkowych spacji.
Składnia:
LTrim(Łańcuch)
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe.
Przykład:
zmA=" To Jest Tekst"
zmB=LTrim(zmA)
'zmienna przyjmuje wartość "To Jest Tekst"
2.2.4.6. RTrim
Funkcja RTrim zwraca łańcuch znakowy (typu String) przekonwertowany wg specyfikacji bez końcowych spacji.
Składnia:
RTrim(Łańcuch)
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe.
Przykład:
zmA=" To Jest Tekst "
zmB=LTrim(zmA)
'zmienna przyjmuje wartość " To Jest Tekst"
2.2.4.7. Trim
Funkcja Trim zwraca łańcuch znakowy (typu String) przekonwertowany wg specyfikacji bez początkowych i końcowych spacji.
Składnia:
Trim(Łańcuch)
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe.
Przykład:
zmA=" To Jest Tekst "
zmB=Ltrim(zmA)
'zmienna przyjmuje wartość "To Jest Tekst"
2.2.4.8. Left
Funkcja Left zwraca łańcuch znakowy (typu String), zawierający określoną liczbę znaków od lewej strony łańcucha.
Składnia:
Left(Łańcuch, Długość)
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe,
Długość (wymagany) — wyrażenie typu Long, określające, ile znaków licząc od lewej strony Łańcucha ma zostać zwróconych.
Przykład:
zmA="tekst do przetestowania"
zmB=Left(zmA, 18)
--> 'zmienna przyjmuje wartość "tekst do przetesto" [Author:PGon]
2.2.4.9. LeftB
Funkcja LeftB zwraca łańcuch znakowy (typu String), zajmujący określoną liczbę bajtów od lewej strony łańcucha.
Składnia:
LeftB(Łańcuch, Długość)
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe,
Długość (wymagany) — wyrażenie typu Long, określające rozmiar Łańcucha, który ma zostać zwrócony (w bajtach) od lewej strony łańcucha.
Przykład:
zmA="To jest tekst testowy"
zmB=LeftB(zmA, 22)
--> 'zmienna przyjmuje wartość "To jest tek" [Author:PGon]
2.2.4.10. Right
Funkcja Right zwraca łańcuch znakowy (typu String), zawierający określoną liczbę znaków od prawej strony łańcucha.
Składnia:
Right(Łańcuch, Długość)
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe,
Długość (wymagany) — wyrażenie typu Long, określające, ile znaków licząc od prawej strony Łańcucha ma zostać zwróconych.
Przykład:
zmA="tekst do przetestowania"
zmB=Right(zmA, 12)
'zmienna przyjmuje wartość "zetestowania"
2.2.4.11. RightB
Funkcja LeftB zwraca łańcuch znakowy (typu String), zajmujący określoną liczbę bajtów od prawej strony łańcucha.
Składnia:
RightB(Łańcuch, Długość)
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe,
Długość (wymagany) — wyrażenie typu Long, określające rozmiar Łańcucha, który ma zostać zwrócony (w bajtach) od prawej strony łańcucha.
Przykład:
zmA="To jest tekst testowy"
zmB=RightB(zmA, 22)
'zmienna przyjmuje wartość "kst testowy "
2.2.4.12. Mid
Funkcja Mid zwraca łańcuch znakowy (typu String), zawierający określoną liczbę znaków z łańcucha.
Składnia:
Mid(Łańcuch, Początek [,Długość])
gdzie:
Łańcuch (wymagany) — dowolne wyrażenie łańcuchowe,
Początek (wymagany) — wyrażenie typu Long, określające pozycję znaku, od którego będzie zwracany łańcuch,
Długość (opcja) — wyrażenie typu Long, określające, ile znaków, licząc od znaku o numerze Początek, ma zostać zwróconych. Jeżeli argument Długość zostanie ominięty lub będzie większy niż liczba znaków łańcucha od znaku o numerze Początek do końca łańcucha, funkcja zwróci część łańcucha od znaku o numerze Początek do końca łańcucha.
Przykład:
zmA=Mid("To jest tekst testowy",7)
'zmienna przyjmuje wartość "t tekst testowy"
varNapis=Mid("To jest tekst testowy",7, 5)
'zmienna przyjmuje wartość "t tek"
2.2.4.13. Space
Funkcja Space zwraca łańcuch znakowy (typu String), zawierający określoną liczbę spacji.
Składnia:
Space(Długość)
gdzie:
Długość (wymagany) — wyrażenie typu Long, określające liczbę spacji, które mają znaleźć się w zwróconym ciągu znaków.
Przykład:
zmA = "To jest..." & Space(5) & "test!!!"
'zmienna przyjmuje wartość "To jest... test!!!"
2.2.4.14. String
Funkcja String zwraca łańcuch (String), zawierający określoną liczbę takich samych znaków.
Składnia:
String(Długość, Znak)
gdzie:
Długość (wymagany) — wyrażenie typu Long, określające liczbę znaków do powtórzenia,
Znak (wymagany) — wyrażenie będące kodem znaku lub wyrażeniem łańcuchowym, którego pierwszy znak zostanie wykorzystany do stworzenia łańcucha.
Przykład:
zmA=String(5,42)
'zmienna przyjmuje wartość "*****"
varNapis=String(7,"Test")
'zmienna przyjmuje wartość "TTTTTTT"
2.2.5. Testujące
2.2.5.1. IIf
Funkcja IIf zwraca jedną z dwóch podanych wartości — zależnie od wartości wyrażenia.
Składnia:
IIf(Wyrażenie, GdyTrue, GdyFalse)
gdzie:
Wyrażenie (wymagany) — sprawdzane wyrażenie,
GdyTrue (wymagany) — wyrażenie zwracane, gdy Wyrażenie ma wartość True,
GdyFalse (wymagany) — wyrażenie zwracane, gdy Wyrażenie ma wartość False.
Przykład:
zmA=IIf(zmWiek>25,"Dorosły","Młodzież")
'zmienna przyjmuje wartość "Dorosły", gdy zmienna
'zmWiek jest > 25, w przeciwnym wypadku zmienna
'zmA przyjmie wartość "Młodzież"
2.2.5.2. IsArray
Funkcja IsArray zwraca wartość typu Boolean (True lub False), określającą, czy badana zmienna jest tablicą.
Składnia:
IsArray(NazwaZmiennej)
gdzie:
NazwaZmiennej (wymagany) — identyfikator zmiennej.
Przykład:
zmA=29
zmB=IsArray(varZmienna) 'varCzyTablica=False
'zmienna zmB przyjmuje wartość False, ponieważ sprawdzana
'zmienna nie identyfikuje tablicy
zmA=Array(10,4,5)
zmB=IsArray(varZmienna) 'varCzyTablica=True
'zmienna zmB przyjmuje wartość True, ponieważ sprawdzana
'zmienna identyfikuje tablicę
2.2.5.3. LBound
Funkcja LBound zwraca wartość typu Long, zawierającą najmniejszy dopuszczalny numer indeksu dla elementów wybranego wymiaru tablicy.
Składnia:
LBound(NazwaZmiennej [,NumerWymiaru])
gdzie:
NazwaZmiennej (wymagany) — identyfikator zmiennej zawierającej tablicę,
NumerWymiaru (opcja) — wartość typu Long określająca numer wymiaru tablicy, którego dolny zakres ma być zwrócony. Wymiary numerowane są od 1, wartością domyślną jest 1.
Przykład:
Dim zmATo (1 To 12, -5 To 5, 26 To 93) As Variant
Dim zmB (33) As Variant
zmC=LBound(zmATo,2) 'zmienna przyjmuje wartość -5
zmC=LBound(zmB) 'zmienna przyjmuje wartość 0 lub 1
2.2.5.4. UBound
Funkcja UBound zwraca wartość typu Long, zawierającą największy dopuszczalny numer indeksu dla elementów wybranego wymiaru tablicy.
Składnia:
UBound(NazwaZmiennej [,NumerWymiaru])
gdzie:
NazwaZmiennej (wymagany) — identyfikator zmiennej zawierającej tablicę,
NumerWymiaru (opcja) — wartość typu Long, określająca numer wymiaru tablicy, którego górny zakres ma być zwrócony. Wymiary numerowane są od 1, wartością domyślną jest 1.
Przykład:
Dim zmATo (1 To 12, -5 To 5, 26 To 93) As Variant
Dim zmB (33) As Variant
zmC=UBound(zmATo,2) 'zmienna przyjmuje wartość 5
zmC=UBound(zmB) 'zmienna przyjmuje wartość 19 lub 20
2.2.5.5. IsDate
Funkcja IsDate zwraca wartość typu Boolean (True lub False), określającą, czy badana zmienna może być konwertowana do typu Data.
Składnia:
IsDate(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — wyrażenie typu łańcuchowego lub daty, rozpoznawalne jako data lub czas.
Przykład:
zmA="1953, Luty 10"
zmB=IsDate(zmA)
'zmienna zmB przyjmuje wartość True, ponieważ sprawdzana
'zmienna może być konwertowana
zmA="Tekst testowy"
zmB=IsDate(zmA) 'varCzyData=False
'zmienna zmB przyjmuje wartość False, ponieważ sprawdzana
'zmienna nie może być konwertowana
2.2.5.6. IsNumeric
Funkcja IsNumeric zwraca wartość typu Boolean (True lub False), określającą, czy badane wyrażenie może być konwertowane na liczbę.
Składnia:
IsNumeric(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — dowolne wyrażenie łańcuchowe lub numeryczne.
Przykład:
zmA="253.105"
zmB=IsNumeric(zmA)
'zmienna zmB przyjmuje wartość True, ponieważ sprawdzana
'zmienna może być konwertowana
zmA="Tekst testowy"
zmB=IsNumeric(zmA)
'zmienna zmB przyjmuje wartość False, ponieważ sprawdzana
'zmienna nie może być konwertowana
2.2.5.7. IsEmpty
Funkcja IsEmpty zwraca wartość typu Boolean (True lub False), określającą, czy badana zmienna została zainicjowana.
Składnia:
IsEmpty(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — zmienna reprezentująca dowolne wyrażenie łańcuchowe lub numeryczne.
Przykład:
zmA=Null
zmB=IsEmpty(zmA) 'zmienna przyjmuje wartość False
zmA=Empty
zmB=IsEmpty(zmA) 'zmienna przyjmuje wartość True
2.2.5.8. IsNull
Funkcja IsNull zwraca wartość typu Boolean (True lub False), określającą, czy wyrażenie zawiera poprawne dane, czy wartość Null.
Składnia:
IsNull(Wyrażenie)
gdzie:
Wyrażenie (wymagany) — zmienna reprezentująca dowolne wyrażenie łańcuchowe lub numeryczne.
Przykład:
Dim zmA As Variant
zmB=IsNull(zmA) 'zmienna przyjmuje wartość False
zmA=""
zmB=IsNull(zmA) 'zmienna przyjmuje wartość False
zmA=Null
zmB=IsNull(zmA) 'zmienna przyjmuje wartość True
2.2.5.9. IsMissing
Funkcja IsMissing zwraca wartość typu Boolean (True lub False), określającą, czy argument został przekazany do procedury.
Składnia:
IsMissing(NazwaArgumentu)
gdzie:
NazwaArgumentu (wymagany) — wyrażenie zawierające nazwę opcjonalnego argumentu typu Variant przekazywanego do funkcji.
Przykład:
Function Testowa(Optional zmA)
If IsMissing(zmA) Then
' jeżeli brak argumentu, zwraca wartość Null.
Testowa = Null
Else
Testowa = zmA * 2
End If
End Function
2.2.5.10. VarType
Funkcja VarType zwraca wartość typu Integer, określającą typ badanej zmiennej.
Składnia:
VarType(NazwaZmiennej)
gdzie:
NazwaZmiennej (wymagany) — wyrażenie zawierające nazwę zmiennej.
Wartości i stałe zwracane przez funkcję VarType:
|
||||
Stała |
Wartość |
Opis |
||
vbEmpty |
0 |
Empty, niezainicjowana |
||
vbNull |
1 |
Null, brak poprawnych danych |
||
vbInteger |
2 |
Integer |
||
vbLong |
3 |
Long Integer |
||
vbSingle |
4 |
Single |
||
vbDouble |
5 |
Double |
||
vbCurrency |
6 |
Currency |
||
vbDate |
7 |
Date |
||
vbString |
8 |
String |
||
Object |
9 |
Object |
||
vbError |
10 |
Error |
||
vbBoolean |
11 |
Boolean |
||
vbVariant |
12 |
Variant (tylko dla tablic Variant) |
Stała |
Wartość |
Opis |
vbDataObject |
13 |
Dane dostępu do obiektu |
vbDecimal |
14 |
Decimal |
vbByte |
17 |
Byte |
vbArray |
8192 |
Tablica |
Przykład:
zmA=57
zmB=VarType(zmA) 'zmienna przyjmuje wartość 2
zmA="2001, May 25"
zmB=VarType(zmA) 'zmienna przyjmuje wartość 7
zmA="Tekst testowy"
zmB=VarType(zmA) 'zmienna przyjmuje wartość 8
zmA=False
zmB=VarType(zmA) 'zmienna przyjmuje wartość 11
2.2.5.11. TypeName
Funkcja TypeName zwraca wartość typu String, zawierającą informacje na temat badanej zmiennej.
Składnia:
TypeName(NazwaZmiennej)
gdzie:
NazwaZmiennej (wymagany) — zawierająca nazwę zmiennej z wyjątkiem zmiennych typu użytkownika (user-defined type).
Wartości zwracane przez funkcję TypeName:
|
|||
Zwracany łańcuch |
Zmienna |
||
object type |
obiekt typu object type |
||
Byte |
wartość typu Byte (naturalna) |
||
Integer |
wartość typu Integer (całkowita) |
||
Long |
wartość typu Long Integer (całkowita) |
||
Single |
wartość typu Single (zmiennoprzecinkowa) |
||
Double |
wartość typu Double (zmiennoprzecinkowa) |
Zwracany łańcuch |
Zmienna |
Currency |
wartość typu Currency (walutowa) |
Decimal |
wartość typu Decimal (dziesiętna) |
Date |
wartość typu Date (data) |
String |
wartość typu String (łańcuch) |
Boolean |
wartość typu Boolean (True lub False) |
Error |
błędna wartość |
Empty |
nie zainicjowana |
Null |
brak poprawnych danych |
Object |
obiekt |
Unknown |
żaden ze znanych typów |
Nothing |
zmienna nie odnosi się do żadnego obiektu |
Przykład:
Dim zmA As Variant
Dim zmB As String
Dim zmC (1 To 5) As Integer
zmA=Null
zmTyp=TypeName(zmA) 'zmienna przyjmuje wartość "Null"
zmTyp=TypeName(zmB) 'zmienna przyjmuje wartość "String"
zmTyp=TypeName(zmC) 'zmienna przyjmuje wartość "Integer"
2.2.6. Wejścia-wyjścia
2.2.6.1. Command
Funkcja Command zwraca listę argumentów wiersza poleceń, użytą przy uruchamianiu Visual Basica lub aplikacji w nim napisanej.
Składnia:
Command
Przykład:
zmA=Command()
'zmienna przyjmuje postać listy argumentów,
'użytych do uruchomienia programu za pomocą wiersza poleceń
2.2.6.2. CurDir
Funkcja CurDir zwraca wartość typu String, zawierającą bieżącą ścieżkę dyskową.
Składnia:
CurDir[(Dysk)]
gdzie:
Dysk (opcja) — wyrażenie łańcuchowe określające istniejący dysk. Gdy nie zostanie podany lub zostanie podany w postaci łańcucha o zerowej długości (""), funkcja zwróci ścieżkę na bieżącym dysku.
Przykład:
zmA=CurDir
'zmienna przyjmuje wartość bieżącej ścieżki
'na bieżącym dysku
zmA=CurDir("D")
'zmienna przyjmuje wartość bieżącej ścieżki
'na dysku „D”
2.2.6.3. Dir
Funkcja Dir zwraca wartość typu String, reprezentującą nazwę pliku i katalogu znalezionego wg specyfikacji lub atrybuty pliku lub nazwę wolumenu dysku.
Składnia:
Dir [(ŚcieżkaDostępu [, Atrybuty])]
gdzie:
ŚcieżkaDostępu (opcja) — wyrażenie łańcuchowe określające nazwę pliku. Może też zawierać nazwę katalogu i dysk,
Atrybuty (opcja) — wyrażenie określające stałe lub wartości reprezentujące atrybuty plików. Gdy zostanie pominięte, zwrócone będą nazwy wszystkich znalezionych plików w podanej lokalizacji.
Wartości i stałe argumentu Atrybuty:
|
||||
Stała |
Wartość |
Opis |
||
vbNormal |
0 |
normalny (domyślny) |
||
vbHidden |
2 |
ukryty |
||
vbSystem |
4 |
systemowy |
||
vbVolume |
16 |
nazwa wolumenu, jeżeli jest określony, inne parametry są ignorowane |
||
vbArchive |
32 |
plik został zmieniony od ostatniego wykonania kopii zapasowej |
Przykład:
zmA=Dir("C:\WINDOWS\CONFIG.TXT")
'zmienna zwraca atrybuty pliku wskazanego pliku
zmA=Dir("*.SYS",vbSystem)
'zmienna zwraca pierwszy znaleziony plik o rozszerzeniu
'SYS, i o ustawionym atrybucie „Systemowy”
zmA=Dir
'zmienna zwraca kolejny znaleziony plik
2.2.6.4. Environ
Funkcja Environ zwraca wartość typu String, skojarzoną z podaną zmienną systemową systemu operacyjnego (jednocześnie można użyć tylko jednego argumentu).
Składnia:
Environ(Zmienna | NrZmiennej)
gdzie:
Zmienna (opcja) — wyrażenie łańcuchowe określające nazwę zmiennej systemowej,
NrZmiennej (opcja) — wyrażenie numeryczne będące numerem zmiennej systemowej w tablicy zmiennych systemowych.
Przykład:
zmA=Environ("PATH")
'zmienna zwraca wartość zmiennej systemowej PATH
zmA=Environ(3)
'zmienna zwraca wartość 3 zmiennej z tablicy
'zmiennych systemowych
2.2.6.5. EOF
Funkcja EOF zwraca wartość typu Integer, zawierającą wartość Boolean (True), w przypadku osiągnięcia końca pliku otwartego w trybie Random lub Input.
Składnia funkcji EOF:
EOF(NrPliku)
gdzie:
NrPliku (wymagany) — wyrażenie typu Integer zawierające numer otwartego pliku.
Przykład:
If Not EOF(1) Then 'kolejne instrukcje będą wykonywane
... 'tylko wtedy, gdy koniec pliku 1
'nie zostanie jeszcze osiągnięty
2.2.6.6. FileAttr
Funkcja FileAttr zwraca wartość typu Long, określającą tryb otwarcia otwartego pliku.
Składnia:
FileAttr(NrPliku, ZwracanyTyp)
gdzie:
NrPliku (wymagany) — wyrażenie typu Integer zawierające numer otwartego pliku,
ZwracanyTyp (wymagany) — wyrażenie typu Integer określające rodzaj zwróconej wartości. Argument może przyjąć wartość 1 lub 2, przy czym wartość 2 wykorzystywana jest tylko w systemach 16-bitowych i nie jest obsługiwana w systemach 32-bitowych.
Wartości zwracane przez funkcję, w przypadku gdy wartość argumentu ZwracanyTyp wynosi 1:
|
|||
Tryb |
Zwracana wartość |
||
Input |
1 |
||
Output |
2 |
||
Random |
4 |
||
Append |
8 |
||
Binary |
32 |
Przykład:
Open "PlikTestowy" For Binary As #1
zm1=FileAttr(1,1) 'zmienna przyjmuje wartość 32
2.2.6.7. FileDateTime
Funkcja FileDateTime zwraca wartość typu Date, określającą datę i czas ostatniej modyfikacji pliku.
Składnia:
FileDateTime(ŚcieżkaDoPliku)
gdzie:
ŚcieżkaDoPliku (wymagany) — dowolne wyrażenie łańcuchowe będące poprawną ścieżką dostępu do pliku.
Przykład:
zm1=FileDateTime("Plik")
'zmienna przyjmuje wartość, np. "01/07/24 17:42:03"
2.2.6.8. FileLen
Funkcja FileLen zwraca wartość typu Long, będącą rozmiarem pliku nie otwartego lub tuż przed otwarciem w bajtach.
Składnia:
FileLen(ŚcieżkaDoPliku)
gdzie:
ŚcieżkaDoPliku (wymagany) — dowolne wyrażenie łańcuchowe będące poprawną ścieżką dostępu do pliku.
Przykład:
zm1=FileLen("Plik") 'pobranie rozmiaru pliku "FILE"
'zmienna przyjmuje wartość, np. "1057"
2.2.6.9. FreeFile
Funkcja FreeFile zwraca wartość typu Integer, będącą kolejnym wolnym numerem, możliwym do wykorzystania przy otwieraniu lub tworzeniu pliku.
Składnia:
FreeFile(ZakresArgumentow)
gdzie:
ZakresArgumentów (opcja) — wyrażenie typu Variant określające zakres używanych numerów plików. Wartość 0 (domyślna) określa zakres numerów 1 - 255, wartość 1 określa zakres numerów 256 - 511.
Przykład:
zm1=FreeFile
'zmienna przyjmuje wartość, np. "4"
2.2.6.10. GetAttr
Funkcja GetAttr zwraca wartość typu Integer, określającą atrybut pliku lub katalogu (folderu).
Składnia:
GetAttr (ŚcieżkaDostępu)
gdzie:
ŚcieżkaDostępu (wymagany) — dowolne wyrażenie łańcuchowe będące poprawną ścieżką dostępu do pliku lub katalogu (folderu).
Wartości i stałe zwracane przez funkcję:
|
||||
Stała |
Wartość |
Opis |
||
vbNormal |
0 |
normalny (domyślny) |
||
vbReadOnly |
1 |
tylko do odczytu |
||
vbHidden |
2 |
ukryty |
||
vbSystem |
4 |
systemowy |
||
vbDirectory |
16 |
katalog lub folder |
||
vbArchive |
32 |
plik został zmieniony od ostatniego wykonania kopii zapasowej |
Przykład:
zm1="c:\io.sys"
zm2=GetAttr(zm1) And vbSystem
'zmienna przyjmie wartość zero, jeżeli wskazany plik
'nie jest systemowy, a 1 jeżeli jest
zm1="pulpit"
zm2=GetAttr(zm1)
'zmienna przyjmie wartość 16, jeżeli wskazany ciąg
'reprezentuje katalog (folder)
2.2.6.11. Input
Funkcja Input zwraca wartość typu String, zawierającą określony znak z pliku otwartego w trybie Input lub Binary.
Składnia:
Input(Numer, [#]NrPliku)
gdzie:
Numer (wymagany) — wyrażenie numeryczne określające numer znaku do zwrócenia,
NrPliku (wymagany) — wyrażenie typu Integer zawierające numer otwartego pliku.
Przykład:
zm1=Input(123,#2) 'odczytaj znak
'zmienna przyjmie wartość 123 znaku z otwartego pliku,
'oznaczonego numerem 2
2.2.6.12. InputBox
Funkcja InputBox wyświetla na ekranie standardowe okienko dialogowe.
Składnia:
InputBox(Pytanie [, Tytuł] [, DomyślnyTekst] [, XPos] [, YPos]
[,PlikHelp, HelpContext])
gdzie:
Pytanie (wymagany) — dowolne wyrażenie łańcuchowe wyświetlane jako wiadomość w oknie dialogowym,
Tytuł (opcja) — dowolne wyrażenie łańcuchowe wyświetlane na pasku tytułowym okienka,
DomyślnyTekst (opcja) — dowolne wyrażenie łańcuchowe będące domyślnie wyświetlanym tekstem,
XPos (opcja) — dowolne wyrażenie numeryczne określające w twipsach poziomą odległość między lewą krawędzią okna dialogowego a lewą krawędzią ekranu,
YPos (opcja) — dowolne wyrażenie numeryczne określające w twipsach pionową odległość między górną krawędzią okna dialogowego a górną krawędzią ekranu,
PlikHelp (opcja) — dowolne wyrażenie łańcuchowe określające plik pomocy (*.hlp), zawierający podpowiedzi dotyczące tworzonego okna dialogowego,
HelpContext (opcja) — dowolne wyrażenie numeryczne określające numer skojarzony przez autora pliku pomocy z tematem pomocy.
Przykład:
InputBox("Podaj imię", "DANE OSOBOWE", "Jurek", 120, 145 )
'na ekranie wyświetli się okienko dialogowe, zawierające
'pytanie, tytuł, wartość domyślną, i o określonym
'położeniu
2.2.6.13. LoadPicture
Funkcja LoadPicture ładuje plik z grafiką do właściwości formy — Picture (patrz 3.2.103), kontrolki Image (patrz 3.1.19) lub kontrolki PictureBox (patrz 3.1.28).
Składnia:
LoadPicture(NazwaPliku)
gdzie:
Pytanie (wymagany) — dowolne wyrażenie łańcuchowe, będące poprawną ścieżką dostępu do pliku graficznego, który ma zostać załadowany.
Przykład:
Set Form3.Picture=LoadPicture("obrazek.bmp")
'do obiektu zostanie załadowany wskazany plik graficzny
2.2.6.14. Loc
Funkcja Loc zwraca wartość typu Long, określającą ostatnią pozycję odczytu lub zapisu otwartego pliku.
Składnia:
Loc(NrPliku)
gdzie:
NrPliku (wymagany) — wyrażenie typu Integer zawierające numer otwartego pliku.
Wartości zwracane przez funkcję:
|
|||
Tryb |
Zwracana wartość |
||
Random |
numer ostatnio odczytanego lub zapisanego rekordu do pliku |
||
Sequential (sekwencyjny) |
bieżąca pozycja pliku w bajtach podzielona przez 128 |
||
Binary |
pozycja ostatniego bajta odczytanego lub zapisanego |
Przykład:
zm1=Loc(3)
'zmienna przyjmie wartość, określającą ostatnią pozycję
'zapisu lub odczytu podanego pliku
2.2.6.15. LOF
Funkcja LOF zwraca wartość typu Long, reprezentującą rozmiar otwartego wcześniej pliku w bajtach.
Składnia:
LOF(NrPliku)
gdzie:
NrPliku (wymagany) — wyrażenie typu Integer zawierające numer otwartego pliku.
Przykład:
zm1=LOF(1)
'zmienna przyjmie wartość, określającą rozmiar
'podanego pliku
2.2.6.16. MsgBox
Funkcja MsgBox wyświetla na ekranie standardowe okienko komunikatu.
Składnia:
MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp, HelpContext])
gdzie:
Komunikat (wymagany) — dowolne wyrażenie łańcuchowe wyświetlane jako wiadomość w oknie dialogowym,
Przyciski (opcja) — wyrażenie numeryczne będące sumą wartości określających numer i typ przycisków, które mają być wyświetlane, styl wyświetlanej ikony i modalność okna wiadomości. Wartością domyślną jest 0,
Tytuł (opcja) — dowolne wyrażenie łańcuchowe wyświetlane na pasku tytułowym okienka,
PlikHelp (opcja) — dowolne wyrażenie łańcuchowe określające plik pomocy (*.hlp), zawierający podpowiedzi dotyczące tworzonego okna dialogowego,
HelpContext (opcja) — dowolne wyrażenie numeryczne określające numer skojarzony przez autora pliku pomocy z tematem pomocy.
Wartości i stałe argumentu Przyciski:
|
||||
Stała |
Wartość |
Opis |
||
vbOKOnly |
0 |
tylko przycisk OK (Dobrze) |
||
vbOKCancel |
1 |
przyciski OK (Dobrze) oraz Cancel (Anuluj) |
||
vbAbortRetryIgnore |
2 |
przyciski Abort (Przerwij), Retry (Ponów) oraz Ignore (Zignoruj) |
||
vbYesNoCancel |
3 |
przyciski Yes (Tak), No (Nie) i Cancel (Anuluj) |
||
vbYesNo |
4 |
przyciski Yes (Tak) i No (Nie) |
Stała |
Wartość |
Opis |
vbRetryCancel |
5 |
przyciski Retry (Ponów próbę) i Cancel (Anuluj) |
vbCritical |
16 |
wyświetla ikonę wiadomości krytycznej |
vbQuestion |
32 |
wyświetla ikonę pytania |
vbExclamation |
48 |
wyświetla ikonę wiadomości ostrzegawczej |
vbInformation |
64 |
wyświetla ikonę wiadomości |
vbDefaultButton1 |
0 |
pierwszy przycisk staje się domyślny |
vbDefaultButton2 |
256 |
drugi przycisk staje się domyślny |
vbDefaultButton3 |
512 |
trzeci przycisk staje się domyślny |
vbDefaultButton4 |
768 |
czwarty przycisk staje się domyślny |
vbApplicationModal |
0 |
okno modalne dla aplikacji, użytkownik musi zareagować |
vbSystemModal |
4096 |
okno modalne dla systemu, wszystkie aplikacje są zawieszone, dopóki użytkownik nie zareaguje |
vbMsgBoxHelpButton |
16384 |
dodaje przycisk Help (Pomoc) |
VbMsgBoxSetForeground |
65536 |
okienko komunikatu będzie zawsze „na wierzchu” |
vbMsgBoxRight |
524288 |
tekst jest wyrównany do prawej |
vbMsgBoxRtlReading |
1048576 |
tekst w systemach arabskich i hebrajskich (czytany od prawej do lewej) |
Przykład:
MsgBox("Czy jesteś mężczyzną?",
vbYesNo+vbQuestion+vbDefaultButton2, "Ankieta",
"Pomoc.hlp", 7)
'na ekranie wyświetli się okienko komunikatu, zawierające
'pytanie, dwa przyciski ("Yes" oraz "No"), określenie, że
'drugi przycisk jest domyślny, tytuł, określenie pliku
'pomocy, określenie tematu w pliku pomocy
2.2.6.17. Seek
Funkcja Seek zwraca wartość typu Long, określającą następną pozycję odczytu lub zapisu otwartego pliku.
Składnia:
Seek(NrPliku)
gdzie:
NrPliku (wymagany) — wyrażenie typu Integer zawierające numer otwartego pliku.
Wartości zwracane przez funkcję:
|
|||
Tryb |
Zwracana wartość |
||
Random |
numer następnego rekordu do odczytu lub zapisu w pliku |
||
Binary, Output, Append, Input |
pozycja bajta, na którym będzie wykonana następna operacja |
Przykład:
zm1=Loc(3)
'zmienna przyjmie wartość, określającą następną pozycję
'zapisu lub odczytu podanego pliku
2.2.6.18. SetAttr
Funkcja SetAttr ustawia atrybuty określonego pliku.
Składnia:
SetAttr ŚcieżkaDoPliku, Atrybuty
gdzie:
ŚcieżkaDoPliku (wymagany) — dowolne wyrażenie łańcuchowe będące poprawną ścieżką dostępu do pliku,
Atrybuty (wymagany) — wyrażenie będące sumą stałych lub wartości, określających nadawane atrybuty.
Wartości i stałe argumentu Atrybuty:
|
||||
Stała |
Wartość |
Opis |
||
vbNormal |
0 |
normalny (domyślny) |
||
vbReadOnly |
1 |
tylko do odczytu |
||
vbHidden |
2 |
ukryty |
||
vbSystem |
4 |
systemowy |
||
vbArchive |
32 |
plik został zmieniony od ostatniego wykonania kopii zapasowej |
Przykład:
SetAttr "Plik", vbSystem+vbReadOnly
'nadanie plikowi atrybutów "Systemowy"
'oraz "TylkoDoOdczytu"
2.2.6.19. Shell
Funkcja Shell uruchamia program wykonywalny.
Składnia:
Shell(ŚcieżkaDostępu [, StylOkna])
gdzie:
ŚcieżkaDostępu (wymagany) — dowolne wyrażenie łańcuchowe, będące poprawną ścieżką dostępu do uruchamianej aplikacji (wraz z jej ewentualnymi argumentami wiersza poleceń),
StylOkna (opcja) — wyrażenie lub stała określająca styl okna uruchamianej aplikacji.
Wartości i stałe atrybutu StylOkna:
|
||||
Stała |
Wartość |
Opis |
||
vbHide |
0 |
Okno jest ukryte i posiada fokus |
||
vbNormalFocus |
1 |
Okno ma normalny rozmiar i pozycję i posiada fokus |
||
vbMinimizedFocus |
2 |
Okno jest zminimalizowane i posiada fokus |
||
vbMaximizedFocus |
3 |
Okno jest zmaksymalizowane i posiada fokus |
||
vbNormalNoFocus |
4 |
Okno ma normalny rozmiar i pozycję. Aktualnie aktywne okno pozostaje aktywne |
||
vbMinimizedNoFocus |
6 |
Okno jest zminimalizowane. Aktualnie aktywne okno pozostaje aktywne |
Przykład:
Shell("C:\Windows\Notepad.exe",1)
'uruchomiona zostanie wskazana aplikacja jako aktywna
2.2.7. Pozostałe
2.2.7.1. DoEvents
Funkcja DoEvents oddaje sterowanie, aby system operacyjny mógł wykonać inne zdarzenia.
Składnia:
DoEvents()
Przykład:
If zm1=2500 Then
DoEvents
'system wstrzymuje wykonywanie aktualnego procesu
'i ustawia go w kolejce procesów
Enf If
2.2.7.2. Error
Funkcja Error zwraca komunikat o błędzie o podanym numerze.
Składnia:
Error[(NrBłędu)]
gdzie:
NrBłędu (opcja) — poprawny numer błędu.
Przykład:
If zm1 = 'YES'
MsgBox(Error(63))
'w zależności od stanu zmiennej zostanie wyświetlony
'komunikat o błędzie o podanym numerze
End If
2.2.7.3. RGB
Funkcja RGB zwraca wartość typu Long, określającą wartość koloru RGB.
Składnia:
RGB(Czerwony, Zielony, Niebieski)
gdzie:
Czerwony (wymagany) — wyrażenie typu Integer będące wartością danej składowej,
Zielony (wymagany) — wyrażenie typu Integer będące wartością danej składowej,
Niebieski (wymagany) — wyrażenie typu Integer będące wartością danej składowej.
Wartości składowych funkcji określające standardowe kolory:
|
|||||
Kolor |
Składowa czerwona |
Składowa zielona |
Składowa niebieska |
||
Czarny |
0 |
0 |
0 |
||
Niebieski |
0 |
0 |
255 |
||
Zielony |
0 |
255 |
0 |
||
Cyjan |
0 |
255 |
255 |
||
Czerwony |
255 |
0 |
0 |
||
Magenta |
255 |
0 |
255 |
Kolor |
Składowa czerwona |
Składowa zielona |
Składowa niebieska |
Żółty |
255 |
255 |
0 |
Biały |
255 |
255 |
255 |
Przykład:
zm1=RGB(255,255,0)
'zmienna przyjmie wartość, określającą kolor żółty
2.2.7.4. QBColor
Funkcja QBColor zwraca wartość typu Long, określającą kod RGB koloru o podanym numerze.
Składnia:
QBColor(Kolor)
gdzie:
Kolor (wymagany) — wyrażenie typu Integer będące prawidłowym numerem koloru.
Dopuszczalne wartości argumentu Kolor:
|
|||
Numer |
Kolor |
||
0 |
czarny (Black) |
||
1 |
niebieski (Blue) |
||
2 |
zielony (Green) |
||
3 |
cyjan (Cyan) |
||
4 |
czerwony (Red) |
||
5 |
magenta |
||
6 |
żółty (Yellow) |
||
7 |
biały (White) |
||
8 |
szary (Gray) |
||
9 |
jasny niebieski (Light Blue) |
||
10 |
jasny zielony (Light Green) |
||
11 |
jasny cyjan (Light Cyan) |
||
12 |
jasny czerwony (Light Red) |
||
13 |
jasny magenta (Light Magenta) |
Numer |
Kolor |
14 |
jasny żółty (Light Yellow) |
15 |
ciemny biały (Bright White) |
Przykład:
zm1=QBColor(14)
'zmienna przyjmie wartość, określającą kolor
'"Light Yellow" w kodzie RGB
106 Visual Basic. Leksykon
Rozdział 2. ♦ Podstawy programowania w VB 105
106 C:\Roboczy\Skład\Visual Basic Leksykon\skład 1\r02-05.doc
C:\Roboczy\Skład\Visual Basic Leksykon\skład 1\r02-05.doc 105
C:\Roboczy\Skład\Visual Basic Leksykon\skład 1\r02-05.doc 47
Tu chyba powinno być 1000 albo 0100 (czterocyfrowa!)
Chyba Second!!!
Do językowej: nie dopisywać nic!!! Tak ma być :-)))
Do językowej: nie dopisywać nic!!! Tak ma być :-)))