Lazarus/Die Unit LazIOStuff

Aus ZUM-Unterrichten


Wozu die Unit LazIOStuff

LazIOStuff ist eine Lazarus-Unit, die eine Reihe von Befehlen zur vereinfachten Ein- und Ausgabe zur Verfügung stellt. Man kann sich fragen, weshalb man überhaupt eine solche Unit schreibt, wo doch Lazarus von sich aus doch schon jede Menge Möglichkeiten zur Ein- und Ausgabe von Werten hat. Und weshalb man innerhalb eines Online-Lehrbuchs diese Unit benutzt.

Der Hauptgrund besteht darin, dass es beim Lernen einer Programmiersprache angenehm ist, wenn man sich auf die wesentlichen Dinge konzentrieren kann. Vereinfachte Befehle für Ein- und Ausgabe sollen genau dabei helfen. So haben wir z.B. in den vergangenen Kapiteln gesehen, dass wir immer wieder den Inhalt von Edit-Feldern zu Integer- oder Real-Zahlen übersetzen mussten. In den folgenden Kapiteln wollen wir Ergebnisse in Memo-Felder ausgeben, das sind Komponenten mit mehreren Textzeilen. Das alles würde auch relativ leicht in Lazarus direkt funktionieren, jedoch würde der Programmcode etwas unübersichtlich, und das kann dem Lernen dann doch abträglich sein.


Die von LazIOStuff bereitgestellten Befehle

Befehl Bedeutung
WriteTo(Komponente, Wert, [Gesamtanzahl Zeichen, Nachkommastellen]) Schreibt einen Wert (vom Typ String, Integer oder Double) in eine Komponente.
Das kann entweder eine Edit-Komponente oder eine mehrzeilige Memo-Komponente sein.
Bei Edit-Komponenten wird der darin befindliche Inhalt einfach ersetzt, bei Memo-Komponenten jedoch hinter den bisherigen Inhalt angehängt.
Bei Integer-Werten kann zusätzlich angegeben werden, wie viele Zeichen die Ausgabe insgesamt haben soll (rechtsbündige Zahlen).
Bei Double-Zahlen kann man zusätzlich dazu wiederum noch einstellen, mit wie vielen Nachkommastellen die Zahl angezeigt wird.
WriteLnTo(Komponente, Wert, [Gesamtanzahl Zeichen, Nachkommastellen]) Funktioniert ähnlich wie WriteTo, mit einem wesentlichen Unterschied:
Diese Funktion bezieht sich ausschließlich auf die mehrzeiligen Memo-Komponenten.
Nach der Ausgabe verursacht sie gezielt einen Zeilenumbruch.
WriteLnTo kann man auch ganz ohne Klammern verwenden; dann erzeugt es einfach nur einen Zeilenumbruch.
ReadFrom(Edit-Komponente, Wert) Liest aus einer Edit-Komponente einen Wert (entsprechend des Datentyps) aus. Möglich sind Zeichenketten (Strings), Integer- und Double-Werte.
Clear(Komponente) Löscht den Inhalt der entsprechenden Komponente.

Das folgende Beispiel