André Winkelmann + Hagelkreuzstr. 4 + 45966 Gladbeck + E-Mail: Kontakt
Passende  Lösungen   für  Existenzgründer,
kleine Unternehmen und einfach für jeden!

Eingabe und Ausgabe in Lazarus mit GUI

Eingabe und Ausgabe im Fenster mit

4.3 TLabel: Label -> Text

Abb. 1.00 Fertige Anwendung im Form1

Als nächstes möchte ich dir zeigen wie wir ein einfaches Programm mit Benutzeroberfläche in Lazarus und Free Pascal entwickeln können. Bitte speichere dein aktuelles Projekt indem du die Diskette anklickst. Danach gehst du auf Projekt-> neues Projekt -> Anwendung. Es öffnet sich ein Entwicklungsfenster mit dem Namen Form1 und ein Quelltext mit dem Namen Unit1. Das Fenster ist in Lazarus eine Komponente. Die Eigenschaften wie Farbe, Caption (Title in der Kopfzeile), Abstand von Links und von Oben usw. kannst du im Objektinspektor festlegen. Zusätzlich können hier auch Ereignisse erstellt werden. Ein Ereignis kann das Schließen des Fensters, das Erstellen, Darstellen oder auch Anklicken eines Fensters sein. Dazu gibt es später noch mehr. Im Quelltext öffnet sich nach dem Erstellen eines Ereignisses der Quelltext Editor. Hier werden die Funktionen wie z.B. eine OnClick Funktion programmiert. Bitte speichere das Programm unter Ordner Kapitel 4. Du musst zwei Dateien speichern, einmal die .lpi und die .pas. Datei. Die .lpi Datei ist das Formular und der Quelltext befindet sich in der .pas Datei. Die erste .lpi Datei speicherst du einem neuen Ordner im Kapitel 4 Ordner und gibst der Datei den Namen eva.lpi. Das eva steht bei beiden Dateinamen für Eingabe, Verarbeitung und Ausgabe. Die zweite Datei nennst du evau1.pas.Das u1 steht hier für Unit1.

Das Video zum Thema


4.3 TLabel: Label -> Tex (Fortsetzung)t

Wir möchten nun unser Form1 mit einer weiteren Komponente ausstatten und zwar mit einem Label. Die Komponente findet sich unter Standard -> ABC. Du musst die Komponente nur anklicken und danach in das Form1 klicken. Das Form1 ist als Komponente vom Typ ein TForm unser neues Label heißt nun Label1 und ist vom Typ ein TLabel. Die Bezeichnung und Darstellung des Labels ist ebenfalls Label1. Wir ändern den Namen der Komponente Label1 im Objektinspektor unter Name in LBLName dies steht für LBL = Label und Name für die Bezeichnung. Es ist hierbei wichtig den Typ immer vorne im Namen anzugeben, da du später auch Editfelder und Button haben wirst. Bei einem großen Programm mit mehreren Forms, schreibt man auch noch den Form Name dazu. Als nächstes ändern wir die Caption in „Bitte geben Sie Ihren Namen ein!“. Die Caption ist die Beschriftung. Der Textinhalt, der Caption, wird dem Nutzer später im Programm angezeigt.

4.4 TEdit: Editfeld

Jetzt müsst du noch irgendwo deinen Namen eingeben können. Die Dazu passende Komponente lautet TEdit und ist ein Editfeld. Die TEdit Komponente findest du unter Standart-> TEdit rechts neben dem bereits ausgewählten TLabel. Ziege die Komponente unter unser TLabel und ändere den Namen der Komponente in EdtName. Das Edt steht hier für Editfeld. Die Schreibweise des Namens sieht etwas komisch aus oder? Zusammengeschrieben und jeder Name großgeschrieben? Ein Komponentenname muss durch die Vorgabe, von Lazarus immer zusammengeschrieben werden und dar nur Buchstaben beinhalten. Die Schreibweise jedes neue Wort mit Großbuchstaben zu beginnen heißt Camel Case Notation. Bei einem Editfeld gibt es keine Caption (Bezeichnung), sondern einen voreingestellten Text als Eigenschaft. Diesen ändern wir indem wir den Inhalt löschen und leer lassen.

Abb. 1.01 Anwendung Komponenten Positionierung

