280 likes | 459 Views
Microsoft Visual Basic .NET. Michał Kuciapski Uniwersytet Gdański. część 1. Cechy. Zdarzeniowy ( ang. event driven ) Programowanie w wielu językach na jednej platformie - Microsoft Foundation Classes (MFC) 2 warstwy: programowania i wykonywania
E N D
Microsoft Visual Basic .NET Michał Kuciapski Uniwersytet Gdański część 1
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
Środowisko i składnia • Komunikaty • Zasięg • Instrukcje • warunkowe • Pętle • Enumeracje, • struktury, kolekcje • 13. Tablice • Środowisko • Kontrolki • Typy danych • Operacje na liczbach • Operacje na napisach • Daty • Metody i funkcje
nazwa aplikacji Środowisko menu i pasek narzędzi eksplorer rozwiązań okno projektowe ramka narzędziowa okno zadań ckno właściwości
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
Kontrolki wybór zdarzenia wybór kontrolki (instancji) kod zdarzenia ustawienie atrybutu
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
Typy danych • Liczby: • Całkowite – np. Short, Integer • Zmiennopozycyjne – np. Single, Double • Napisy – String • Inne typy – np. Boolean, Date • Deklaracja: • Zmiennej: Dimnazwa_zmiennejAstyp • Stałej: Public Const nazwa_ zmiennejAs typ = "wartość"
Operacje na liczbach • Dodawanie - + • Odejmowanie - - • Mnożenie - * • Dzielenie - / • Przykłady: • n = n / 6 • n += 8 równoważne n = n + 8
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
Daty • Pobieranie: date.funkcja ; data = Date.Now() • Pobieranie elementów: zmienna.funkcja ; data.Month, data.Hour • Formatowanie: • zmienna.funkcja_formatująca ;data.ToLongDateString • 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)
Metody i funkcje • Metody: • Deklaracja: [{ Public | Protected | Friend | Protected Friend | Private }] Subnazwa [(argumenty)] [ wyrażenia ] End Sub • Przykład: Sub SayHello() MessageBox.Show("Hello, world!", "Three Buttons") End Sub
Metody i funkcje • Funkcje: • Deklaracja: [{ Public | Protected | Friend | Protected Friend | Private }] Functionnazwa [(argumenty)] Astyp_zmiennej [ wyrażenia ] Return wartość End Function • Przykład: Function CalculateAreaFromRadius (ByVal radius As Double) As Double Dim radiusSquared As Double radiusSquared = radius * radius Return radiusSquared End Function
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
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", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktop)
Wyświetlanie komunikatów • Metoda System.Console.WriteLine(tekst) • Tekst wyświetlany w konsoli • Przykład: System.Console.WriteLine("To jest komentarz")
Zasięg zmiennych • Globalny – deklaracja public • Prywatny – deklaracja private • Lokalny – deklaracja wewnątrz metody, funkcji, pętli, instrukcji warunkowej
Instrukcje warunkowe • Służą sprawdzaniu warunków i na ich podstawie podejmowaniu decyzji • Instrukcja If: • Składnia:Ifwarunek [ Then ] [ wyrażania ] [ ElseIfelseifwarunek [ Then ] [ elseifwyrażenia] ] [ Else [ elsewyrażenia ] ] End If • Przykład:If n = 1000 Then MessageBox.Show("'n' is, indeed, 1000!") Else MessageBox.Show("'n' is not 1000!") End If
Instrukcje warunkowe • Instrukcja Select: • Składnia:Select [ Case ] lista wyrażeń [ Caselistawyrażeń [ wyrażenia ] ] [ Case Else [ elsewyrażenia ] ] End Select • Przykład: Select Case name Case "Darren" favoriteColor = "Madras Yellow" Case "Stephanie" favoriteColor = "Starck Purple" Case Else favoriteColor = "Meeting Room Gray" End Select
Instrukcje warunkowe • Operatory • =, <> - różne, <, >, <=, >= • and, or • TypeOf – typ obiektu, kontrolki, zmiennej • Złożone wyrażenia w okrągłych nawiasach • Przykład: Ifimie1 = "Adam" Orimie2 = "Anna" Then
Pętle • Umożliwiają wykonywanie instrukcji określoną ilość razy lub do spełnienia warunku • For … Next: • Składnia:Forlicznik [ Astyp_danych ] =początekTokoniec [ Stepkrok ] [ wyrażenia ] [ Exit For ] [ statements ] Next [ licznik ] • Przykład: For n = 1 To 5 lstData.Items.Add("I'm item " & n & " in the list!") Next
Pętle • Do While, Do Until: • Do { While | Until } warunek [ wyrażenia ] [ Exit Do ] [ wyrażenia ] Loop • Do [ wyrażenia ] [ Exit Do ] [ wyrażenia ] Loop{ While | Until } warunek • Przykład: Do While randomNumber < 15 randomNumber = random.Next(25) lstData.Items.Add(randomNumber) Loop
Enumeracje, struktury, kolekcje • Enumeracje: • Składnia: Public Enum nazwa Astyp_zmiennej nazwa = wartość … EndEnum • Przykład: Public Enum DayAction As Integer Asleep = 0 GettingReadyForWork = 1 TravelingToWork = 2 AtWork = 3 AtLunch = 4 End Enum
Enumeracje, struktury, kolekcje • Struktury: • Składnia: Public Structure nazwa deklaracje zmiennych i stałych EndStructure • Przykład: Public Structure Customer Public FirstName As String Public LastName As String Public Email As String End Structure
Enumeracje, struktury, kolekcje • Kolekcje: • Deklaracja: Private_zmienna As New ArrayList() ;Private_customers As New ArrayList() • Dodanie elementu: nazwa_zmiennej.Add(nazwa_elementu) ;_customers.Add(newCustomer) • Usunięcie elementu: nazwa_zmiennej.Remove(nazwa_elementu) ;_customers.Remove(newCustomer)
Tablice • Definiowanie: Dimnazwa() AsTyp • Ustawianie wartości komórek: • Podczas definiowania: Dimnazwa() As Typ = {wartości}; Dim friends() As String = {"Jonathan", "Richard", "Thearon"} • Po deklaracji: nazwa(numer) = wartość ; friends(5) = "Zita" • Zmienianie wielkości tablicy: • Z usuwaniem wartości: ReDim nazwa(nowa_wielkość) • Z zachowaniem wartości: ReDimPreserve nazwa(nowa_wielkość) • Przykład: ReDim Preserve friends(6)
Tablice - Hashtables • Definiowanie: DimnazwaAsNew Hashtable() • Ustawianie wartości komórek: zmienna.Add(klucz, wartość) ; EmailHashtable.Add(newCustomer.Email, newCustomer) • Usuwanie: zmienna.Remove(klucz)