Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Von Pascal zu Delphi Eine Einführung in die Entwicklung ereignisgesteuerter Programme Gregor Noll 2005.

Ähnliche Präsentationen


Präsentation zum Thema: "Von Pascal zu Delphi Eine Einführung in die Entwicklung ereignisgesteuerter Programme Gregor Noll 2005."—  Präsentation transkript:

1 Von Pascal zu Delphi Eine Einführung in die Entwicklung ereignisgesteuerter Programme Gregor Noll 2005

2 G.Noll Delphi für die Schule ? Delphi setzt die Tradition von Pascal fort und erweitert sie um moderne Sprachkonzepte Ansprechende Benutzungsschnittstelle bei der Programmentwicklung bei der Programmausführung Unterstützung der Programmentwicklung visuelle Komponentenbibliothek VCL kontextsensitives Hilfesystem Debugger automatische Programmergänzung Objektorientierung stets präsent: Objekte - Methoden - Ereignisse ein Einstieg ist ohne vertiefte Kenntnisse der OOP möglich

3 G.Noll Versionen 1995 Delphi 1 16-Bit Compiler für Windows 3.x Plattform 2002 Delphi 6 und Delphi 7 Personal - Professional - Enterprise - Architect 32-Bit Compiler (seit Delphi 2) Klassenbibliothek für Cross-Plattform-Entwicklung Komponenten für Internet und Web-Service Unterstützung von UML (Vers. 7 ab Enterprise) 2005 Delphi 2005.Net-Version

4 G.Noll Schulversionen Delphi 3 Professional vertrieben mit dem Buch "Delphi für Kids" (ca. 25 Euro) im mitp-Verlag Bonn Delphi Personal Vers. 7 auf der Begleit-CD zur c't 8/2004 Vers auf Begleit-DVD PC-Magazin 5/2005 kostenlose Registrierung bei Borland erforderlich Schulversionen im Handel z. B. Delphi Professional Klassenraum-Lizenz 20 Plätze ca. 650

5 G.Noll Wir starten mit der Entwicklung eines Simulationsprogramms Wir brauchen: Ein- und Ausgabemöglichkeiten Etwas zum Starten der Berechnung Benutzungs- schnittstelle Die Entwicklung der Weltbevölkerung schreitet rasch voran: Im Jahr 1999 wurde die 6 Milliardengrenze überschritten; zur Zeit wächst die Weltbevölkerung jährlich um ca. 1,3 %. Kann das so weitergehen? Mit Hilfe eines kleinen Programms wollen wir die jährliche Entwicklung der Weltbevölkerung verfolgen. (vgl. K. Becker - "Ereignisgesteuerte Programmierung" auf informatikag.bildung-rp.de/html/weiterbildung_viii__2_.html)

6 G.Noll Benutzungsschnittstelle Graphical User Interface Button Edit Label Wir gestalten das GUI mit der Delphi Entwicklungs- umgebung - visuelle Programmierung

7 G.Noll Entwicklungsumgebung Komponentenpalette Objektinspektor Quelltextfenster Formular Delphi 6 Programmstart

8 G.Noll Öffnen Sie Delphi und seine Entwicklungsumgebung Speichern Sie, bevor Sie etwas verändern, das von Delphi generierte Projekt sofort mit Datei - Alles speichern in einen eigenen Ordner mit einem geeigneten Namen für das Projekt Es werden zwei Dateinamen vorgeschlagen unit1.pas und project1.dpr, die Sie übernehmen oder auch umbenennen können. Die beiden Namen müssen verschieden sein. Das neue Projekt ist direkt ein lauffähiges Programm. Wenn Sie es starten, erzeugt Delphi im Projektordner eine exe-Datei und auf dem Bildschirm eine typisches Windows-Fenster

9 G.Noll Projektaufbau Von Pascal her erwarten wir eine Struktur aus Hauptprogramm und Units. Auch Delphi- Projekte sind so aufgebaut

10 G.Noll GUI-Objekte erzeugen Aktivierung der Komponente anschließend auf das Formular klicken Positionieren Sie einige Komponenten auf das Formular und beobachten Sie dabei mit dem Objektinspektor, wie Delphi automatisch Bezeichnungen und weitere Eigenschaften vorgibt

