Präsentation herunterladen
Veröffentlicht von:Florenz Abert Geändert vor über 10 Jahren
1
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 9 Zeichenketten, Delegates und Events (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft Deutschland GmbH
2
Verlosung Programmieren lernen mit Visual Basic 2005
10 Bücher werden unter allen Teil- nehmern verlost, die an mindes- tens sieben Webcasts teilnehmen
3
Visual Studio 2005 Express Kleine Geschwister des Visual Studio 2005
Kostenlos Visual Basic 2005 Express Edition Visual C# 2005 Express Edition Visual C Express Edition Visual Web Developer 2005 Express Edition SQL Server 2005 Express Edition
4
Agenda Übungsaufgabe Teil 8 Zeichenketten Delegates Events
Zusammenfassung
5
Übungsaufgabe Teil 8 Berechnen Sie die Wurzeln von 1 bis n in einer for Schleife n soll von dem Anwender frei eingegeben werden Speichern Sie die Wurzeln in einem Array der richtigen Größe Bilden Sie den Mittelwert aller Wurzeln in dem Array Implementieren Sie Ausnahmebehandlung um potentielle Fehler abzufangen Geben Sie alle Wurzeln und deren Mittelwert aus
6
Demonstration #1 demo Übungsaufgabe, Teil 8
7
Agenda Übungsaufgabe Teil 8 Zeichenketten Delegates Events
Zusammenfassung
8
Zeichenketten Eine Zeichenkette ist ein Array aus Char
Das Arbeiten mit Char Arrays ist nicht so komfortable wie mit der String Klasse Die String Klasse ist Klasse aus dem .NET Framework kein VB.NET Feature
9
Zeichenketten Zeichenketten anlegen (geht ohne new)
Zeichenketten können zusammengefügt werden Dim text As String = "Hallo Welt!" Dim text1 As String = "Hallo" Dim text2 As String = " Welt" Dim text3 As String = text1 & text2 & "!" Console.WriteLine(text3)
10
Zeichenketten Die String Klasse des .NET Frameworks enthält viele Methoden und Properties Length EndsWith, StartsWith IndexOf, LastIndexOf IndexOfAny, LastIndexOfAny Insert, Remove, Replace Trim, TrimLeft, TrimRight Substring, Split, Concat, Join, ToCharArray ToLower, ToLowerInvariant, ToUpper, ToUpperInvariant
11
Zeichenketten Die String Klasse des .NET Frameworks enthält viele statische Methoden und Properties Empty Concat Format IsNullOrEmpty Join
12
Zeichenketten Achtung, Performance!!! Sting ist unveränderlich
Viele neue String Objekte können ein Programm langsam machen Dim Text As String = String.Empty For i As Integer = 0 To Text += "Hallo" Next Console.WriteLine(Text) ' Besser! Dim TextConcat As New System.Text.StringBuilder TextConcat.Append("Hallo") Console.WriteLine(TextConcat)
13
Demonstration #2 demo Strings
14
Agenda Übungsaufgabe Teil 8 Zeichenketten Delegates Events
Zusammenfassung
15
Delegates (Funktionszeiger)
Wofür werden Zeiger auf Funktionen benötigt? Beispiel: Sortierung Bei der Sortierung muss entschieden werden, welches das größere von zwei Objekten ist Problemlos sind: Integer, Double, String, … Was ist mit eigenen Klassen?
16
Demonstration #3 demo Bubblesort
17
Delegates (Funktionszeiger)
Es muss festgestellt werden, welches Objekt größer ist… … egal um welchen Objekttyp es sich handelt => eigene Vergleichsroutine schreiben If Daten(j) > Daten(pos) Then pos = j End If
18
Delegates (Funktionszeiger)
Ein Delegate ist ein Objekt das auf eine Methode zeigt Wenn dieses Objekt verwendet wird, dann wird die Methode aufgerufen auf die das Delegate zeigt
19
Delegates (Funktionszeiger)
Schritt 1: Delegate deklarieren Schritt 2: Delegate Objekt instanzieren Schritt 3: Delegate verwenden Delegate Function Add(ByVal i1 As Integer, ByVal i2 As Integer) As Integer Dim a As New Add(AddressOf Addiere) Console.WriteLine(a(5, 6)) Function Addiere( _ ByVal Summand1 As Integer, _ ByVal Summand2 As Integer) As Integer Return Summand1 + Summand2 End Function
20
Delegates (Funktionszeiger)
Vollständiges Beispiel Delegate Function Add(ByVal i1 As Integer, ByVal i2 As Integer) As Integer Sub main() Dim a As New Add(AddressOf Addiere) Console.WriteLine(a(5, 6)) End Sub Function Addiere( _ ByVal Summand1 As Integer, _ ByVal Summand2 As Integer) As Integer Return Summand1 + Summand2 End Function
21
Demonstration #4 demo Delegates Flexibler Bubblesort
22
Agenda Übungsaufgabe Teil 8 Zeichenketten Delegates Events
Zusammenfassung
23
Events (Ereignisse) Was sind Events? Typische Beispiele:
Eine ist angekommen Ein Button wurde angeklickt Der Inhalt einer Datei auf der Festplatte ändert sich
24
Events (Ereignisse) Ein Event ist eine Nachricht, die von einem Objekt (Sender) gesendet wurde um über ein bestimmtes Ereignis zu informieren. Das Objekt, welches die Nachricht erhält ist der Empfänger Problem: Der Sender weiß im Vorfeld nicht, welches Objekt oder Methode das Ereignis bearbeitet. Zwischen dem Sender und Empfänger wird ein „Vermittler“ benötigt => Delegate
25
Demonstration #5 demo Events
26
Events (Ereignisse) Entscheidende Eigenschaft bei Events:
Es wird NICHT festgelegt, welche Methode beim Auslösen des Events aufgerufen wird Die aufzurufende Methode wird von dem Programmierer angegeben Beispiel: Wenn der Button „btn1“ geklickt wird soll die Methode „xyz“ aufgerufen werden
27
Events (Ereignisse) Jedes Event hat Argumente
Standard: EventArgs Spezielle Argumentklassen sind möglich Eigene Argumentklassen sind auch möglich Eigene Klasse durch Ableitung von der Klasse EventArgs Eigene EventArgs-Klasse wird im Delegate angegeben
28
Agenda Übungsaufgabe Teil 8 Zeichenketten Delegates Events
Zusammenfassung
29
Übungsaufgabe Schreiben Sie ein Programm, welches eine „horizontale“ Balkengrafik darstellen kann Die Höhe der Balken liegt in einem Integer Array ACHTUNG: Max. Länge des Balkens muss berücksichtigt werden (Breite des Fensters) Die Balkenerzeugung und –verwaltung soll in einer eigenen Klasse implementiert werden Das verwendete Zeichen für die Balken soll frei wählbar sein
30
Übungsaufgabe Sonstige Features: Aussehen
Links neben dem Balken soll die Höhe ausgegeben werden Die Balkendaten sollen von der Tastatur eigelesen werden Implementieren Sie eine Sortierroutine Aussehen 25:xxxxxxxxxxxxxxxxxxxxxxxxx 18:xxxxxxxxxxxxxxxxxx 5:xxxxx 7:xxxxxxx 12:xxxxxxxxxxxx
31
Agenda Übungsaufgabe Teil 8 Zeichenketten Delegates Events
Zusammenfassung
32
Zusammenfassung Strings sind ein sehr mächtiges Werkzeug
Werden in jedem Programm verwendet Delegates und Events ermöglichen Flexible Programme Sehr wichtig beispielsweise bei Benutzerschnittstellen
33
Nächster Termin VB.NET für Einsteiger und Umsteiger, Teil 10
Die erste, eigene Klassenbibliothek Montag, :00-17:00 Uhr
34
Referenzen & Downloads
String-Klasse Übersicht über Formatierung Behandeln und Auslösen von Ereignissen Ereignisse und Delegaten
35
Referenzen & Downloads
Microsoft Visual Basic Das Entwicklerbuch MSDN Solve, Antworten für Entwickler
36
Questions and Answers Daniel Walzenbach
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.