Aufgaben zu C# und Windows-Form Programmierung



Ähnliche Dokumente
Zeichen bei Zahlen entschlüsseln

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Lehrer: Einschreibemethoden

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Anleitung über den Umgang mit Schildern

Stammdatenanlage über den Einrichtungsassistenten

Handbuch für Redakteure

Mediator 9 - Lernprogramm

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Internationales Altkatholisches Laienforum

6.2 Scan-Konvertierung (Scan Conversion)

Arbeiten mit UMLed und Delphi

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

Beispiel(unten ist der Spielfeldrand):

Anleitung für die Hausverwaltung

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Fachhochschule Fulda. Bedienungsanleitung für QISPOS (Prüfungsanmeldung, Notenspiegel und Bescheinigungen)

Pflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Leichte-Sprache-Bilder

Bedienung des Web-Portales der Sportbergbetriebe

Die Größe von Flächen vergleichen

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Erweiterungen Webportal

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Datenbank LAP - Chefexperten Detailhandel

Kurzanleitung der Gevopa Plattform

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Anleitung zum Erstellen eines Freihaltetermins

Handbuch für Redakteure

1 Vom Problem zum Programm

104 WebUntis -Dokumentation

Schulberichtssystem. Inhaltsverzeichnis

Einführung in die C++ Programmierung für Ingenieure

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 16

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

4. BEZIEHUNGEN ZWISCHEN TABELLEN

User Manual Data 24. Login und Layout

Schulung Marketing Engine Thema : Einrichtung der App

Datenbanken Kapitel 2

Nutzungsbroschüre für Vereine

der Firma BuchLogistikCompany GmbH Erstellt von Bernhard Neidl

Hochschule München, FK 03 FA SS Ingenieurinformatik

Vorstellung Microsoft Mathematics 4.0

Kontrollstrukturen und Funktionen in C

Zwischenablage (Bilder, Texte,...)

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Um eine Person in Magnolia zu erfassen, gehen Sie wie folgt vor:

Diana Lange. Generative Gestaltung Operatoren

Übungen Programmieren 1 Felix Rohrer. Übungen

Kurzanleitung RACE APP

Handbuch für Redakteure

Anleitung zum LPI ATP Portal

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Dokumentation. estat Version 2.0

Installationsanleitung Maschinenkonfiguration und PPs

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Excel Funktionen durch eigene Funktionen erweitern.

Programmierkurs Java

Professionelle Seminare im Bereich MS-Office

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Microsoft Access 2010 Navigationsformular (Musterlösung)

Informatik Grundlagen, WS04, Seminar 13

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

StudyDeal Accounts auf

So gehts Schritt-für-Schritt-Anleitung

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Primzahlen und RSA-Verschlüsselung

Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0)

Elektronische Rechnungsstellung DSQ

Benutzerhandbuch - Elterliche Kontrolle

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Ein Bild in den Text einfügen

ecaros2 - Accountmanager

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Viele Bilder auf der FA-Homepage

Warenwirtschaft Handbuch - Administration

Anzeige von eingescannten Rechnungen

CodeSaver. Vorwort. Seite 1 von 6

1 Mathematische Grundlagen

Word. Serienbrief erstellen

Pfötchenhoffung e.v. Tier Manager

Erstellen von x-y-diagrammen in OpenOffice.calc

Wie Sie mit Mastern arbeiten

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Professionelle Seminare im Bereich MS-Office

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

SMS-Dienst SMS-Dienst procar informatik AG Stand: FS 04/2011 Eschenweg Weiterstadt 1

1. So beginnen Sie eine Kalkulation

Die Promovierendenpräsentation im Netz

Transkript:

