Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultät Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
Betriebssysteme
 
  Vorlesung
    - UnivIS-Infos
    - Inhalt
    - Folien
 
  Übungen
    - UnivIS-Infos
    - Inhalt
    - Ergänzendes Material
    - Terminübersicht
    - Aufgaben
       * Umgebung
       * Typische Fehler
       * A 1
       * A 2
       * A 3
       * A 4
       * A 5
       * A 6
       * A 7
 
  Evaluation
Department Informatik  >  Informatik 4  >  Lehre  >  WS 2007/08  >  Betriebssysteme  >  Übungen  >  Aufgaben  >  Aufgabe 2  >  Klasse CGA_Screen

Klasse CGA_Screen

Einordnung in die Gesamtstruktur

Modul
machine
Basisklassen
keine
abgeleitete Klassen
CGA_Stream
Erstellungszeitpunkt
Aufgabe 1
Dateien
cgascr.h cgascr.cc

Beschreibung

Da für Fehlermeldungen und einfache Anwendungen von Stubs eine reine Textdarstellung genügt, sollen alle Ausgaben über den CGA Modus der Grafikkarte erfolgen.

öffentliche Methoden:

void CGA_Screen::show (int x, int y, char c, unsigned char attrib)
Diese Methode gibt das Zeichen c an der Position (x,y) mit dem angegebenen Farbattribut attrib aus. Dabei gibt x die Spalte und y die Zeile der gewünschten Position an, wobei gilt: 0<=x<=79 und 0<=y<=24. Die Position (0,0) bezeichnet die linke obere Ecke des Bildschirms. Mit attrib lassen sich Merkmale wie Hintergrundfarbe, Vordergrundfarbe und Blinken festlegen.
void CGA_Screen::setpos (int x, int y)
Diese Methode setzt den Cursor an die angegebene Position.
void CGA_Screen::getpos (int &x, int &y)
Hiermit kann die aktuelle Position des Cursors von der Grafikkarte abgefragt werden. x und y sind Referenzen und dienen als Ausgabeparameter.
void CGA_Screen::print (char* text, int length, unsigned char attrib)
Mit dieser Methode kann eine Zeichenkette text ausgegeben werden, wobei an der aktuellen Position des Cursors begonnen wird. Da die Zeichenkette anders als sonst bei C üblich keine Nullterminierung zu enthalten braucht, wird der Parameter length benötigt, der angeben muss, aus wievielen Zeichen text besteht. Nach Abschluss der Ausgabe soll der Cursor hinter dem zuletzt ausgegebenen Zeichen stehen. Der gesamte text soll einheitlich mit den durch attrib gewählten Farben dargestellt werden.

Wenn bis zum Ende der Zeile nicht mehr genügend Platz ist, soll die Ausgabe auf der folgenden Zeile fortgesetzt werden. Sobald die letzte Bildschirmzeile gefüllt ist, soll der gesamte Bildschirmbereich um eine Zeile nach oben geschoben werden. Dadurch verschwindet die erste Zeile. Dafür kann nun die letzte Zeile erst gelöscht und dann die Ausgabe dort fortgesetzt werden.

Ein Zeilenumbruch muss auch erfolgen, wann immer das Zeichen '\n' im auszugebenen Text enthalten ist.



  Impressum   Datenschutz Stand: 2007-11-26 18:19   AG, WH