Wiki-KopieMirror

Dies ist ein Mirror des Wikis von pascal.chat. Bearbeiten, Verlauf und Anmeldung finden dort statt.

Crt/de

Deutsch · English

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:

Die wichtigsten Befehle

Text-Ausgabe

Window

Legt einen Bereich fest, in dem die Ausgabe erfolgt.

pascal
Window(10, 5, 70, 10);

GotoXY

Positioniert den Cursor, im Beispiel Spalte 10, Zeile 5. Links-Oben ist 1,1.

pascal
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.

pascal
TextColor(Green); // Grüne Schrift

Für die Farben sind folgende Konstanten vordefiniert:

pascal
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.

pascal
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

pascal
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

pascal
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

Note: Funktioniert nicht auf allen Plattformen.

Sound

Gibt einen Ton in Hz aus.

pascal
Sound(1000); // 1'000Hz

NoSound

Haltet die Ton-Ausgabe an.

Delay

Verzögerung in MS.

pascal
Sound(1000); // 1'000s verweilen

Beispiel Ton-Ausgabe

pascal
begin
  Sound(1000); // 1'000 Herz
  Delay(1000); // 1 Sekunde verzögern.
  NoSound;     // Ton absellen
end.

Autor: Mathias


From the Free Pascal wiki, page "Crt/de", as it stood on 2019-12-30 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Version 3, zuletzt geändert von WikiArchive .