11 G.Noll Bezeichnungen Delphi vergibt automatisch Namen an die GUI-Objekte, z. B. Label1, Button1, Button2 Es ist besser, eigene Bezeichnungen zu verwenden Im Objektinspektor über die Eigenschaft Name z. B. :BInit B für Button GBAuswahlGB für Groupbox LTitelL für Label usw. Die Aufschriften von Objekten lassen sich anschließend über ihre Caption - Eigenschaft im Objektinspektor verändern oder später zur Laufzeit zuweisen

12 G.Noll Übung 1a Erstellen Sie das GUI für unser Simulationsprogramm BWeiter EAnzahl LTitel EJahr BInit LJahr LAnzahl Schauen Sie sich den von Delphi generierten Quelltext an

13 G.Noll unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) LTitel: TLabel; BInit: TButton; BWeiter: TButton; LJahr: TLabel; LAnzahl: TLabel; EJahr: TEdit; EAnzahl: TEdit; private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} end. Quelltext Klassendefinition Objekte Objekt

14 G.Noll Objekte und Klassen In unserem Programm begegnen wir verschiedenen Objekten: EJahr: TEdit Text = ´´ Left = 208 Top= Klassename EAnzahl: TEdit Text = ´´ Left = 208 Top= BInit: TButton Caption =´Initiali- sierung´ Left = 104 Top= Objektname Jedes Objekt und jede Klasse ist über den Namen identifizierbar. Objekte mit gleichem Aufbau werden zu Klassen zusammengefasst.

15 G.Noll Objekte EJahr: TEdit Text = ´´ Left = 208 Top= AttributAttributwert Der Aufbau eines Objekts wird u. a. über die Attribute (Eigenschaften) bestimmt. Die Attributwerte legen den aktuellen Objektzustand fest. Objekt

16 G.Noll Modellierung: Daten const p = 1.3; var Jahr : integer; Anzahl : real; Informationen: Im Jahr 1999 wurde die 6 Milliardengrenze überschritten; zur Zeit wächst die Weltbevölkerung jährlich um ca. 1,3 %. Modellierung: Entprechend der Aufgabe legen wir die Daten und ihren Datentyp fest:

17 G.Noll Modellierung: Operationen Für folgende Operationen formulieren wir jeweils passende Prozeduren procedure initPopulation; begin Jahr := 1999; Anzahl := 6.0; end; Die Anfangspopulation (1999: 6.0 Mrd.) wird festgelegt procedure naechstePopulation; begin Jahr := Jahr + 1; Anzahl := Anzahl + p/100*Anzahl; end; Die nächste Population wird berechnet

18 G.Noll Übung 1b Implementieren Sie die Daten und Operationen im Delphi-Quelltext Überprüfen Sie, dass das Projekt weiterhin compilierbar und lauffähig ist Welcher Teil des Programm fehlt noch?

19 G.Noll Programmablauf Ein Delphiprogramm reagiert auf Ereignisse Ereignisse lassen sich auslösen u. a. über Maus oder Tastatur OnClickKlicken auf ein Objekt mit der Maus OnChangeeine Eingabe wird verändert kein linearer Programmablauf dies erfordert für Pascal Gewohnte ein Umdenken beim Programmentwurf Algorithmen, wie z. B. Sortierverfahren verlieren dennoch nicht an Bedeutung

20 G.Noll Ereignisbehandlung Die Reaktion auf Ereignisse geschieht mit Ereignisbehandlungsmethoden (EBM) Sie lassen sich über das Formular oder den Objektinspektor den Objekten zuordnen Verschiedene Objekte können dieselbe EBM erhalten Kleinere Algorithmen lassen sich unmittelbar in der EBM eines Objektes unterbringen. Übersichtlicher wird es, wenn wir die Algorithmen als eigenständige Prozeduren definieren und gegebenenfalls sogar in eigene Units auslagern (ModelViewController-Konzept)

