Computer & Technik
Clipper
Funktionen der Clipper-Fenster Bibliothek
Funktionenreferenz:
Funktion:
WININIT
Syntax:
WININIT()
Parameter:
keine
Rückgabe:
numerisch
0, wenn ein Fehler aufgetreten ist, ansonsten wird die Anzahl der maximal verwaltbaren Fenster zurückgegeben. Unter Hercules ist dies 15; für alle anderen Karten 7.
Vorsicht: Das Fenstersystem arbeitet immer zur Basis 0. Der Ausgangsbildschirm hat immer die Handle 0. Das erste Fenster die Handle 1.
Anwendung:
Bevor das Fenstersystem verwendet werden kann, muß es mit WININIT() initialisiert werden. Neben der internen Initialisierung dient die Funktion auch der Information, indem sie die Anzahl der maximal möglichen Fenster zurückliefert.
Funktion:
WINOPEN
Syntax:
WINOPEN(<expN1>, <expN2>, <expN3>, <expN4>, <expN5>, <expN6> [,<expC1> [,<expC2>]])
Parameter:
<expN1> linke obere Fensterspalte
<expN2> linke obere Fensterzeile
<expN3> rechte untere Fensterspalte
<expN4> rechte untere Fensterzeile
definieren die Fensterkoordinaten (Spalte, Zeile, Spalte, Zeile)
<expN5> Farbe: Vordergrund
<expN6> Farbe: Hintergrund
<expC1>
ist optional und enthält ggfs. einen Box-String für Rahmen
<expC2>
enthält einen optionalen Fenstertitel, der auf der obersten Fensterzeile (ggfs. Rahmen) zentriert ausgegeben wird.
Rückgabe:
nummerisch
-1 wenn kein weiteres Fenster mehr geöffnet werden kann; ansonsten eine Handle auf das neu erzeugte Fenster. Die Handlenummer dient als Identifiklator für alle Funktionen, die ein verdecktes Fenster ansprechen.
Anwendung:
Mit WINOPEN() wird ein neues Fenster angelegt, wobei gleichzeitig der alte Bildschirm auf dem Stack gesichert wird.
Funktion:
WINCLOSE
Syntax:
WINCLOSE()
Parameter:
keine
Rückgabe:
numerisch
Ist kein Fenster mehr offen, wird der Wert 0 zurückgeliefert. Dies ist der Hauptbildschirm (alle Fenster werden von 0..n durchnumeriert). Ist noch mindestens ein Fenster offen, wird die Nummer des höchsten == aktuellen Fensters zurückgeliefert.
Anwendung:
Das aktuelle Fenster wird geschlossen und der darunterliegende Bildschirm wiederhergestellt.
Funktion:
WINRESET
Syntax:
WINRESET()
Parameter:
keine
Rückgabe:
numerisch
Der Rückgabewert ist "-1", falls das Fenster-System, noch gar nicht mit WININIT() initialisiert war, ansonsten "0".
Anwendung:
Diese Funktion beendet die Arbeit mit dem Fenstersystem. Dazu werden alle offenen Fenster geschlossen. Das Fenster 0, also der Ausgangsbildschirm, bleibt erhalten und wird nicht gelöscht.
Diese Funktion dient hauptsächlich zum raschen Schließen aller Fenster. Denn da die Fensterverwaltung keinen Speicher allokoiert, ist es nicht notwendig, WINRESET() zum Programmende aufzurufen. Es zeugt aber von einem guten Programmierstil, alles ordentlich zu hinterlassen, so wie es vorgefunden wurde. Wenn aber noch ein Fenster offen ist, kann irgendetwas nicht bis zum Ende ausgeführt worden sein, denn dann wären alle Fenster geschlossen.
Funktion:
WINSELECT
Syntax:
WINSELECT(<expN1>)
Parameter:
<expN1>
Handle des auszuwählenden Fensters.
Rückgabe:
numerisch
Handle des aktuellen Fensters.
Anwendung:
Mit dieser Funktion kann ein bestimmtes Fenster aus dem Stack auf den Bildschirm gebracht werden. Alle darüber liegenden Fenster gehen dabei verloren. Es erfolgt also ein Rücksprung zum gewählten Fenster.
Hinweise:
Wenn das aktuelle Fenster angefordert wird, wird lediglich die Fensternummer zurückgeliefert. Ansonsten tut sich nichts.
Funktion:
WINWRITE
Syntax:
WINWRITE(<expN1>, <expN2>, <expN3>, <expC1> [,<expN4> [,<expN5]])
Parameter:
<expN1>
Handle des Fensters, auf das geschrieben werden soll.
<expN2>
Bildschirmzeile, ab der geschrieben werden soll.
<expN3>
Bildschirmreihe, ab der geschrieben werden soll.
<expC1>
Zeichenkette, die ausgegeben werden soll.
<expN4>
optional Zeichenfarbe für Vordergrund.
<expN5>
optional Zeichenfarbe für Hintergrund.
Rückgabe:
numerisch
Einen negativen Wert, wenn eine ungültige Fensternummer übergeben wurde, ansonsten 0.
Anwendung:
Mit Hilfe dieser Funktion ist es möglich, auf verdeckte Bildschirme zu schreiben. Geschrieben wird immer auf die gesicherten Bildschirme. Die Ausgabe wird also erst dann sichtbar, wenn das verdeckte Fenster restauriert wird.
Hinweise:
Ist keine Farbe angegeben, wird die aktuell gesetzte Farbe verwendet.
Die Basis für die Koordinaten ist 0! Eine voller Bildschirm hat also 0 bis 79 Spalten und 0 bis 24 Zeilen.
Funktion:
SETCURS
Syntax:
SETCURS(<expN1>, <expN2>)
Parameter:
<expN1> neue Spalte
<expN2> neue Zeile
Rückgabe:
numerisch
0 : alles korrekt verlaufen
-1: Spalte außerhalb des aktuellen Fensters
-2: Zeile außerhalb des aktuellen Fensters
Anwendung:
Setzt die aktuelle Cursorposition auf die übergebene Zeile/Spalte.
Funktion:
CLRBOX
Syntax:
CLRBOX(<expN1>, <expN2>, <expN3>, <expN4>)
Parameter:
<expN1> linke obere Fensterspalte
<expN2> linke obere Fensterzeile
<expN3> rechte untere Fensterspalte
<expN4> rechte untere Fensterzeile
Rückgabe:
numerisch
Ein negativer Wert, wenn die übergebenen Koordinaten inkonsistent sind, ansonsten 0.
Anwendung:
Löscht einen Bildschirmbereich.
Funktion:
BOXSTRING
Syntax:
BOXSTRING(<expN1>)
Parameter:
<expN1> Art des Fensterrahmens
Rückgabe:
Zeichenkette
Der an BOX zu übergebende Rahmenstring.
Mögliche Rahmen:
leer Ö‑‑‑‑‑Ì èëëëëë£ Ø‑‑‑‑‑È íëëëëëÊ
° ° _ _ _ _ ° °
0 ° 1 ° _ 2 _ _ 3 _ ° 4 °
° ° _ _ _ _ ° °
Û‑‑‑‑‑ì àëëëëëÎ Æ‑‑‑‑‑§ åëëëëëÏ
ÉÉÉÉÉÉÉ ÜÔÔÔÔÔÜ ¯¯¯¯¯¯¯ ýýýýýýý ÞÞÞÞÞÞÞ
Ü Ü Ü Ü ¯ ¯ ý ý Þ Þ
Ü 5 Ü Ü 6 Ü ¯ 7 ¯ ý 8 ý Þ 9 Þ
Ü Ü Ü Ü ¯ ¯ ý ý Þ Þ
ÔÔÔÔÔÔÔ ÜÉÉÉÉÉÜ ¯¯¯¯¯¯¯ ýýýýýýý ÞÞÞÞÞÞÞ
Anwendung:
Erzeugt einen Rahmen-String, wie er für den BOX-Befehl benötigt wird.
Funktion:
STRCENTER
Syntax:
STRCENTER(<expC1>, <expN1>)
Parameter:
<expC1> der zu zentrierende Text
<expN1> gewünschte Länge der Zeichenkette
Rückgabe:
<expC>
Die umgestellte Zeichenkette.
Anwendung:
Zentriert eine Zeichenkette, indem führende und nachfolgende Leerzeichen einkopiert werden.
Funktion:
DRUCKEN
Syntax:
DRUCKEN(<expC1>)
Parameter:
<expC1> die zu druckende Zeichenkette
Rückgabe:
numerisch
Ein negativer Wert, wenn ein Fehler auftrat, ansonsten 0.
Anwendung:
Druckt eine Zeichenkette unter Umgehung der Clipper-Logik.
Funktion:
SCRNREAD
Syntax:
SCRNREAD(<expC1> [,<expN1>])
Parameter:
<expC1> Dateiname, aus dem der Bildschirm gelesen werden soll
<expN1> optinal: Fensternummer, an die der Bildschirm geschrieben werden soll.
Rückgabe:
numerisch
Ein negativer Wert, wenn der Dateizugriff fehlgeschlagen ist, ansonsten 0.
Anwendung:
Liest einen mit SCRNWRITE() gespeicherten Bildschirm und zeigt diesen an, wenn keine Fensternummer bzw. die Nummer 0 angegeben wurde.
Funktion:
SCRNWRITE
Syntax:
SCRNWRITE(<expN1>, <expC1>)
Parameter:
<expN1> Bildschirm, der gespeichert werden soll.
<expC1> Dateiname, in den der Bildschirm gespeichert werden soll.
Rückgabe:
numerisch
Ein negativer Wert, wenn ein Fehler beim Speichern auftrat, ansonsten 0.
Anwendung:
Speichert einen Bildschirm auf Platte.