Eine Komponente kann per Maus ausgerichtet werden. Einfach anklicken und verschieben oder vergrößern und verkleinern. Eine zweite Methode die viel genauer ist und zwar Pixelgenau sind die Einstellungen der Eigenschaften über die Komponenten im Objektinspektor.

4.5 TButton: Button

Wir können nun durch das Label den Nutzer auffordern seinen Namen in das Editfeld einzutragen. Mit einem Button können wir jetzt etwas über ein OnClick Ereignis ausführen. Die Komponente für einen Button heißt TButton oder für einen Bildbutton TBitButton. Nimm als erstes Mal die Komponente TButton unter Standard -> TButton links neben der TLabel Komponente und ziehe den Button unter das Editfeld. Den Name des Button änderst du im Objektinspektor bitte auf BtnName. Das Btn steht als Abkürzung für Button und der Zusatz Name beschreibt, dass die drei Komponenten LBLName, EdtName und BtnButton zusammengehören. Der Button hat nun wieder wie das TLabel eine Caption in der du die Beschriftung festlegen kannst. Trage bei der Caption „Begrüßung ausführen“ ein. Bevor wir nun weiter machen ziehe bitte ein weiteres Label unter den Button und lege den Namen auf LBLBegruessung fest. Sonderzeichen wie das ß oder das ü können in einer Caption dargestellt werden im Quelltext und in Kommentare um Fehler zu vermeiden nutze bitte keine Sonderzeichen. Als Caption legst du LBLBegruessung fest. Wir haben nun alle Komponenten erstellt die wir für unser kleines Programm benötigen. Jetzt kommen wir zu der Programmierung. Wähle dafür im Objektinspektor den TButton mit dem Namen BtnName aus und wähle anstelle Eigenschaften die Ereignisse aus. Jetzt kannst auf das OnClick Ereignis auswählen und mit dem Button (…) die Funktion erstellen. Im Quelltext wird nun eine neue Prozedure mit dem Namen prozedure TForm1.BtnNameClick(Sender: TObjekt) dargestellt. Die Prozedure sollte wie folgt aussehen:

... 35: procedure TForm1.BtnNameClick(Sender: TObject);
36: begin
37: LBLBegruessung.caption := 'Hallo ' + EdtName.Text;
38: end;



Abb. 1.02 Quellcode Auszug der Prozedure BtnNameClick. Eine kurze Erklärung zum Quelltext von Zeile 35 bis 38. Zeile 35: Prozedure TForm1.BtnNameCLick(Sender: TObjekt); Eine Prozedure ist ein Textbaustein dessen Quelltext nur beim Aufrufen des Prozedurenamens ausgeführt wird und ein Teil der Objektorientierten Programmierung, mehr musst du im Moment noch nicht dazu wissen. Das TForm1 ist der Ort an dem das Objekt und der Quellcode ausgeführt werden. Das TForm1 ist im Quellcodekopf nochmal aufgeführt und verweist dadurch auf die auszuführende Prozedure. BtnNameClick ist der Name der Prozedure. (Sender: TObjekt) ist der Typ der hier übergeben wird. Was genau Objekte sind müssen hier an dieser Stelle noch nicht wissen. Das begin in der 36 Zeile öffnet den Beginn des auszuführenden Quellcodes, das end; in Zeile 38 schließt diesen wieder. In Zeile 37 weisen wir nun der Bezeichnung des TLabels -> LBLBegruessung den Text des Edit Feldes zu und setzten mit den in Anführungszeichen gesetzten Textes noch ein ‚Hallo ‚ mit Leerzeichen davor. Um das Programm zu testen nutze den grünen Playbutton im Hauptfenster von Lazarus. Mit dem Stop Button kannst du das Programm stoppen um eventuell nach Fehlern zu suchen. Mit dem Halt Button kannst du das Programm abbrechen. Probiere es jetzt mal aus. Dir wird auffallen das das Programm während der Ausführung, das Label LBLBegruessung den Namen auch als Caption anzeigt. Für unsere Zwecke und zum Entwicklungszeitpunkt ist das wichtig einen Text zu haben um es zu positionieren und sehen zu können. Zur Laufzeit ist es nicht schön anzusehen. Klicke nun auf das Form1 und gehe auf Ereignisse, scrolle hier solange herunter bis du das Ereignis OnCreate gefunden hast. Klicke es an und erstelle mit dem Button (…) eine neue Prozedure mit dem Namen procedure TForm1.FormCreate(Sender: TObject); Zwischen dem begin und end; gibt du nun folgendes ein LBLBegruessung.caption := ''; dies sagt dem Programm das nach der Erstellung des Programms das die Beschreibung (Caption) LBLBeruessung des Labels leer sein soll. Anbei nochmal der Quelltext der Prozedure.
...
41: procedure TForm1.FormCreate(Sender: TObject);
42: begin
43: LBLBegruessung.caption := '';
44: end;
...