21 G.Noll Ereignisbehandlungsroutinen Ein Doppelklick auf ein Objekt führt zum Quelltext der EBM des Objekts Delphi legt das zugehörige Gerüst an und verankert es in der Formulardefinition Keine eigenständige Veränderungen an den Schnittstellen vornehmen! Leere Prozeduren werden automatisch gelöscht

22 G.Noll Ereignisse In unserem Simulationsprogramm wollen wir zwei Ereignisse behandeln: Benutzeraktion bzw. Ereignis Mausklick auf init-Button Mausklick auf >-Button Programmreaktion Die Anfangspopulation (1999: 6.0 Mrd.) wird festgelegt und angezeigt Die nächste Population (jeweils nach einem Jahr) wird berechnet und angezeigt Für die Anzeige von Daten muss ein Daten- austausch mit den GUI-Objekten erfolgen

23 G.Noll Datenaustausch mit GUI-Objekten Unsere GUI-Objekte verwenden Daten des Typs string Numerische Daten werden deshalb konvertiert Jahr := StrToInt(EJahr.Text); Anzahl := StrToFloat(EAnzahl.Text); VariablenGUI-Objekte EJahr.Text := IntToStr(Jahr); EAnzahl.Text := FloatToStr(Anzahl); VariablenGUI-Objekte Formatierte Ausgabe: FloatToStrF() - meist ausreichend ist hier FloatToStrF(zahl,ffnumber,8,2)

24 G.Noll Übung 1c Ergänzen Sie den Quelltext um die noch fehlenden Ereignisbehandlungsmethoden Ergänzen Sie das Programm um weitere Buttons Benutzeraktion: Mausklick auf <-Button Mausklick auf >>-Button Mausklick auf <<-Button Programmreaktion: Die vorherige Population (jeweils vor einem Jahr) wird berechnet (und angezeigt), sofern das Jahr nicht vor 1999 ist. Die Population 10 Jahre später wird berechnet (und angezeigt). Die Population 10 Jahre vorher wird berechnet (und angezeigt). Man kann aber höchstens bis 1999 zurückspringen.

25 G.Noll Hilfe von und über Delphi Delphi unterstützt die Programmentwicklung durch verschiedene Hilfsmechanismen, z. B. Automatische Erzeugung von Prozedurgerüsten Anzeige von Eigenschaften und Methoden hinter der Eingabe eines Objektbezeichners (ctrl-space) Aufruf eines umfassenden, verlinkten Hilfssystems über die Menüleiste Kontextsensitive Hilfe mit F1 (auch im Fehlerfenster)

26 G.Noll Debugging Neben dem Hilfesystem liefert Delphi auch einen Laufzeit Debugger Das Debugging muss unter Projekt - Optionen - Compiler aktiviert sein Starten Sie ein Programm mit F7 Verfolgen Sie den Ablauf im Quelltext und im Programmfenster Beachten Sie die Tooltipps unter dem Cursor im Quelltext. Sie können dazu auch Teile des Quelltextes markieren. Setzen Sie Haltepunkte im Quelltext (auf blauen Punkt klicken), starten Sie dann das Programm mit F8 Typisches Vorgehen

27 G.Noll Übung 1d Das benutzte Wachstumsmodell beschreibt die Bevölkerungs- entwicklung nur in einem begrenzten Zeitraum realistisch. Über längere Zeiträume lässt sich das Bevölkerungswachstum besser durch die angegebene Folge beschreiben: B 0 = 6.0 B n+1 = B n *B n *(11 – B n ) Ändern Sie das Simulationsprogramm entsprechend ab. Überlegen Sie sich hierzu zunächst, welche Programmteile sie verändern müssen. - Benutzungsoberfläche ? - Datenmodell ? - Verarbeitungsoperationen ? - Ereignisbehandlungsmethoden?

28 G.Noll Ein umfangreicheres Programm Rechentrainer Das Programm soll Aufgaben zu den vier Grundrechenarten anzeigen. Dazu werden zufällig ganze Zahlen aus dem Bereich ausgewählt Auf der Benutzungsoberfläche (GUI) kann die Rechenoperation ausgewählt werden und die Anzeige des zunächst nicht sichtbaren Ergebnisses Durch wiederholtes Anklicken einer der vier Rechenoperationen werden neue Aufgaben generiert

