Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Berufsbildende Schule Wirtschaft Trier Programmierung in Delphi (Einführung in die IDE) Unterrichtsmaterialien von Christoph Oberweis Stand: 13.11.2011 1
Einführung in die Delphi-Programmierung Delphi-Entwicklungssystem aufrufen, Delphi 7: Bei diesem Bildschirm befindet sich noch ein nicht aktiviertes Fenster mit dem Titel „Unit1.pas“ (grau) im Hintergrund. Dies kann durch „Herunterziehen“ des Fensters Form1 sichtbar gemacht werden. (siehe nächste Seite). Ob das Fenster „Unit1.pas“ am Rand sichtbar ist, hängt von einer (zufälligen) Voreinstellung ab. 2
Grundsätzlich gilt folgendes: Das Form1-Fenster ist das Startformular, auf dem ein Bildschirmaufbau mit den Windows-typischen Elementen wie Buttons oder Texteingabe bzw. Textausgabefelder (hauptsächlich mit der Maus) realisiert werden kann. In der Unit steht Delphi-Quellcode, also das Programm. Form1 : Bildschimmaske, Bildschirmaufbau, also das was man sieht Unit1 : Das was im Hintergrund abläuft, z. B. ein Programm, welches Zahlen addiert oder sonst irgendetwas berechnet 3
Quellcode in der Unit1: Das steht auch schon was drin: Es handelt sich allerdings nur um ein Programmgerüst. Und das kann man auch schon starten, nämlich mit der Funktionstaste F9: Allerdings kann man mit diesem „Programm“ noch nicht viel machen: Es wird lediglich eine Bildschirmmaske ohne Inhalt ausgegeben. Und die kann man wieder schließen (hier klicken). 4
Die integrierte Entwicklungsumgebung (Integratet Development Environment, IDE) 1a 1b 1c 1d 1 4 3 5 2 Die Fenster der Delphi-IDE 1 Hauptfenster 1a Titelleiste 1b Menüleiste 1c Symbolleiste 1d Komponenetenpalette 2 Objektinspektor 3 Objekt-Hierarchie (s. S. 14) 4 Quelltext-Editor 5 Formularfenster Die genaue Bedeutung und Möglichkeiten dieser vier Fenster werden später erklärt. Für den nun folgenden 2. Schritt muss nur klar sein, wo sich die Fenster befinden. Die Fenster sind frei verschiebbar, abschalt- bar, teilweise andockbar und konfigurierbar. 5
Einführungsbeispiel I Es werden nun die Schritte zur Erstellung eines Mini-Testprogramms vorgeführt: 1. Schritt: Entwurf der Bedieneroberfläche Klick auf diese Schaltfläche Auf die Mitte des Formulars klicken und den Button auf gewünschte Größe zoomen (linke Maustaste) - Startformular (Form1) sichtbar machen - Im Hauptfenster auf die Button-Schaltfläche klicken (s. oben, Pfeil) - In die Mitte des Formulars klicken und dann bei gedrückter Maustaste den Button auf die gewünschte Größe ziehen 6
2. Schritt: Zuweisung von Objekteigenschaften (hier: Hintergrund) Color-Eintrag auf clGreen einstellen - Auf eine freie Stelle des Formulars klicken - Mit F11 Objektinspektor aktivieren - Color – Eintrag auf der Eigenschaften-Seite des Objektinspektors aktivieren - In der Rollbox eine Farbe (z. B. clGreen) wählen 7
3. Schritt: Quellcode einfügen - Auf den Button doppelklicken - Es öffnet sich ein Quellcode-Fenster mit vorgefertigtem Rahmencode - Hier den (untenstehenden fettgedruckten) Quellcode einfügen Hier Quellcode einfügen procedure TForm1.Button1Click(Sender: TObject); begin Form1.Caption := 'Hallo Delphi-Freunde!' end; end. Damit wird das Objekt „Button“ mit einem speziellen „Ereignis“ verknüpft. Dies kann nachgeprüft werden, indem die Ereignis-Seite von Button1 des Objektinspektors nach vorne gebracht wird. Dort erscheint neben OnClick der Eintrag „Button1Click“ (vgl. Name der procedure). 8
4. Schritt: Programmtest und Abspeichern des Programms - Programm mit der F9-Taste kompilieren (in Maschinensprache übersetzen) und starten - Auf den Button klicken: Die Titelseite ändert sich! - Fenster dieser kleinen Anwendung schließen (Programm beenden) - Unter Datei (Hauptfenster) „Projekt speichern ...“ anwählen - Dateiname unit1 bestätigen - Projektname (vorgeschlagen wird Project1.dpr) bestätigen (oder ändern, wobei der Dateierweiterungsname „dpr“ bleibnen muss) - Abspeichern - Unter Öffnen kann später das Projekt (Project1) und damit automatisch das Programm wieder geladen werden 9
Einführungsbeispiel II: Quadrat einer Zahl berechnen Der Bildschirmaufbau eines Programms zur Berechnung des Quadrates einer Zahl hat folgendes Aussehen: Label1 Form1 Label2 Edit1 Edit2 Button1 Button2 Edit (Eingabefeld) und Label (Ausgabefeld): Komponentenpalette Hinweis: Edit-Felder dienen der Eingabe und der Ausgabe, Label-Felder dienen nur der Ausgabe. Bei beiden handelt es sich, ebenso wie bei den Buttons, um Delphi-Komponenten. Komponenten reagieren auf Ereignisse, so wird z. B. beim Klick auf einen Button ein Programm aktiviert. Komponenten haben auch Eigenschaften wie z. B. Farbe. Beschriftung eines Buttons: Die nächste Seite zeigt den Quellcode, der beim Entwurf der Bediener- oberfläche (=Anlegen der Komponenten) automatisch erzeugt wird. 10
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Button1: TButton; Button2: TButton; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} 11
Folgender Quellcode muss ergänzt werden: Var x, xq : single; code : integer; s : string; procedure TForm1.Button1Click(Sender: TObject); begin Val(Form1.Edit1.Text, x,code); xq := x*x; Str(xq:8:4,s); Form1.Edit2.Text := s; end; procedure TForm1.Button2Click(Sender: TObject); begin close; end; end. Aufgabe: Erstellen und testen Sie bitte dieses Programm! Aufgabe: Machen Sie sich klar, was „Val“ und „Str“ in diesem Zusammenhang bedeuten. (Tipp: Internet-Recherche oder ein Delphi- Lehrbuch). 12
Einführungsbeispiel III: Quadrat/Wurzel einer Zahl berechnen Applikation: Ein Windows-Programm gestattet die Berechnung des Quadrates bzw. die Berechnung der Wurzel einer Zahl abhängig vom Eingabefeld. Die Berechnung erfolgt automatisch nach jeder Eingabe, ein Button „Berechnen“ existiert nicht mehr. Aufgabe: 1. Bestimmen Sie bitte alle Komponenten des folgenden Bildschirmaufbaus, indem Sie (ohne Zuhilfenahme des Computers) auf dieser Seite dieselben markieren und benennen. 2. Erstellen Sie bitte alle Objekte in der Delphi-Umgebung. 3. Weisen Sie den Objekten alle notwendigen Eigenschaften zu. 4. Aktivieren Sie bitte die Ereignisseite des Objektinspektors (bei markierten Edit-Feldern) und ändern Sie bitte den Namen des Eventhandlers im Ereignis OnKeyUp um in E_Key_up für beide Edit- Komponenten (s. nächste Seite). 5. Vervollständigen Sie bitte den Quellcode (s. unten). 6. Testen Sie bitte das Programm. 13
Zu 4: Hier wird jetzt auch klar, was unter Objekt Hierarchie zu verstehen ist; bei diesem Beispiel: die Komponenten auf Form1 Nachdem dieser Eintrag vorgenommen wurde, erstellt Delphi automatisch einen Prozedur-Rumpf für das Ereignis, dass eine Taste gedrückt und dann losgelassen wurde. Wirkung: Wenn in eines der Editfelder eine Ziffer eingegeben wurde, wird „automatisch“ die entsprechende Funktion auf diese Ziffer angewendet. 14
Quellcodes unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); procedure E_Key_up(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} Var x, xq : single; code : integer; s : string; procedure umwandeln; begin with Form1 do begin Val(Edit1.Text, x,code); Val(Edit2.Text, xq,code); end; end; 15
procedure x_xq; begin xq := x*x; Str(xq:8:4,s); Form1.Edit2.Text := s; end; procedure xq_x; begin x := sqrt(xq); Str(x:8:4,s); Form1.Edit1.Text := s; end; procedure TForm1.Button1Click(Sender: TObject); begin close; end; procedure TForm1.E_Key_up(Sender: TObject; var Key: Word; Shift: TShiftState); begin umwandeln; if Sender = Edit2 then xq_x else x_xq; end; end. 16
Sie können auch lesen