Crt/de
│ Deutsch (de) │ English (en) │
Unit Crt
Vorwort
Die Unit Crt bietet eine komfortable Textausgabe auf der Text-Konsole. Auch bietet sie komfortable Tastatur-Eingabe. Der Ursprung der Unit kommt von Turbo-Pascal. Je nach OS wird die Text-Ausgabe welche mit Write/Writeln ausgeführt wird stark beschleunigt.
Wichtigste Features der Unit:
- Farbige Text-Ausgabe.
- Text-Ausgabe beschleunigen ( OS abhängig ).
- Cursor positionieren.
- Einen Fenster-Bereich festlegen.
- Tastatur-Abfrage.
- Ton-Ausgabe ( OS abhängig ).
Die wichtigsten Befehle
Text-Ausgabe
Window
Legt einen Bereich fest, in dem die Ausgabe erfolgt.
Window(10, 5, 70, 10);
GotoXY
Positioniert den Cursor, im Beispiel Spalte 10, Zeile 5. Links-Oben ist 1,1.
GotoXY(10, 5);
WhereX
Fragt die Spalte ab, in dem sich der Cursor befindet.
WhereY
Fragt die Zeile ab, in dem sich der Cursor befindet.
ClrScr
Löschen den Bildschirm / Fenster, welches mit Windows festgelegt wurde.
TextColor
Legt die Farbe der Schrift fest.
TextColor(Green); // Grüne Schrift
Für die Farben sind folgende Konstanten vordefiniert:
const
// Vordergrund / Hintegergrund-Farben
Black = 0;
Blue = 1;
Green = 2;
Cyan = 3;
Red = 4;
Magenta = 5;
Brown = 6;
LightGray = 7;
// Zusätzliche Vordergrund Farben
DarkGray = 8;
LightBlue = 9;
LightGreen = 10;
LightCyan = 11;
LightRed = 12;
LightMagenta = 13;
Yellow = 14;
White = 15;
// Spezial
Blink = 128;
TextBackground
Legt die Hintergrund-Farbe der Schrift fest. Beim Aufruf von ClrSrc wird der Bildschirm/Fenster mit dieser Farbe eingefärbt.
TextBackground(Red); // Roter Hintergrund
TextAttr
Über diesen Bezeichner kann man direkt das Attribut auslesen und schreiben.
LowVideo
Die Farbe der Schrift wird auf Low gesetzt.
HighVideo
Die Farbe der Schrift wird auf High gesetzt.
NormVideo
Die Schrift wird auf Standard-Grau gesetzt.
InsLine
Eine Zeile bei Cursorposition einfügen.
DelLine
Die Zeile bei Cursorposition löschen.
Beispiel Text-Ausgabe
var
i: integer;
begin
Window(10, 5, 30, 20); // Fenstergrösse festlegen
TextBackground(Red); // Hintergrund-Farbe (Rot)
ClrScr; // Fenster löschen
for i := 1 to 8 do begin
GotoXY(i, i); // Cursor positionieren
TextColor(i + 8); // Text-Farbe festlegen
Write('Hello World');
end;
repeat
until KeyPressed; // Bei Tastendruck Programm beenden
end.
Tastatur-Eingabe
ReadKey
ReadKey holt ein Zeichen aus dem Tastatur-Puffer. Achtung, bei Funktions-Tasten müssen 2 Zeichen abgeholt werden, dabei ist das erste Zeichen ein #0. Dies betrifft F-Tasten, Pfeil-Tasten, etc.
KeyPressed
Prüft, ob eine Taste gedrückt wurde.
Beispiel Tastatur
var
ch: Char;
begin
repeat
until KeyPressed; // Warten, bis eine Taste gedrückt.
ch := ReadKey;
if ch = #0 then begin // Funktionstaste
ch := ReadKey;
end;
end.
Hinweis: KeyPressed holt keine Zeichen ab, dies muss mit ReadKey geschehen.
Ton-Ausgabe
Sound
Gibt einen Ton in Hz aus.
Sound(1000); // 1'000Hz
NoSound
Haltet die Ton-Ausgabe an.
Delay
Verzögerung in MS.
Sound(1000); // 1'000s verweilen
Beispiel Ton-Ausgabe
begin
Sound(1000); // 1'000 Herz
Delay(1000); // 1 Sekunde verzögern.
NoSound; // Ton absellen
end.
Autor: Mathias