Interface der Unit U_Formen

Unit U_Formen ;interfaceUSES CRT, GRAPH, U_GRAF, U_GRUNDL;PROCEDURE Welt_Linie_zeigen (Laenge, Breite : real ; VG_Farbe : integer) ;
{Die Prozedur zeichnet eine Linie in der angegebenen „Laenge“ entlang der x-Achse und der angegebenen „Breite“ entlang der y-Achse in der vorgegebenen „VG_Farbe“.}

PROCEDURE Welt_Rechteck_zeigen  (Laenge, Breite : real ; VG_Farbe, Fuell_Farbe  : integer) ;
{Die Prozedur zeichnet ein Rechteck in der angegebenen „Laenge“ entlang der x-Achse und der angegebenen „Breite“ entlang der y-Achse. Der Rechteckrahmen wird in der übergebenen „VG_Farbe“ dargestellt, der Rechteckinhalt in der übergebenen „Fuell_Farbe“.}

PROCEDURE Welt_Dreieck_zeigen (Laenge1, Breite1, Laenge2, Breite2 , Laenge3, Breite3 : real ; VG_Farbe, Fuell_Farbe : integer) ;

{Die Prozedur zeichnet ein Dreieck aus drei Linien entgegen der Zeitangabe. Jede Linie wird in der angegebenen „Laenge“ entlang der x-Achse und der angegebenen „Breite“ entlang der y-Achse gezeichnet. Der Dreieckrahmen wird in der übergebenen „VG_Farbe“ dargestellt, der Dreieckinhalt in der übergebenen „Fuell_Farbe“.}

PROCEDURE Welt_Viereck_zeigen (Laenge1, Breite1, Laenge2, Breite2 , Laenge3, Breite3, Laenge4, Breite4 : real ; VG_Farbe, Fuell_Farbe : integer) ;

{Die Prozedur zeichnet ein Viereck aus vier Linien entgegen der Zeitangabe. Jede Linie wird in der angegebenen „Laenge“ entlang der x-Achse und der angegebenen „Breite“ entlang der y-Achse gezeichnet. Der Viereckrahmen wird in der übergebenen „VG_Farbe“ dargestellt, der Viereckinhalt in der übergebenen „Fuell_Farbe“.}

PROCEDURE Welt_Kreis_zeigen (Radius : real ; VG_Farbe, Fuell_Farbe : integer);
{Die Prozedur zeichnet einen Kreis mit dem angegebenen „Radius“. Der Kreisrahmen wird in der übergebenen „VG_Farbe“ dargestellt, der Kreisinhalt in der übergebenen „Fuell_Farbe“.}

PROCEDURE Welt_Koordinatensystem_definieren (X_MinWert, Y_MinWert, X_MaxWert, Y_MaxWert : real; VG_Farbe : integer; SICHTBAR : boolean) ;
{Die Prozedur zeichnet die Achsen eines Koordinatensystems nach den angegebenen Punktkoordinaten in der übergebenen „VG_Farbe“. Die Achsen werden nicht gezeichnet, wenn „SICHTBAR“ den Wert FALSE besitzt.}

PROCEDURE Grafik_Fenster_zeigen (nr, X_Min, Y_Min, X_Max, Y_Max : Integer; VG_Farbe, HG_Farbe : integer);

{Die Prozedur zeichnet ein Fenster im Grafikmodus. Die Werte „X_Min“ und „Y_Min“ bestimmen den Eckpunkt oben-links, die Werte „X_Max“ und „Y_Max“ den Eckpunkt unten-rechts. Der Fensterrahmen wird in der übergebenen „VG_Farbe“ dargestellt, der Fensterinhalt in der übergebenen „HG_Farbe“.} Die übergebene „Nr“ wird im oben-links im Grafikfenster dargestellt.)

Interface der Unit U_GRUNDL

Unit U_Grundl ;interfaceUSES CRT, GRAPH, U_GRAF;Var (* Variable im Weltkoordinatensystem *)

    X_Wertmin, Y_Wertmin, X_Wertmax, Y_Wertmax : real ;

    X_aktueller_Wert, Y_aktueller_Wert : real ;

    X_Start, Y_Start : real ;

    (* Variable im Bildschirmkoordinatensystem *)

    X_aktuelle_Koordinate, Y_aktuelle_Koordinate : integer ;

    Max_X_Koordinate, Max_Y_Koordinate : integer ;

    HG_Farbe : integer ;

Procedure Grafik_X_Koordinate_berechnen (X_Wert : real; var X_Koordinate : integer) ;

{Die Prozedur rechnet die Weltkoordinate „X_Wert“ in die Bildschirmkoordinate „X_Koordinate“ um.}
Procedure Grafik_Y_Koordinate_berechnen (Y_Wert : real; var Y_Koordinate : integer) ;
{Die Prozedur rechnet die Weltkoordinate „Y_Wert“ in die Bildschirmkoordinate „Y_Koordinate“ um.}

Procedure Grafik_Abstand_berechnen (Wert : real; var Abstand : integer) ;

{Die Prozedur rechnet die Weltkoordinate „Wert“ in die Bildschirmkoordinate „Abstand“ um.}
PROCEDURE Cursor_bewegen (X_Differenz, Y_Differenz : real) ;
{Die Prozedur verschiebt den Grafik-Cursor, ausgehend vom aktuellen Weltkoordinatenpunkt, um die Weltkoordinaten „X_Differenz“ entlang der x-Achse und „Y_Differenz“ entlang der y-Achse. Der aktuelle Weltkoordinatenpunkt bleibt erhalten.}

PROCEDURE Cursor_setzen (X_Wert, Y_Wert : real) ;
{Die Prozedur setzt die Weltkoordinaten auf einen Ausgangspunkt mit den Koordinaten „X_Wert“ und „Y_Wert“. Der Ausgangspunkt bildet auch den aktuellen Weltkoordinatenpunkt.}

PROCEDURE Cursor_verschieben (X_Abstand, Y_Abstand : real) ;

{Die Prozedur verschiebt den Grafik-Cursor, ausgehend vom Ausgangspunkt, um die Weltkoordinaten „X_Abstand“ entlang der x-Achse und „Y_Abstand“ entlang der y-Achse auf einen neuen aktuellen Weltkoordinatenpunkt. Der Ausgangspunkt bleibt erhalten.}

Interface der Unit U_Graf

UNIT U_Graf;

INTERFACE

PROCEDURE Init_Grafik;

{Wechselt vom Text- in den Grafikmodus.}

PROCEDURE Close_Grafik;

{Wechselt vom Grafik- in den Textmodus.}
PROCEDURE Melde_Grafik (s : STRING);

{Schreibt die übergebene Zeichenkette“s“ an die aktuelle Bildschirmkoordinaten.}

fh_inf01