Aufgaben zu C# und Windows-Form Programmierung Ralf Adams (TBS1, Bochum) Version 0.3 vom 10. August 2011 1 Erste Woche 1.1 Erster Tag Aufgabe 1.1.1 Legen Sie eine Tabelle mit den wichtigsten Datentypen und ihrem Werteberech an. Aufgabe 1.1.2 Aus welchen zwei Teilen besteht jede Variablendeklaration? Aufgabe 1.1.3 Deklarieren und initialisieren Sie zu jedem Datentyp eine Variable. Aufgabe 1.1.4 Was ist der Unterschied zwischen Konstanten und Variablen? Aufgabe 1.1.5 Ordnen Sie durch Kreuze den Werten in der Tabelle 1 mögliche Datentypen zu (Mehrfachzuweisung möglich): Tabelle 1: Einfache Datentypen Wert int char long uint double bool String 2 C 1000.00 0-56 -12.0 Aufgaben zu C# 1

1 Erste Woche Wert int char long uint double bool String -435.123 true abc -12e50 12.5 5e-5 1.2 Zweiter Tag Aufgabe 1.2.1 Schreiben Sie ein Programm mit folgenden Eigenschaften: Berechnen Sie Mantelfläche und Volumen eines Prismas mit einer rechteckigen Grundfläche den Kantenlängen a = 70cm, b = 0.9m, h = 1m. Achten Sie auf die Maßeinheiten. Die Formel entnehmen Sie bitte einer Formelsammlung. Aufgabe 1.2.2 Erweitern Sie das Programm um eine Tastatureingabe der Werte. Aufgabe 1.2.3 Schreiben Sie ein Programm mit folgenden Eigenschaften: In der Variable a steht der Wert 12.5 und in der Variablen b steht der Wert 5. Das Programm soll den Inhalt der beiden Variablen vertauschen und das Ergebnis auf den Bildschirm ausgeben. Es reicht nicht aus die Variablen in vertauschter Reihenfolge auszugeben; der Inhalt muss ausgetauscht werden! Aufgabe 1.2.4 Erweitern Sie das Programm um eine Tastatureingabe der Werte. 1.3 Dritter Tag Aufgabe 1.3.1 Füllen Sie Tabelle 2 aus. Geben Sie zu jeder Operation den Operator und ein Beispiel an. Tabelle 2: Einfache Operatoren Bedeutung Operator Beispiel Zuweisung = int ianzahl = 9; Modulo Addition Ganzzahlige Division Aufgaben zu C# 2

1 Erste Woche Bedeutung Operator Beispiel Subtraktion Inkrement um 1 Inkrement Division Multiplikation Dekrement um 1 Dekrement Vorzeichen Konkanetation Aufgabe 1.3.2 In welcher statischen Klasse finden Sie weitere mathematische Funktionen, wie die Quadratwurzel oder den Sinus? Aufgabe 1.3.3 Füllen Sie Tabelle 3 aus. Geben Sie zu jeder Funktion den Funktionsnamen und ein Beispiel an. Tabelle 3: Mathematische Funktionen Bedeutung Name Beispiel Sinus Math.Sin() dx = Math.Sin(dWinkel); Cosinus Tangens Quadratwurzel X Y Minimum Maximum Runden Vorzeichen Logarithmus Aufgabe 1.3.4 Bei einem rechtwinkligem Dreieck sind die Kathetenlängen a, b bekannt. Berechnen Sie die Länge der Hypothenuse c mit Hilfe des Pythagoras c = a 2 + b 2. Aufgaben zu C# 3