29 G.Noll Formularentwurf Ein Vorschlag für die Benutzungsschnittstelle Label Panel GroupBox Button

30 G.Noll Übung 2a Starten Sie ein neues Projekt Speichern Sie das neue Projekt mit Datei - Alles speichern unmittelbar nach Beginn in einen eigenen Ordner mit dem Namen "Rechentrainer" Erstellen Sie eine Benutzungsschnittstelle für das Rechentraining Programm Verwenden Sie sinnvolle Bezeichner Eine Groupbox muss vor den Komponenten platziert werden, die sie aufnehmen soll Experimentieren Sie mit den Eigenschaften der Objekte (Farbe, Schriftart, Textausrichtung etc.)

31 G.Noll Übung 2b Ereignisse: BAddition.OnClick BSubtraktion.OnClick BMultiplikation.OnClick BDivision.OnClick BErgebnis.OnClick Form1.OnCreate Aktionen: +Aufgabe erzeugen; Ergebnis berechnen; Aufgabe anzeigen - Aufgabe erzeugen; Ergebnis berechnen; Aufgabe anzeigen *Aufgabe erzeugen; Ergebnis berechnen; Aufgabe anzeigen : Aufgabe erzeugen; Ergebnis berechnen; Aufgabe anzeigen Ergebnis zeigen Zufallsgenerator initialisieren Was soll passieren soll, wenn im Rechen- trainerprogramm ein Button angeklickt wird?

32 G.Noll Übung 2c Modellierung und Implementierung var Rechenzeichen: char; Zahl1, Zahl2, Ergebnis: integer; Verarbeitungsoperationen: procedure PlusAufgabeErzeugen;... Daten: procedure MinusAufgabeErzeugen; begin Zahl1 := random(11); Zahl2 := random(11); Rechenzeichen := '-'; end;... procedure ErgebnisBerechnen; begin case Rechenzeichen of '+': Ergebnis := Zahl1 + Zahl2; '-': Ergebnis := Zahl1 - Zahl2; '*': Ergebnis := Zahl1 * Zahl2; ':': Ergebnis := Zahl1 div Zahl2; end;

33 G.Noll Übung 2d Modellierung und Implementierung Ereignisbehandlung: procedure TForm1.BAdditionClick(Sender: TObject); begin PlusAufgabeErzeugen; ErgebnisBerechnen; LZahl1.Caption := IntToStr(Zahl1); LOperator.Caption := Rechenzeichen; LZahl2.Caption := IntToStr(Zahl2); LGleich.Visible := true; LErgebnis.Caption := IntToStr(Ergebnis); LErgebnis.Visible := false; end; procedure TForm1.BSubtraktionClick(Sender: TObject); begin MinusAufgabeErzeugen; ErgebnisBerechnen; LZahl1.Caption := IntToStr(Zahl1); LOperator.Caption := Rechenzeichen; LZahl2.Caption := IntToStr(Zahl2); LGleich.Visible := true; LErgebnis.Caption := IntToStr(Ergebnis); LErgebnis.Visible := false; end; Redundanz

34 G.Noll Übung 2e Modellierung und Implementierung sind stark redundant Idee: Wir fassen die Prozeduren zusammen und differenzieren nach dem jeweils angelickten Rechenzeichen bzw. Button procedure PlusAufgabeErzeugen; procedure MinusAufgabeErzeugen; procedure MalAufgabeErzeugen; procedure DurchAufgabeErzeugen; procedure TForm1.BAdditionClick(Sender: TObject); procedure TForm1.BSubtraktionClick(Sender: TObject); procedure TForm1.BMultiplikationClick(Sender: TObject); procedure TForm1.BDivisionClick(Sender: TObject); Die Prozeduren

35 G.Noll Übung 2f Zusammenfassungen procedure PlusAufgabeErzeugen; procedure MinusAufgabeErzeugen; procedure MalAufgabeErzeugen; procedure DurchAufgabeErzeugen; procedure AufgabeErzeugen; erhält als Information das Rechenzeichen Ereignisse: BAddition.OnClick BSubtraktion.OnClick BMultiplikation.OnClick BDivision.OnClick nur eine Behandlungsmethode: procedure TForm1.BRechenzeichenClick(Sender: TObject); erhält als Information den Button

