Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)

Die Seite wird erstellt Marvin Rau
 
WEITER LESEN
Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
Berufsbildende Schule Wirtschaft Trier

Programmierung in Delphi
     (Einführung in die IDE)

   Unterrichtsmaterialien

         von Christoph Oberweis

            Stand: 13.11.2011

                    1
Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
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
Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
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
Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
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
Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
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
Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
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
Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
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
Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
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
Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
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
Programmierung in Delphi - Unterrichtsmaterialien (Einführung in die IDE)
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