2 Zweite Woche Aufgabe 1.3.5 Schreiben Sie ein Programm mit folgenden Eigenschaften: Ermitteln Sie die Lösungen x 1,2 aus der quadratischen Gleichung ax 2 + bx + c = 0 mit Hilfe der Formel: x 1,2 = b± b 2 4ac 2a Aufgabe 1.3.6 Ein Grashalm mit einem Durchmesser von 5mm kann eine Höhe von 1.2m erreichen. Wie hoch müsste ein entsprechender Turm aus Stahlbeton mit einem Durchmesser von 15m sein? Welches Volumen an Stahlbeton müsste dazu verwendet werden, wenn man von einer Wandstärke mit 50cm ausginge? Aufgabe 1.3.7 Erweitern Sie die Berechnungen um die Tastatureingaben. 1.4 Vierter Tag Aufgabe 1.4.1 Schreiben Sie ein Programm mit folgenden Eigenschaften: Der Anwender will sein Passwort ändern. Dazu soll er zuerst sein altes Passwort eingeben. Das alte Passwort heißt K90bbg6. Stimmt die Eingabe mit dem alten Passwort überein, soll er ein neues Passwort eingeben. Das Passwort soll zur Sicherheit wiederholt werden. Wenn beide Eingaben gleich sind, wird dass Passwort akzeptiert, ansonsten sollen beide Eingaben wiederholt werden. Aufgabe 1.4.2 Erweitern Sie das Programm um folgende Eigenschaften: Das Passwort sollte mindestens 6 Zeichen lang sein, mindestens eine Zahl, mindestens einen Groß- und einen Kleinbuchstaben enthalten. Falls eines der Bedingungen nicht zutrifft, sollte eine Warnung ausgegeben werden. 2 Zweite Woche 2.1 Erster Tag Aufgabe 2.1.1 Erstellen Sie eine zur Aufgabe 1.2.1 auf Seite 2 passende Windows-Foms Anwendung (siehe Abbildung 1 auf der nächsten Seite) mit folgenden Eigenschaften: Es gibt drei TextBoxen für die zwei Kantenlängen und die Höhe. Diese sollen rechtsbündig justiert sein. Die Vorbelegungen entsprechen der ursprünglichen Aufgabenstellung und werden in cm angegeben. In einem Label wird das Volumen in cm 3 ausgegeben. Das Volumen wird wie folgt berechnet: V = Grundfläche Höhe = abh In einem Label wird die Mantelfläche in cm 2 ausgegeben. Die Mantelfläche wird wie folgt berechnet: M = 2(ab + ah + bh) Aufgaben zu C# 4

2 Zweite Woche Schon beim Start werden mit den Werten der Vorbelegung die Ergebnisse angezeigt. Werden formal falsche Eingaben gemacht oder negative Werte eingegeben, soll eine Fehlermeldung in den beiden Ergebnislabels stehen. Die Berechnung wird ausgelöst, wenn eines der drei Felder verlassen wird. Bei Betätigung des Buttons Beenden, wird die Anwendung beendet. Abbildung 1: Volumen und Mantelfäches eines geraden Prismas mit rechteckiger Grundfläche 2.2 Zweiter Tag Aufgabe 2.2.1 Erstellen Sie eine zur Aufgabe 1.3.4 auf Seite 3 passende Windows-Foms Anwendung (siehe Abbildung 2 auf der nächsten Seite) mit folgenden Eigenschaften: Es gibt zwei Textboxen für die zwei Kathetenlängen. Die Textboxen sollen rechtsbündig justiert sein. Die Vorbelegungen sind 1.0 und werden in cm angegeben. In einem Label wird die Länge der Hypothenuse in cm ausgegeben. Schon beim Start werden mit den Werten der Vorbelegung die korrekten Ergebnisse angezeigt. Werden formal falsche Eingaben gemacht oder negative Werte eingegeben, soll eine Fehlermeldung in einer Messagebox erscheinen. Im Ergebnislabel soll Error stehen. Die Berechnung wird ausgelöst, wenn eines der beiden Felder verlassen wird. Bei Betätigung des Buttons Beenden, wird die Anwendung beendet. Aufgaben zu C# 5