36 G.Noll Übung 2g Implementierung procedure TForm1.BRechenzeichenClick(Sender: TObject); begin // Aktualisierung der Modelldaten if Sender = BAddition then Rechenzeichen := '+'; if Sender = BSubtraktion then Rechenzeichen := '-'; if Sender = BMultiplikation then Rechenzeichen := '*'; if Sender = BDivision then Rechenzeichen := ':'; // Aufruf der Verarbeitungsoperationen AufgabeErzeugen; ErgebnisBerechnen; // Aktualisierung der Anzeige LZahl1.Caption := IntToStr(Zahl1);... end; // kurz: Rechenzeichen := TButton(Sender).Caption[1]; Vervollständigen Sie entsprechend Ihr Programm !

37 G.Noll Übungen 2h Erweitern Sie das Rechentrainingsprogramm um die Möglichkeit, zwischen drei Zahlen- bereichen für die Aufgaben zu wählen z. B. Zahlen von oder oder Erweitern Sie das Rechentrainingsprogramm um die Möglichkeit, einen Lösungsvorschlag in ein Editfeld eingeben zu können. Nach Abschluss der Eingabe bewertet das System den Lösungsvorschlag

38 G.Noll Eingabe / Ausgabe Edit Komponente einzeiliges Feld für Eingabe und Ausgabe zentrale Eigenschaft Text ( String) antwort:=Edit1.Text; (property) nützliche Eigenschaften/Methoden ClearEdit1.Clear; (procedure) EnabledEdit1.Enabled:=true;(property) VisibleEdit1.Visible:=false; (property) ReadOnly Edit1.ReadOnly:=true;(property) nützliche Ereignisse OnChange OnEnter OnExit z. B. Prüfung der Eingabe vor dem Verlassen Zahlen müssen konvertiert werden

39 G.Noll Eingabe / Ausgabe Memo Komponente mehrzeiliges Feld für Eingabe und Ausgabe zentrale Eigenschaft Lines ( Stringliste)zeile4:=Memo1.Lines[3]; nützliche Eigenschaften AlignmentAusrichtung des Textes Enabled - Visible aktiviert - sichtbar nützliche Methoden/Eigenschaften für Stringlisten Lines.Clearlöscht alle Einträge (procedure) Lines.Add()fügt eine Zeile am Ende hinzu Lines.Delete()Lines.Delete(0) löscht 1. Zeile Lines.CountAnzahl der Zeilen (property) Lines.SaveToFile()Speichern in einem Textfile Lines.LoadFromFile()Laden aus einem Textfile

40 G.Noll Eingabe / Ausgabe Listbox Komponente Ausgabe einer Liste von Strings mit der Möglich- keit zum Auswählen, Löschen, Hinzufügen zentrale Eigenschaften/Methoden Items ( Stringliste)ListBox1.Items.Add('Speyer'); Es sind alle Eigenschaften und Methoden der Stringliste möglich ItemIndexNr. des ausgewählten Strings Zählung beginnend mit 0 Nr. ist -1 falls kein String gewählt wurde (property) Sortedmit der Zuweisung true werden die Strings sortiert (property) Clearlöscht alle Einträge (procedure)

41 G.Noll Eingabe / Ausgabe SpinEdit Edit-Feld für ganze Zahlen Start-Wert (Value) Minimalwert und Maximalwert Increment Eigenschaft checked (boolean) Checkbox An- und Abwahl einer Option Gruppe sich ausschließender Optionen Eigenschaft checked (boolean) bzw. ItemIndex (Zählung mit 0 beginnend; -1 bei keiner Auswahl) Radiobutton - Radiogroup An- und Abwahl einer Option

42 G.Noll Übungen 3 Schreiben Sie ein Programm, das den Bodymass-Index BMI berechnet und bewertet BMI = Gewicht in kg/(Körperlänge in m)² starkes Untergewicht:kleiner 16 Untergwicht:16 bis unter 18,5 Normalgewicht: 18,5 bis unter 25 leichtes Übergewicht: 25 bis unter 30 starkes Übergewicht: 30 und mehr (nach WHO) Google Search: BMI Düsseldorf

