matVB-00-NET.pdf

(334 KB) Pobierz
Programowanie w VB
Różnice pomiędzy VB6 a VB.NET:
Typ Currency z VB6 został zastąpiony przez typ Decimal – ze stałą precyzją liczb do 28 cyfr
plus pozycja przecinka. Watości decymalne wymagają suffiksu "m” lub "M”.
Typ Variant z VB6 został wyeliminowany w VB.NET
Typ Char w VB6 jest ciągiem String składającym się z jednego znaku, zaś w VB.NET typ Char
jest osobnym typem.
Nie zaleca się już dłużej stosowania nazewnictwa zmiennych publicznych w notacji
węgierskiej (tj. nazewnictwa, w którym występowały identyfikatory typów). Ważne jest zaś, aby
nazwy były znaczące.
W VB.NET enumeracje są formalnie typami, stąd też wymagana jest jawna konwersja
pomiędzy typem Enum a każdym innym typem (jak np. Integer, Boolean, itd.).
W VB6 enumeracje są aliasami wartości całkowitych. W VB.NET, jako
że
enumeracje są
typami, stałe enumerowane muszą być identyfikowane przez podanie ich w pełni
kwalifikowanej nazwy (np. Temperature.FreezingPoint).
Tablice w VB.NET numerowane są od 0 (nie obowiązuje już Option Base z VB6) oraz nie mają
zdefinowanych zakresów indeksów.
W VB.NET nie wykorzystuje się już wyrażenia Set (które było używane w przypisaniach
referencji do zmiennych typu Variant).
Wszystkie moduły w VB.NET mają rozszerzenie vb (wcześniej rozróżniane były moduły: form
(.FRM); standard (.BAS); class (.CLS)
VB.NET nie pozwala deklarować ciągów znaków o stałej długości
Zawartość modułów:
Deklaracje: ta część służy do deklaracji stałych, typów, zmiennych, wykorzystywanych
procedur DLL na poziomie modułu
Procedury: w tej części pojawiają się implementacje procedur i funkcji (Sub, Function, lub
Property)
Składnia wyrażeń
Wyrażenia pisane są w oddzielnych liniach. Można przerwać linię przez znak kontynuacji (spacja +
podkreślenie)
Data1.RecordSource = _
"SELECT * FROM Titles, Publishers" _
& "WHERE Publishers.PubId = Titles.PubID" _
& "AND Publishers.State = 'CA'"
Można pisać wiele wyrażeń w jednej linii, ale oddzielone one być muszą znakiem separacji
(dwukropek)
Text1.Text = "Hello" : Red = 255 : Text1.BackColor = _
Komentarze zaczynają się pojedynczym apostrofem
' screen.
Text1.Text = "Hi!"
' box.
' Place friendly greeting in text
Wyrażenia numeryczne
Decimal
9
15
Octal
&O11
&O17
Hexadecimal
&H9
&HF
Nazewnictwo
Aby coś przechować lub do czegoś się odnieść najpierw należy nadać temu nazwę.
Nazwy procedur, zmiennych i stałych:
zaczynają się od litery, mogą zawierać znaki
alfanumeryczne oraz znak podkreślenia '_' Nie mogą być dłuższe niż 255 znaków. Nazwy nie
powinny pokrywać się ze słowami kluczowymi.
Nazwy kontrolek (controls), form (forms), klas (classes), i modułów (modules):
nie mogą
przekraczać 40 znaków. Mogą zaś pokrywać się ze słowami kluczowymi. Jeśli tak jest, stosuje się w
pełni kwalifikowaną nazwę lub używa się nawiasów klamrowych.
MyForm.Loop.Visible = True ' Qualified with the form name.
[Loop].Visible = True
' Square brackets also work.
Zakres obowiązywania zmiennych i ich czas
życia
Określa się za pomocą słów kluczowych: Dim, Redim, Static, Public lub Private (inne modyfikatory
będą omówione później).
Chociaż deklaracje zmiennych mogą pojawić się w dowolnym miejscu bloku programu, dobrą
praktyką jest umieszczanie ich na początku.
Deklaracja Zakres obowiązywania i czas
życia
Dim
Static
Używane do deklarowania zmiennych w procedurach. Za każdym razem kiedy
wywołana jest procedura, dane przechowywane w zmiennej sa resetowane.
Używane do deklarowania zmiennych w procedurach. Za każdym razem kiedy
wywołana jest procedura, dane przechowywane w zmiennej przyjmują poprzednią
wartość.
Używane do deklarowania zmiennych w modułach. Zmienna dostępna jest dla
Public
wszystkich procedur w projekcie.
Private
ReDim
Używane do deklarowania zmiennych w modułach. Zmienna dostępna jest tylko dla
procedur wewnątrz projektu (modułu).
Używane do ponownej inicjacji tablicy (wewnątrz procedur).
Typy zmiennych
Typ
Byte
Boolean
Char
Date
Short
Integer
Long
Decimal
Przykład deklaracji
Dim
tinyNumber
As
Byte
Dim
finished
As
Boolean
Dim
c
As Char
Dim
d
As Date
Dim
s
As Short
Dim
counter
As Integer
Dim
ln
As Integer
Dim
dn
As Decimal
Opis
liczba całkowita bez znaku z zakresu 0 - 255.
wartość logiczna True lub False.
liczba całkowita bez znaku z zakresu 0 - 65535
typ do przechowywania dat z zakresu
1/1/1 CE do
12/31/9999
Rozmiar
1 Byte
4 Bytes
2 Bytes
8 Bytes
2 Bytes
4 Bytes
8 Bytes
12 Bytes
liczba całkowita z zakresu –32,768 to 32,767
liczba całkowita z zakresu
–2 147 483 648
do 2 147 483 647
liczba całkowita z zakresu
9 223 372 036 854 775
808 do 9 223 372 036 854 775 807
liczba całkowita bez przecinka z zakresu
+/–79,228,162,514,264,337,593,543,950,335
liczba z 28 miejscami po przecinku
+/–7.9228162514264337593543950335
najmniejszym niezerową liczbą tego typu jest
+/–0.0000000000000000000000000001
Single
Dim
gradient
As Single
Liczba zmienno-przecinkowa pojedynczej
precyzji,
z zakresu –3.402823E38 do –1.401298E-45 dla
wartości ujemnych; 1.401298E-45 do
3.402823E38 dla wartości dodatnich
4 Bytes
Double
Dim
atoms
As Double
Liczba zmienno-przecinkowa podwójnej precyzji, 8 Bytes
z zakresu –1.79769313486231E308 do –
4.94065645841247E-324 dla wartości ujemnych;
4.94065645841247E-324 do
1.79769313486232E308 dla wartości dodatnich
Ciąg znaków Unikode od 0 do 2 bilionów
10 Bytes +
ilość
znaków w
ciągu *2
suma
rozmiarów
składowych
typu
String
Dim
str
As String
UDT
Typ zdefiniowany przez użytkownika
Deklaracja zmiennych
Deklaracje zmiennych rozpoczynają się Dim, po którym występuje nazwa zmiennej, a za nią
(opcjonalnie) - słowo kluczowe As z typem zmiennej. Przy braku części opcjonalnej, typem zmiennej
domyślnie będzie typ Object.
Dim
x, y
As Integer
Dim
x
As Integer,
y
As Integer
Jeśli nie będzie włączona opcja Strict (Option Strict On), to:
Dim
SomeValue
' zadeklarowano zmienną typu Object.
SomeValue = "17" ' SomeValue przechowuje teraz ciąg znaków “17”
SomeValue = SomeValue - 15
' SomeValue zawierać teraz będzie wartość 2.
SomeValue = "U" & SomeValue
' SomeValue zawierać teraz będzie ciąg "U2"
Zmienne można deklarować również (jak to było w VB6) przez umieszczenie znaku definiującego typ
na końcu nazwy zmiennej
Dim
intX%
Dim
lngX&
Dim
decX@
Dim
sngX!
Dim
dblX#
Dim
strX$
' % character identifies it as an Integer data type
' & character identifies it as a Long data type
' @ character identifies it as a Decimal data type
' ! character identifies it as a Single data type
' # character identifies it as a Double data type
' $ character identifies it as a String data type
VB.NET dopuszcza deklarację zmiennych z równoczesną ich inicjalizacją. Domyślnie zmienne
numeryczne inicjalizowane są zerem, ciągi znaków – ciągiem pustym (""), obiekty – wartością
Nothing. Przykłady inicjalizacji:
Dim
x as Integer = 5
Dim
dblValue as Double = 22.5
Emtpy, IsEmpty (zmienna typu Variant jest niezainicjalizowana)
Null, IsNull (zmienna typu Variant nie zawiera dostępnych danych)
Zgłoś jeśli naruszono regulamin