2 Zweite Woche Abbildung 2: Rechtwinkliges Dreieck, Version 1 Aufgabe 2.2.2 Erweitern Sie die Aufgabe um eine Zeichnung des rechtwinkligen Dreiecks (siehe Abbildung 3 auf der nächsten Seite). Fügen Sie ein Label und eine TextBox für den Maßstab hinzu. Die Vorbelegung ist 1.0. Ein Verlassen des Maßstabes soll ein Neuzeichnen zur Folge haben. Das Gleiche gilt für das Verlassen der Längeneingaben. Fügen Sie eine PictureBox hinzu. In diese soll das Dreieck gezeichnet werden. Die Hintergrundfarbe ist Color.White Zeichnen Sie das Dreieck. Der Einfachheit halber gilt: 1cm = 100px. Die Linie a ist horizontal b vertikal. Die drei Seiten sollen unterschiedliche Farben haben. Die Hypothenuse hat die Farbe Color.Red. Aufgabe 2.2.3 Ersetzen Sie die Eingabe des Maßstabs in einer Textbox durch ein NumericUpDown (siehe Abbildung 4 auf der nächsten Seite). Der Werteberech soll von 0, 1 bis 2, 0 sein. Sein Inkrement 0, 1. Eine direkte Eingabe der Werte soll nicht möglich sein (ReadOnly auf true). 2.3 Dritter Tag Aufgabe 2.3.1 Erstellen Sie eine zur Aufgabe 1.3.5 auf Seite 3 passende Windows-Form Anwendung mit folgenden Eigenschaften: Es stehen drei TextBoxen für die drei Kooefizienten zur Verfügung. Die Lösungen x 1 und x 2 werden in zwei Labels ausgeben. Die Anzahl der Lösungen wird in einem dritten Label ausgeben. Aufgaben zu C# 6

2 Zweite Woche Abbildung 3: Rechtwinkliges Dreieck, Version 2 Abbildung 4: Rechtwinkliges Dreieck, Version 3 Aufgaben zu C# 7

2 Zweite Woche Eingabefehler werden ebenfalls in diesem Label ausgegeben. Die Startkoeffzienten sind: a = 1, 0, b = 1.0 und c = 0, 5. Die Lösungen werden gleich am Anfang und nach jeder Wertänderung (nach Verlassen) ermittelt. Aufgabe 2.3.2 Programmieren Sie ein Cäsar-Verschlüsselung (siehe Abbildung 5 auf der nächsten Seite). In einer Textbox (Multiline = True, AcceptsReturn = true) geben Sie den Klartext ein. In einem NumericUpDown (Minimum: 0, Maximum: 255, Inkrement: 1) legen Sie fest, um welche Stelle die Buchstaben verschoben werden sollen. In einer TextBox (wie oben, aber ReadOnly) soll das Ergebniss ausgegeben werden. Wichtig: Sonderzeichen mit dem Acsii-Code<32 sollen nicht verschoben werden! Beispiel: Originaltext = hallo, Offset = 2 ergibt jcnnq. Tipps: 1. Codenummer eines Zeichens ermitteln: icode = (int)c; 2. Wert eines NumericUpDown: Convert.ToInt32(numOffset.Value) 3. Codenummer in eine Zeichen umwandeln: (char)icode 4. Zeichen an einen String anhängen: txtverschlüsselt.text += czeichen 2.4 Vierter Tag Aufgabe 2.4.1 Bauen Sie Aufgabe 2.3.2 so um, dass der Originaltext aus einer Datei gelesen wird und das Ergebnis in eine andere Datei geschrieben wird. Die Dateien sollen über SaveFileDialog und OpenFileDialog bestimmt werden. Verwenden Sie den StreamReader und den StreamWriter. Aufgabe 2.4.2 Erstellen Sie einen Temperaturumrechner (siehe Abbildung 6 auf Seite 10). In einer TextBox soll eine Temperatur angegeben werden. Diese soll wahlweise wie folgt umgewandelt werden: Von Celsius T C nach F ahrenheit T F : T F = T C 9/5 + 32 Von F ahrenheit T F nach Celsius T C : T C = (T F 32) 5/9 Aufgaben zu C# 8

