Microsoft Visual Basic.NET Michał Kuciapski Uniwersytet Gdański część 1
2 z 28 Cechy Zdarzeniowy (ang. event driven) Programowanie w wielu językach na jednej platformie - Microsoft Foundation Classes (MFC) 2 warstwy: programowania i wykonywania Kompilowanie do kodu pośredniego - Microsoft Intermediate Language (MSIL) Zorientowanie obiektowe
3 z 28 Środowisko i składnia 1.Środowisko 2.Kontrolki 3.Typy danych 4.Operacje na liczbach 5.Operacje na napisach 6.Daty 7.Metody i funkcje 8.Komunikaty 9.Zasięg 10.Instrukcje warunkowe 8. Pętle 9. Enumeracje, struktury, kolekcje 13. Tablice
4 z 28 Środowisko
5 z 28 Środowisko nazwa aplikacji menu i pasek narzędzi ramka narzędziowa okno projektowe eksplorer rozwiązań ckno właściwości okno zadań
6 z 28 Kontrolki Dodawane poprzez przeciągnięcie lub podwójne kliknięcie Podwójne kliknięcie powoduje przejście do okienka kodu Możliwość ustawiania atrybutów (okno właściwości, kod), dodawania zdarzeń, wykorzystywania metod i funkcji
7 z 28 Kontrolki wybór zdarzenia wybór kontrolki (instancji) kod zdarzenia ustawienie atrybutu
8 z 28 Przykład kontrolki - ListBox Dodanie elementu: nazwa_kontrolki.Items.Add(wartość) ; lstFriends.Items.Add("[" & friendName & "]") Usunięcie elementu : nazwa_kontrolki.Items.Remove(wartość) Pobranie wartości zaznaczonego elementu listy: nazwa_kontrolki.Items.Item(nazwa_kontrolki. SelectedIndex) Wyczyszczenie listy: nazwa_kontrolki.clear
9 z 28 Typy danych Liczby: Całkowite – np. Short, IntegerCałkowite – np. Short, Integer Zmiennopozycyjne – np. Single, DoubleZmiennopozycyjne – np. Single, Double Napisy – String Inne typy – np. Boolean, Date Deklaracja: Zmiennej: Dim nazwa_zmiennej As typZmiennej: Dim nazwa_zmiennej As typ Stałej: Public Const nazwa_ zmiennej As typ = "wartość"Stałej: Public Const nazwa_ zmiennej As typ = "wartość"
10 z 28 Operacje na liczbach Dodawanie - + Odejmowanie - - Mnożenie - * Dzielenie - / Przykłady: n = n / 6n = n / 6 n += 8 równoważne n = n + 8n += 8 równoważne n = n + 8
11 z 28 Operacje na napisach Łączenie - s = "Uniwersytet" & "Gdański" ; s = s1 & s2 Obliczanie długości - zmienna.Length ; myString.Length Znaleznie napisu – zmienna.IndexOf("szukany", od, ) Wydzielanie podnapisów - zmienna.Substring(od, do) ; s = myString.Substring(3, 6) Zamiana - zmienna.Replace("szukany", "zamieniający") ; s = myString.Replace("Hello", "Goodbye") Formatowanie - String.Format("format", zmienna) ; s = String.Format("{0:n3}", n) Zmiana wielkości – zmienna.ToUpper ; zmienna.ToLower
12 z 28 Daty Pobieranie: date.funkcja ; data = Date.Now() Pobieranie elementów: zmienna.funkcja ; data.Month, data.Hour Formatowanie: zmienna.funkcja_formatująca ; data.ToLongDateStringzmienna.funkcja_formatująca ; data.ToLongDateString zamiana na String z parametrem formatującym – zmienna. ToString("parametr") ; s = data.ToString("MMMM")zamiana na String z parametrem formatującym – zmienna. ToString("parametr") ; s = data.ToString("MMMM") Definiowanie – zmienna = #literał# ; data = #5/5/1967 6:41:00 AM# Manipulowanie – np. dodanie dni ; data.AddDays(3)
13 z 28 Metody i funkcje Metody: Deklaracja:Deklaracja: [{ Public | Protected | Friend | Protected Friend | Private }] [{ Public | Protected | Friend | Protected Friend | Private }] Sub nazwa [(argumenty)] Sub nazwa [(argumenty)] [ wyrażenia ] [ wyrażenia ] End Sub End Sub Przykład:Przykład: Sub SayHello() Sub SayHello() MessageBox.Show("Hello, world!", "Three Buttons") MessageBox.Show("Hello, world!", "Three Buttons") End Sub End Sub
14 z 28 Metody i funkcje Funkcje: Deklaracja:Deklaracja: [{ Public | Protected | Friend | Protected Friend | Private }] [{ Public | Protected | Friend | Protected Friend | Private }] Function nazwa [(argumenty)] As typ_zmiennej Function nazwa [(argumenty)] As typ_zmiennej [ wyrażenia ] [ wyrażenia ] Return wartość Return wartość End Function End Function Przykład:Przykład: Function CalculateAreaFromRadius (ByVal radius As Double) As Double Function CalculateAreaFromRadius (ByVal radius As Double) As Double Dim radiusSquared As Double Dim radiusSquared As Double radiusSquared = radius * radius radiusSquared = radius * radius Return radiusSquared Return radiusSquared End Function End Function
15 z 28 Metody i funkcje Przykład wywołania Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim area As Double area = CalculateAreaFromRadius(100) MessageBox.Show(area, "Area") End Sub
16 z 28 Wyświetlanie komunikatów Metoda oraz funkcja (przeciążenie) MessageBox.Show Składnia - MessageBox.Show("tekst", "tytuł", "przyciski", " ikona", "przycisk domyślny", "typ") Przykład MessageBox.Show("Serdecznie witam", "Powitanie", MessageBox.Show("Serdecznie witam", "Powitanie", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktop) MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktop)
17 z 28 Wyświetlanie komunikatów Metoda System.Console.WriteLine(tekst) Tekst wyświetlany w konsoli Przykład: System.Console.WriteLine( "To jest komentarz" )
18 z 28 Zasięg zmiennych Globalny – deklaracja public Prywatny – deklaracja private Lokalny – deklaracja wewnątrz metody, funkcji, pętli, instrukcji warunkowej
19 z 28 Instrukcje warunkowe Służą sprawdzaniu warunków i na ich podstawie podejmowaniu decyzji Instrukcja If: Składnia: If warunek [ Then ]Składnia: If warunek [ Then ] [ wyrażania ] [ wyrażania ] [ ElseIf elseifwarunek [ Then ] [ ElseIf elseifwarunek [ Then ] [ elseifwyrażenia] ] [ elseifwyrażenia] ] [ Else [ Else [ elsewyrażenia ] ] [ elsewyrażenia ] ] End If End If Przykład: If n = 1000 ThenPrzykład: If n = 1000 Then MessageBox.Show("'n' is, indeed, 1000!") MessageBox.Show("'n' is, indeed, 1000!") Else Else MessageBox.Show("'n' is not 1000!") MessageBox.Show("'n' is not 1000!") End If End If
20 z 28 Instrukcje warunkowe Instrukcja Select: Składnia: Select [ Case ] lista wyrażeńSkładnia: Select [ Case ] lista wyrażeń [ Case listawyrażeń [ Case listawyrażeń [ wyrażenia ] ] [ wyrażenia ] ] [ Case Else [ Case Else [ elsewyrażenia ] ] End Select End Select Przykład: Select Case namePrzykład: Select Case name Case "Darren" favoriteColor = "Madras Yellow" Case "Stephanie" favoriteColor = "Starck Purple" Case "Darren" favoriteColor = "Madras Yellow" Case "Stephanie" favoriteColor = "Starck Purple" Case Else Case Else favoriteColor = "Meeting Room Gray" favoriteColor = "Meeting Room Gray" End Select End Select
21 z 28 Instrukcje warunkowe Operatory =, <> - różne,, ==, <> - różne,, = and, orand, or TypeOf – typ obiektu, kontrolki, zmiennejTypeOf – typ obiektu, kontrolki, zmiennej Złożone wyrażenia w okrągłych nawiasach Przykład: If imie1 = "Adam" Or imie2 = "Anna" Then If imie1 = "Adam" Or imie2 = "Anna" Then
22 z 28 Pętle Umożliwiają wykonywanie instrukcji określoną ilość razy lub do spełnienia warunku For … Next: Składnia: For licznik [ As typ_danych ] = początek To koniec [ Step krok ]Składnia: For licznik [ As typ_danych ] = początek To koniec [ Step krok ] [ wyrażenia ] [ wyrażenia ] [ Exit For ] [ Exit For ] [ statements ] [ statements ] Next [ licznik ] Next [ licznik ] Przykład: For n = 1 To 5Przykład: For n = 1 To 5 lstData.Items.Add("I'm item " & n & " in the list!") lstData.Items.Add("I'm item " & n & " in the list!") Next Next
23 z 28 Pętle Do While, Do Until: Do { While | Until } warunekDo { While | Until } warunek [ wyrażenia ] [ wyrażenia ] [ Exit Do ] [ Exit Do ] [ wyrażenia ] [ wyrażenia ] Loop Loop DoDo [ wyrażenia ] [ wyrażenia ] [ Exit Do ] [ Exit Do ] [ wyrażenia ] [ wyrażenia ] Loop{ While | Until } warunek Loop{ While | Until } warunek Przykład: Do While randomNumber < 15 randomNumber = random.Next(25) random.Next(25) lstData.Items.Add(randomNumber) lstData.Items.Add(randomNumber) Loop Loop
24 z 28 Enumeracje, struktury, kolekcje Enumeracje: Składnia: Public Enum nazwa As typ_zmiennejSkładnia: Public Enum nazwa As typ_zmiennej nazwa = wartość nazwa = wartość … End Enum End Enum Przykład: Public Enum DayAction As IntegerPrzykład: Public Enum DayAction As Integer Asleep = 0 GettingReadyForWork = 1 TravelingToWork = 2 AtWork = 3 AtLunch = 4 End Enum End Enum
25 z 28 Enumeracje, struktury, kolekcje Struktury: Składnia: Public Structure nazwaSkładnia: Public Structure nazwa deklaracje zmiennych i stałych deklaracje zmiennych i stałych End Structure End Structure Przykład: Public Structure CustomerPrzykład: Public Structure Customer Public FirstName As String Public FirstName As String Public LastName As String Public LastName As String Public As String Public As String End Structure End Structure
26 z 28 Enumeracje, struktury, kolekcje Kolekcje: Deklaracja: Private_zmienna As New ArrayList() ; Private_customers As New ArrayList()Deklaracja: Private_zmienna As New ArrayList() ; Private_customers As New ArrayList() Dodanie elementu: nazwa_zmiennej.Add(nazwa_elementu) ; _customers.Add(newCustomer)Dodanie elementu: nazwa_zmiennej.Add(nazwa_elementu) ; _customers.Add(newCustomer) Usunięcie elementu: nazwa_zmiennej.Remove(nazwa_elementu) ; _customers.Remove(newCustomer)Usunięcie elementu: nazwa_zmiennej.Remove(nazwa_elementu) ; _customers.Remove(newCustomer)
27 z 28 Tablice Definiowanie: Dim nazwa() As Typ Ustawianie wartości komórek: Podczas definiowania: Dim nazwa() As Typ = {wartości} ;Podczas definiowania: Dim nazwa() As Typ = {wartości} ; Dim friends() As String = {"Jonathan", "Richard", "Thearon"} Dim friends() As String = {"Jonathan", "Richard", "Thearon"} Po deklaracji: nazwa(numer) = wartość ; friends(5) = "Zita"Po deklaracji: nazwa(numer) = wartość ; friends(5) = "Zita" Zmienianie wielkości tablicy: Z usuwaniem wartości: ReDim nazwa(nowa_wielkość)Z usuwaniem wartości: ReDim nazwa(nowa_wielkość) Z zachowaniem wartości: ReDim Preserve nazwa(nowa_wielkość)Z zachowaniem wartości: ReDim Preserve nazwa(nowa_wielkość) Przykład: ReDim Preserve friends(6)Przykład: ReDim Preserve friends(6)
28 z 28 Tablice - Hashtables Definiowanie: Dim nazwa As New Hashtable() Ustawianie wartości komórek: zmienna.Add(klucz, wartość) ; Hashtable.Add(newCustomer. , newCustomer) Hashtable.Add(newCustomer. , newCustomer) Usuwanie: zmienna.Remove(klucz)