Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 9 Zeichenketten, Delegates und Events (Level 100) Presenter: Daniel Walzenbach Technologieberater.

Ähnliche Präsentationen


Präsentation zum Thema: "MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 9 Zeichenketten, Delegates und Events (Level 100) Presenter: Daniel Walzenbach Technologieberater."—  Präsentation transkript:

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 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 studio/products/express/vb/default.mspx studio/products/express/vb/default.mspx 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 ZeichenkettenDelegatesEventsÜbungsaufgabeZusammenfassung

5 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 ZeichenkettenDelegatesEventsÜbungsaufgabeZusammenfassung

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 EmptyConcatFormatIsNullOrEmptyJoin

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 For i As Integer = 0 To TextConcat.Append("Hallo") Next Console.WriteLine(TextConcat)

13 Demonstration #2 demoStrings

14 Agenda Übungsaufgabe Teil 8 ZeichenkettenDelegatesEventsÜbungsaufgabeZusammenfassung

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 demoBubblesort

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 demoDelegates Flexibler Bubblesort

22 Agenda Übungsaufgabe Teil 8 ZeichenkettenDelegatesEventsÜbungsaufgabeZusammenfassung

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 demoEvents

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 ZeichenkettenDelegatesEventsÜbungsaufgabeZusammenfassung

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: 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 ZeichenkettenDelegatesEventsÜbungsaufgabeZusammenfassung

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 de/library/system.string(VS.80).aspx de/library/system.string(VS.80).aspx Übersicht über Formatierung de/library/26etazsy(VS.80).aspx de/library/26etazsy(VS.80).aspx Behandeln und Auslösen von Ereignissen de/library/edzehd2t(VS.80).aspx de/library/edzehd2t(VS.80).aspx Ereignisse und Delegaten de/library/17sde2xt(VS.80).aspx de/library/17sde2xt(VS.80).aspx

35 Referenzen & Downloads Microsoft Visual Basic Das Entwicklerbuch buchversand.de/mspress/product.asp?cnt=product&id= ms-537&lng=0 buchversand.de/mspress/product.asp?cnt=product&id= ms-537&lng=0 MSDN Solve, Antworten für Entwickler

36 Questions and Answers Daniel Walzenbach

37


Herunterladen ppt "MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 9 Zeichenketten, Delegates und Events (Level 100) Presenter: Daniel Walzenbach Technologieberater."

Ähnliche Präsentationen


Google-Anzeigen