2 Zweite Woche Abbildung 5: Einfache Cäsar-Verschlüsselung Von Celius T C nach Kelvin T K : T K = T C + 273, 15 Von Kelvin T K nach Celius T C : T C = T K 273, 15 Dabei müssen einige Regeln beachtet werden: Ist die Ursprungseinheit Celsius, so kann die Temperatur nicht kälter als 273, 15 sein. Ist die Ursprungseinheit F ahrenheit, analog. Ist die Ursprungseinheit Kelvin, so ist der kleinste Wert 0. Werden diese Regeln verletzt oder eine formal falsche Temperaturangabe gemacht, soll eine Fehlermeldung (wie oder wie auch immer) erscheinen. Vorbelegung: Temperatur = 20,0 und die Umrechnung von Celsius nach F ahrenheit. Wertänderungen oder eine andere Umrechnungsaufgabe lösen eine Berechnung des Ergebnisses aus. Bitte beachten Sie, dass die Maßeinheiten sich in der Oberfläche auch anpassen müssen. Die Nachkommastellen sollen auf drei Stellen rerundet werden. Aufgabe 2.4.3 Erstellen Sie eine Windows-Form Anwendung (siehe Abb. 8 auf Seite 11) zur Berechnung des Widerstands einer Parallelschaltung. In einer TextBox kann ein Widerstandswert in Ω eingegeben werden. Dieser wird einer List von double-werten hinzugefügt. Neben der TextBox steht ein Button mit der Aufschrift Hinzufügen. Dieser ist inaktiv, wenn der Inhalt der TextBox kein gültiger double ist. Die erfassten Widerstandswerte werden in einer ListBox dargestellt. Versuchen herauszufinden, wie Sie den Inhalt einer List<double> mit einer ListBox verknüpfen können (DataSource). Aufgaben zu C# 9

3 Dritte Woche Abbildung 6: Umrechnung von Celsius T C nach F ahrenheit T F Abbildung 7: Umrechnung von F ahrenheit T F nach Celsius T C Es gibt einen Button mit der Ausfschrift Letzten Wert löschen. Dieser ist nur aktiv, wenn mindestens ein Wert erfasst wurde. Wird er betätigt, wird der letzte Wert der Liste gelöscht. Es gibt einen Button mit der Ausfschrift Alle Werte löschen. Dieser ist nur aktiv, wenn mindestens zwei Werte erfasst wurden. Wird er betätigt, werden alle Werte der Liste gelöscht. In einem Label wird der Gesamtwiderstand in Ω ausgegeben. Die Formel lautet: 1 R G = 1. Der Wert wird nur berechnet, wenn mindestens ein Wert + 1 +...+ 1 R 1 R 2 R N erfasst wurde. 3 Dritte Woche In dieser Woche soll ein Adress-Editor erstellt werden. Die Arbeit wird auf mehrere Tage verteilt. 3.1 Erster Tag Aufgabe 3.1.1 Legen Sie in einem Windows-Form Projekt eine neue Klasse Adresse an. Diese Klasse hat folgende private Felder: m_strnachname : String m_strvorname : String Aufgaben zu C# 10

3 Dritte Woche Abbildung 8: Widerstand Parallelschaltung mit nur einem Wert Abbildung 9: Widerstand Parallelschaltung mit mehreren Werten m_strstrasse : String m_strhausnummer : String m_strpostleitzahl : String m_strort : String Aufgabe 3.1.2 Kapseln Sie die Felder mit Eigenschaften. Erweitern Sie diese Klassen um die Felder (mit ihren Eigenschaften), die Ihnen auch wichtig sind (z.b. EMail- Adresse, ICQ etc.). Aufgabe 3.1.3 Fügen Sie im der Formularklasse eine Liste von Adressen hinzu: List<Adresse> m_lstadressen. Aufgabe 3.1.4 Fügen Sie ihm ebenfalls einen Button mit dem Text Neu hinzu. Wenn man auf diesen drückt, soll sich der Text in Sichern ändern und die Eingabefelder sollen leer sein. Die Eingabefelder sind dann nicht mehr ReadOnly. Wird nun auf Sichern gedrückt, wird ein neues Adresse-Objekt angelegt und in die Liste gespeichert. Der Text auf dem Button wird wieder Neu und die Eingabefelder ReadOnly. Der Inhalt der Eingabefelder ist immer die zuletzt angelegte Adresse. Erstellen Sie dazu folgende Methoden: void SetReadOnly(bool bwert) Diese Methode setzt die ReadOnly-Eigenschaft aller Eingabefelder auf den Wert bwert. Mit dieser Methode kann man dann die Eingabefelder hin- und herschalten. Aufgaben zu C# 11