43 G.Noll Laufzeitfehler Sie lassen sich mit einem try-except Block abfangen und selbst behandeln Voraussetzung das Stoppen bei Exceptions ist abgeschaltet bei Delphi 3 unter Tools-Umgebungsoptionen bei Delphi 6 unter Tools-Debugger-Optionen- Sprachexceptions Format try // Anweisungen deren Laufzeitfehler abgefangen werden except // Hinweise oder Abfangroutinen falls Fehler auftreten end;

44 G.Noll Übung 4 Eine Aufgabe aus einer Kursarbeit: Der euklidische Algorithmus ggT(a,b) (1)r sei der Rest bei der Teilung a/b (2)ist r=0 so gib b als ggT(a,b) aus und höre auf (3)speichere b in a und r in b ab und fahre mit (1) fort Verwende zur Eingabe die SpinEdit Komponente (unter "Beispiele") Das Formular soll keinen Button enthalten

45 G.Noll Übung 5 Die Zahlenraupe Auf dem ersten Glied einer Zahlenraupe steht eine beliebige positive Nummer Hat ein Raupenglied eine gerade Nummer, so steht auf dem nächsten die Hälfte dieser Nummer Hat es eine ungerade Nummer, so trägt das nächste Raupenglied die um 1 größere Nummer Steht auf einem Raupenglied die Nummer 1, so ist es das letzte Glied der Raupe Schreiben Sie ein Programm, das nach Eingabe der Startzahl die einzelnen Gliedernummern und ihre Anzahl ausgibt

46 G.Noll Formularlose Units Vorteile: übersichtliche Projektgestaltung durch Trennung der Gestaltung der Benutzungsschnittstelle von den algorithmischen Verfahren Delphi generiert zu jedem Formular automatisch eine Unit. Es lassen sich aber auch formularlose Units erstellen Model-View-Controller Konzept wird in eine eigene Datei compiliert (*.DCU) Quelltext danach nicht mehr erforderlich mehrfach verwendbar

47 G.Noll Formularlose Units Anlage einer Unit über Datei - Neu - Unit nach außen hin sichtbare Teile Algorithmen zu beachten: Einbinden eventuell benötigter Delphi-Units in die formularlose Unit Einbinden der formularlosen Units in die Unit des Formulars Mit Datei-Speichern unter... lässt sich der Unitname ändern z.B. uAuswahlsort (nicht im Quelltext von Hand ändern!)

48 G.Noll Übung 6 Schreiben Sie ein Programm zum Sortieren einer Folge von Strings Vorschläge: Einfache Sortierverfahren sind z. B. Bubblesort, Einfügesort oder Austauschsort (Sortieren durch Minimumsuche) Ergänzung: Eine Listbox kann über die Eigenschaft Sorted von Delphi selbst sortiert werden: LBox1.Sorted:=true. Fügen Sie einen Button zur Sortierung mit Delphi ein und verglei- chen Sie das Ergebnis dem des eigenen Sortierverfahrens Beschränkung auf 10 Strings Das eigentliche Sortierverfahren soll in eine eigene Unit ausgelagert werden, damit es durch andere Verfahren (Units) ersetzt werden kann

49 G.Noll Dialog Komponenten für allg. Dateien OpenDialog und SaveDialog Komponenten werden nur im Formular platziert Dateibehandlung Delphi stellt die Standarddialoge von Windows zum Öffnen und Speichern von Dateien zur Verfügung der Aufruf erfolgt durch die Methode execute execute liefert true (Ok-Button) oder false (Abbruch-Button) zurück über die Eigenschaft filename wird auf den gewählten oder eingegebenen Dateinamen zugegriffen

50 G.Noll Übung 7 Ein Telefonverzeichnis Entwerfen Sie ein Programm, das ein Telefonverzeichnis mit Hilfe einer ListBox- Komponente realisiert Gespeichert werden Name, Vorname und Telefonnummer Es sollen folgende Funktionen möglich sein: Hinzufügen eines Eintrages Ändern oder Löschen eines ausgewählten Eintrages Löschen aller Einträge auf einmal Speichern und Laden des Telefonverzeichnisses Eventuell können Sie noch Sortieren und Suchen implementieren

