Programmiersprache Pascal

Escape-Steuerfolgen

ANSI-Escape-Steuerfolgen können benutzt werden, um Ein- und Ausgabeverhalten des Rechners zu beeinflussen. Es handelt sich dabei um Zeichenketten, die - wenn sie ausgegeben werden - unsichtbar bleiben, jedoch Attribute des aktuellen Terminals verändern.

Die wichtigsten Escape-Steuerfolgen sind standardisiert und rufen, sofern sie vollständig und korrekt implementiert sind, unter unterschiedlichen Betriebssystemen gleiche Wirkungen hervor. Zu beachten sind dabei natürlich die unterschiedlichen Fähigkeiten der verwendeten Terminals (Voll-Bildschirm oder Fenster).

Escape-Steuerfolgen besitzen folgenden Aufbau:

Eine Escape-Steuerfolge darf keine Leerzeichen enthalten !

Einige wichtige Escape-Steuerfolgen:

  ESC [ 2 J                 Bildschirm löschen
                            mitunter wird außerdem der Cursor auf
                            die Position (1,1) gesetzt
  ESC [ zeile ; spalte H    Cursor auf Position (zeile,spalte) setzen
  ESC [ s                   Cursor-Position speichern
  ESC [ u                   Cursor-Position zurücksetzen
  ESC [ bg ; fg ; fmt m     Bildschirm-Attribute verändern
                            bg   Hintergrundfarbe
                            fg   Vordergrundfarbe
                            fmt  Darstellungsform
                            nicht zu verändernde Attribute können
                            weggelassen werden (einschließlich des 
                            Semikolons als Trennzeichen)
Erläuterungen: Einige weitere Escape-Steuerfolgen
  ESC [ pos A               Cursor pos Postionen noch oben
  ESC [ pos B               Cursor pos Postionen noch unten
  ESC [ pos C               Cursor pos Postionen noch rechts
  ESC [ pos D               Cursor pos Postionen noch links
  
  ESC ] 2 titel BEL         Titelzeile eines Fensters verändern
  
  ESC [ ? S                 Statuszeile anzeigen
  ESC [ ? pos T             Cursor auf Spalte pos in Statuszeile setzen
  ESC [ ? F                 aus Statuszeile zurückkehren
  ESC [ ? H                 Statuszeile entfernen
  
  ESC [ ? 42 h              Fenster mit Scroll-Balken 
Erläuterungen: Achtung:
Einige der zuletzt genannten Escape-Steuerfolgen sind nur in bestimmten Umgebungen verfügbar.

Beispiel:

  PROGRAM escape(OUTPUT);
  
  CONST esc = Chr(27);
  
  PROCEDURE cls;
  BEGIN
    Write(esc + '[1;1H' + esc + '[2J');
  END;
  
  PROCEDURE cursor(zeile, spalte: INTEGER);
  BEGIN
    Write(esc + '[', zeile:1, ';', spalte:1, 'H');
  END;
  
  BEGIN
    cls;
    Writeln('Erste Zeile');
    cursor(3,3);
    Writeln('(3,3)');
  END.
Liste der unter AIX verfügbaren Escape-Steuerfolgen
VT100-Escape-Steuerfolgen



P. Böhme, 18.07.1996