3 Dritte Woche void SetEmpty() Diese Methode setzt / leert die Eingabefelder auf den Leerstring. Mit dieser Methode kann man bei Neu die Eingabefelder leeren. Adresse Eingabe2Adresse() Diese Methode erzeugt ein neues Adresse- Objekt. Anschließend kopiert diese Methode die Inhalte der TextBoxen in das neu erzeugte Adresse-Objekt. Mit return wird dieses neue Objekt dann zurückgeliefert. Mit Hilfe dieser methode kann man sich die Eingaben zu einem Adresse-Objekt umbauen lassen, um es dann der Liste hinzuzufügen. Aufgabe 3.1.5 Zusatzaufgabe: Fügen Sie ein StatusStrip hinzu, der die Anzahl der Adressen ausgibt. Am Ende dieses Tages sollte die Anwendung wie in Abbildung 10 aussehen. Abbildung 10: Adressverwaltung 1.0 nach dem Start Abbildung 11: Adressverwaltung 1.0 nach Adresseeingabe 3.2 Zweiter Tag Aufgabe 3.2.1 Wir wollen durch den Adressbestand blättern. Fügen Sie einen Button mit dem Text Vor und einem mit Zurück hinzu. Wird die letzte Adresse in der Liste angezeigt, ist der Vor inaktiv. Wird Vor gedrückt, wird die nächste Adresse in der List angezeigt. Wird die erste Adresse in der Liste angezeigt, ist der Zurück inaktiv. Wird Zurück gedrückt, wird die vorherige Adresse in der List angezeigt. Tipp: Sie brauchen eine Variable, die sich merkt, an welcher Stelle in der List man sich gerade befindet und eine Methode, die das Adresse-Objekt mit dem Index in die Eingabefelder kopiert (void Adresse2Eingaben()). Aufgabe 3.2.2 Zusatzaufgabe: In der Statusleiste steht in Hinweis der Art: Adresse 5 von 10. Aufgaben zu C# 12

3 Dritte Woche Abbildung 12: Adressverwaltung 2.0 nach dem Start Abbildung 13: Adressverwaltung 2.0 nach Adresseeingabe 3.3 Dritter Tag Aufgabe 3.3.1 Fügen Sie einen Button mit dem Text Speichern hinzu. Wird er geklickt, erscheint ein SaveFileDialog. Seine Standardextension ist xml und seine Filter Alle Dateien und xml-dateien. Die Adressen werden anschließend über den XmlSerializer gespeichert. Bitte beachten Sie, dass dazu die Adresse-Klasse öffentlich sein muss! Aufgabe 3.3.2 Fügen Sie einen Button mit dem Text Laden hinzu. Wird er geklickt, erscheint ein OpenFileDialog. Seine Standardextension ist xml und seine Filter Alle Dateien und xml-dateien. Die Adressen werden anschließend über den XmlSerializer geladen. Die vorhandene Adressliste wird dabei gelöscht. Bitte beachten Sie, dass die Variable, die sich ihre aktuelle Adressposition merkt, zurückgesetzt werden muss, damit der erste Datensatz angezeigt wird. 3.4 Vierter Tag Aufgabe 3.4.1 Fügen Sie einen Button mit dem Text Bearbeiten hinzu. Wenn dieser gedrückt wird, wird der aktuell angezeigte Datensatz bearbeitet. Der Button soll inaktiv sein, wenn noch keine Adresse erfasst wurde oder man gerade eine neue Adresse erstellt. Während der Erfassung einer neuen Adresse und einer Änderung sollen die Navigationsbuttons inaktiv sein. Wird gerade ein Datensatz bearbeitet, sollen alle anderen Buttons inaktiv sein und sich der Text von Bearbeiten in Übernehmen ändern. Wird Übernehmen gedrückt, Aufgaben zu C# 13

3 Dritte Woche werden die Änderungen übernommen und TextBoxen und Buttons sind wieder wie vorher. Beispiele siehe Abbildung 14. Die erste Abbildung zeigt das Ausgrauen bei leerem Datenbestand und die zweite bei einer Änderung. Man beachte die veränderte Beschriftung! Abbildung 14: Adressverwaltung 3.0 nach dem Start Abbildung 15: Adressverwaltung 3.0 Bearbeiten Aufgaben zu C# 14