51 G.Noll Menü-Komponente Delphi stellt mit der zur Laufzeit unsichtbaren Komponente MainMenue eine komfortable Menügestaltung zur Verfügung Doppelklick auf die Komponente im Formular öffnet den Menüeditor Über den Objektinspektor lässt sich auch eine schon vorhandene Ereignisbehandlungsmethode einbinden Ein Bindestrich - als Caption erzeugt einen Trennstrich Doppelklick auf den Menüeintrag führt zur EBM

52 G.Noll Übung 8 Ändern Sie das Telefonverzeichnis so ab, dass die Optionen zum Laden und Speichern der Verzeichnisdatei als Menü realisiert werden

53 G.Noll Aus einer Ansammlung von Quizfragen wird eine Frage zufällig ausgewählt und präsentiert Unter vier möglichen Antworten soll die richtige angekreuzt werden Bei jeder Frage wird die richtige Antwort und eine Bewertung der angekreuzten Antwort ausgegeben Das Spiel ist zu Ende, wenn alle Fragen behandelt wurden Übung 9 Schreiben Sie ein Programm für ein Quizspiel

54 G.Noll Aufteilung in theoretischen und praktischen Teil Leistungsnachweise Struktur Beispiel für einen Leistungsnachweis (1 Std.)Leistungsnachweis Beispiel für ein Kursarbeit (2 Std.)Kursarbeit zuerst die Theorie bearbeiten, dann diesen Teil abgeben lassen praktischer Teil am Computer

55 G.Noll Schumann Delphi für Kids (incl. Delphi 3 Professional CD) mitp-Verlag, Bonn 2000 Fleicher Programmentwicklung mit Delphi Dümmler, Bonn 1998 Modrow Informatik mit Delphi (2 Bd.) Dümmler-Stam, Köln Bähnisch Praktische Informatik mit Delphi (2 Bd.) Cornelsen, Berlin 2001 Damann-Wemßen Objektorientierte Programmierung mit Delphi (2 Bd.) Klett, Stuttgart Frischalowski Delphi 5.0 (2 Bd.) Herdt-Verlag, Nackenheim 1999 Pohl Schülerübungen/Klausuren in Delphi (2 Hefte) Verlag J.Pohl, Karlsbad Literatur Schulbücher

56 G.Noll Eller Delphi 5 Addison-Wesley, München 2000 Doberenz-Kowalski Borland Delphi 6 Hanser, München 2002 Literatur Allgemein Internet Google-Suche "Delphi Unterricht" unüberschaubare Vielfalt an Seiten

57 G.Noll Viel Spaß und Erfolg bei der weiteren Arbeit mit Delphi

58 G.Noll

59 G.Noll Projektverwaltung *.dprProjektverwaltung (Hauptprogramm) *.pasPascalquelltext (Unit) *.dfmFormulareinstellungen *.resRessourcen wie Icons, Sound etc. *.dcucompilierte Unit *.dofCompiler Einstellungen *.~??Backup Dateien *.~pa *.~dp etc. *.exeausführbares Windows-Programm Delphi sichert im Laufe der Projektentwick- lung eine Serien von Dateien, u. a. :

60 G.Noll Bevölkerungswachstum

61 G.Noll Bevölkerungswachstum

62 G.Noll Bevölkerungswachstum

63 G.Noll Rechentrainer

64 G.Noll Rechentrainer

65 G.Noll Rechentrainer

66 G.Noll Rechentrainer

67 G.Noll BMI

68 G.Noll BMI mit try-except

69 G.Noll Zahlenraupe

70 G.Noll Euklidischer Algorithmus

71 G.Noll Sortieren

72 G.Noll Dateidialoge

73 G.Noll Telefonverzeichnis

74 G.Noll Telefonverzeichnis

75 G.Noll Quiz


Herunterladen ppt "Von Pascal zu Delphi Eine Einführung in die Entwicklung ereignisgesteuerter Programme Gregor Noll 2005."

Ähnliche Präsentationen


Google-Anzeigen