Zum Abschluss nocheinmal ein Bild des Programm bei der Ausführung.

Abb 1.04 Anwendung wird ausgeführt


Download der Anwendung als 7-Zip Datei.

Inhaltsverzeichnis

Kapitel 01: Aufbau
1.1 Vorwort und Kursaufbau
1.2 Ressourcen
1.3 Der Autor und Kontakt
1.4 Das E-Book / PDF Dokumente
1.5 Der Videokurs

Kapitel 02: Installation
2.1 Lazarus IDE Bezugsquellen
2.2 Installation unter Windows
2.3 Installation unter Linux

Kapitel 03: Überblick
3.1 Die Lazarus-IDE
3.1 Projekt neu starten
3.2 Projekteinstellungen
3.2.1 Form Icon ändern
3.2.2 Compiler Einstellungen
3.2.3 Versionsinformationen
3.3 Das Form
3.4 Objektinspektor
3.5 Nachrichten
3.6 Projekt speichern

Kapitel 04: Eingabe und Ausgabe
4.1 In der Windows Konsole
4.2 Im Fenster mit GUI
4.3 TLabel: Label -> Text
4.4 TEdit: Editfeld
4.5 TButton: Button
4.6 TBitBtn: Button mit Bild
4.7 TMainMenu: Das Hauptmenü
4.8 TCombobox: PullDown Menü
4.9 TPageControl
4.10 Die Komponenten Bibliothek

Kapitel 05: Variablen und Konstanten
5.Variablen mit ganzen Zahlen
5.2 Variablen mit Komma
5.3 Variablen mit einem Zeichen
5.4 Variablen mit Text
5.5 Konstanten

Kapitel 06: Stings
6.1 Länge eines Strings
6.2 Wortsuche im String
6.3 Zeichen ersetzen
6.4 Position Ab
6.5 Wort an Pos X einfügen

Kapitel 07: Arithmetische Operatoren
7.1 Der Additionoerator, Plus Operator
7.2 Der Subtraktionsoperator, Minus Operator
7.3 Der Multiplikation, Mal Operator
7.4 Der Divisionsoperator, Teilen Operator

Kapitel 08: Vergleichsoperatoren
8.1 Der Gleichoperator
8.2 Der kleiner Operator
8.3 der größer Operator
8.4 Der Kleiner-Gleichoperator
8.5 Der Größer-Gleichoperator

Kapitel 09: Abfragen mit IF-Else
9.1 If Abfrage
9.1 If Else Abfrage
9.2 verschachtelte IF Else Abfragen

Kapitel 10: Array
10.1 Grundlagen zum Array
10.2 Statisches Array
10.3 Eindimensonale Arrays
10.3 Mehrdimensonale Arrays
10.4 Dynamische Arrays
10.5 Zugriff auf ein Array

Kapitel 11: Schleifen
11.1 Die For Schleife
11.2 Die For Schleife mit Array
11.3 Die While Schleife
11.4 Die Do While Schleife
11.4 Die Repeat Unitl Schleife

Kapitel 12: Prozeduren und Funktionen
12.1 Prozeduren
12.2 Funktionen

Kapitel 13: Programmierkonzepte
13.1 Das 2 Schichtenmodell
13.2 Das 3 Schichtenmodell
13.3 Das Mehrschichtenbnmodell

Kapitel 14: objektorientierte Programmierung (kurz OOP)
14.1 Das Konzept
14.2 Eigene Units (Klassen)
14.3 Instanzen und Objekte
14.4 Methoden
14.5 Attribute (Eigenschaften)
14.6 Interface (Schnittstellen)

Beitrag kommentieren

Bitte verfasse einen Kommentar.

Dein Kommentar wird vor der Freischaltung von einem Admin moderiert.