UNIT GRAFIK;
(* ******************************************************************** *)
(* K L A S S E : CGrafik *)
(* -------------------------------------------------------------------- *)
(* Version : 1.0 *)
(* *)
(* Autor : S. Spolwig, OSZ Handel I, 10997 Berlin *)
(* *)
(* Dateiname : grafik.pas *)
(* *)
(* Aufgabe : Die Unit Grafik stellt einige Objekte fuer einen ASCII-*)
(* Bildschirm zur Verfuegung. *)
(* *)
(* XPos und YPos sind der Bezugspunkt jeweils links (oben)*)
(* *)
(* Compiler : MSDOS/TURBO Pascal V. 7.0 *)
(* *)
(* Aenderung : V. 0.91 23-FEB-98 falsche Groessen berichtigt *)
(* 0.92 13-MAR-98 Loeschen, FarbeSetzen, *)
(* Flaeche ist Oberklasse: *)
(* neue Init, Attribute Farbe, *)
(* Zeichenfarbe *)
(* CPushButton,CFrame erbt CButton *)
(* 1.0 24-MAY-98 Farben wechselten bei erneutem *)
(* Aufrufen; jetzt ok *)
(* ******************************************************************** *)
INTERFACE
(* ========================== Export ================================== *)
USES BILDSCHIRM;
type
CPosition = object
XPos,
YPos : integer;
constructor Init (eineXPos, eineYPos : integer);
end;
CLinie = object (CPosition)
Laenge : integer;
Farbe : TFarben;
constructor Init (eineXpos, eineYpos, eineLaenge: integer );
procedure Zeigen; virtual;
procedure FarbeSetzen (eineFarbe : TFarben ); virtual;
procedure Loeschen; virtual;
end;
CStrich = object (CPosition)
Hoehe : integer;
Farbe : TFarben;
constructor Init (eineXpos, eineYpos, eineHoehe : integer);
procedure Zeigen; virtual;
procedure FarbeSetzen ( eineFarbe : TFarben ); virtual;
procedure Loeschen; virtual;
end;
CRechteck = object (CLinie)
Hoehe : integer;
constructor Init (eineXpos, eineYpos, eineLaenge, eineHoehe: integer);
procedure Zeigen; virtual;
procedure Loeschen; virtual;
end;
CFlaeche = object (CRechteck)
Zeichen : char; (* um ein Muster draufzusetzen *)
Zeichenfarbe : TFarben;
constructor Init (eineXPos, eineYPos, eineLaenge, eineHoehe : integer);
procedure Zeigen; virtual;
procedure ZeichenSetzen (einZeichen : char); virtual;
procedure ZeichenFarbeSetzen ( eineFarbe : TFarben ); virtual;
procedure Loeschen; virtual;
end;
CButton = object (CFlaeche)
constructor Init (eineXPos, eineYPos, eineLaenge, eineHoehe:integer);
procedure Zeigen; virtual;
procedure Loeschen; virtual;
end;
CPushButton = object (CButton)
constructor Init (eineXPos, eineYPos, eineLaenge, eineHoehe : integer);
procedure Zeigen; virtual;
end;
CFrame = object (CButton)
constructor Init(eineXpos, eineYpos, eineLaenge, eineHoehe : integer);
procedure Zeigen; virtual;
end;
(* -------------------- B e s c h r e i b u n g -------------------------
Oberklasse : s.o.
Bezugsklassen : BILDSCHIRM
benutze Module: -
Methoden (FUER ALLE KLASSEN !!)
--------
Init
Auftrag: Objekt mit den Werten fuer Position, Laenge, Hoehe versehen
vorher : -
nachher: Objekte haben Positionwerte, Farbe ist SCHWARZ
Zeigen
Auftrag: Objekt auf dem Bildschirm darstellen
vorher : ist init.
nachher: -
FarbeSetzen ( eineFarbe : TFarben ); virtual;
Auftrag: jeweilige Figur auf eineFarbe einstellen. Frames und Buttons
sind nur schwarz/weiss
vorher : ist init.
nachher: Objekt hat eineFarbe
Loeschen
Auftrag: jeweiliges Objekt vom Bildschirm loeschen
vorher : -
nachher: Objekt ist geloescht
(FUER FLAECHE und UNTERKLASSEN )
ZeichenSetzen (einZeichen : char) - fr Flaeche und Unterklassen
Auftrag: der Flaeche kann ein Muster gegeben werden
vorher : -
nachher: Flaeche hat Zeichen als Muster
ZeichenFarbeSetzen ( eineFarbe : TFarben )
Auftrag: Das Muster-Zeichen einfaerben
vorher : -
nachher: Zeichen hat eineFarbe
-------------------------------------------------------
Linie
waagerechte Linie ab XPos, YPos nach rechts
Strich
waagerechte Strich ab XPos, YPos nach unten
Rechteck
ab XPos, YPos
Flaeche
mit beliebigen Zeichen gefuellt ab links oben
Button
schreibt einen rechteckigen Knopf ab XPos,YPos.
PushButton
schreibt einen rechteckigen Knopf ab XPos,YPos.
Frame
schreibt einen Reliefrahmen ab XPos,YPos
--------------------------------------------------------------------- *)
Zurück zur Startseite