$ANSI
~>008~
~S~~1~Roland G. Hlsmann  -   ~D.xx.xxx~ - ~Z:xx Uhr~             - ~#~ -
$DO LOADBMP      KPROFAN.BMP,120,300
$DO LOADSIZEDBMP PROFAN.BMP, 520,10 ,120,49
$DO MOVETO       0,70
~G~DRUCK-SYSTEM FR ALLE PROGRAMME - 2.0

~H~~F~~U~Sinn und Zweck~f~~u~~T~

RGHDRUCK ermglicht es, mit jedem Programm, das Textdateien erzeugen kann (ASCII- oder ANSI-
Text), formatierte Windowsausdrucke zu erzeugen, ohne da eine Textverarbeitung bemht werden
mte oder man irgendetwas ber den angeschlossenen Drucker wissen mu. Das wird durch die
spezielle Druckersprache ermglicht.
Da RGH-DRUCK jedes Zeichen einzeln positioniert, sollten die Ausdrucke auf ALLEN Druckern
ziemlich gleich aussehen!

~H~~F~~U~Funktionsweise~f~~u~~T~

Das RGH-Druck-System besteht aus drei Programmen:
~E~   ~F~RGHDRUCK.EXE~f~   ~T~ber dieses Druckprogramm werden die Druckdateien ausgedruckt.
~E~   ~F~RGHLIST.EXE~f~    ~T~Mit diesem Programm kann man den AUsdruck zuvor ansehen.
~E~   ~F~RGHEINST.EXE~f~   ~T~Individuelle Einstellungen der Fonts (nur PROFI-Version).
~E~   ~F~DRWAHL.EXE~f~     ~T~Ruft den Druckereinstellungsdialog auf.

~C~~F~RGHDRUCK <Druckdatei>~f~~T~

Die als Parameter angegebene Datei wird auf den aktuellen Drucker ausgegeben. Soll dem Anwender
vorher die Mglichkeit gegeben werden, den Drucker auszuwhlen und einzurichten, ist zuvor
DRWAHL.EXE aufzurufen.
An die Druckdatei sind folgende Bedingungen gestellt: Keine Zeile darf lnger als 255 Zeichen
sein. Es mu ein reiner OEM- (= ASCII) bzw. ANSI-Text sein. Lediglich das "~~" wird als Einleitung
fr Drucker-Steuerzeichen und -Befehle der RGH-Drickersprache verwandt. Soll es im Text vorkommen,
mu es doppelt eingegeben werden: "~~~~"
Whrend eine Datei gedruckt wird, erscheint ein Fenster auf dem Bildschirm, das den Namen der
Datei angibt.
Existiert die aufgerufene Datei nicht, geschieht gar nichts. Das sollte das aufrufende Programm
kontrollieren. Fehlt hingegen der Parameter, erfolgt eine Fehlermeldung.
Die RGH-Druckersprache wird in einem eigenen Kapitel beschrieben.

~C~~F~RGHLIST <Druckdatei>~f~~T~

Die als Parameter angegebene Datei wird auf den Bildschirm ausgegeben. Der Anwender kann das
zu druckende Dokument auf diese Weise vorher ansehen. Es wird so angezeigt, wie es gedruckt wird.
(Lediglich durch RGHEINST erzeugte Fontnderungen werden in dieser Version nochnicht bercksichtigt.)
An die Druckdatei sind folgende Bedingungen gestellt: Keine Zeile darf lnger als 255 Zeichen
sein. Es mu ein reiner OEM- (= ASCII) bzw. ANSI-Text sein. Lediglich das "~~" wird als Einleitung
fr Drucker-Steuerzeichen und -Befehle der RGH-Drickersprache verwandt. Soll es im Text vorkommen,
mu es doppelt eingegeben werden: "~~~~"
Es kann durch das Dokument vorwrts geblttert werden. Weiterblttern von der letzten Seite aus
beendet das Programm. ber einen Menpunkt kann das Dokument auch gedruckt werden. Dazu wird
RGHDRUCK.EXE aufgerufen.
Existiert die aufgerufene Datei nicht, geschieht gar nichts. Das sollte das aufrufende Programm
kontrollieren. Fehlt hingegen der Parameter, erfolgt eine Fehlermeldung.
Die RGH-Druckersprache wird in einem eigenen Kapitel beschrieben.

~C~~F~DRWAHL~f~~T~

Fr Programme in Programmiersprachen, die keinen eigenen Befehl zum Aufruf der Druckereinstellungen
kennen (wie z.B. PROFAN bis Version 7) ist hierfr DRWAHL.EXE zu verwenden.

~N~~S~Roland G. Hlsmann   -   ~D.xx.xxx~ - ~Z:xx Uhr~             - ~#~ -
$DO LOADBMP      KPROFAN.BMP,120,300
$DO LOADSIZEDBMP PROFAN.BMP,520,10,120,49
$DO MOVETO       0,70
~G~DRUCK-SYSTEM FR ALLE PROGRAMME - 2.0

~C~~F~RGHEINST~f~~T~

Mit diesem Programm knnen die 7 Schriften von RGH-Druck individuell angepat werden. Jeder der
Schriften kann eine beliebige Schrift in beliebigem Stil zugewiesen werden. Die Gre ist natrlich
nicht vernderbar. Auerdem sollte man Schriften mit fester Laufweite (den obersten 5 in dem Dialog)
auch nur solche mit fester Laufweite zuordnen. Ansonsten sehen die Ausdrucke recht seltsam aus.

~H~~F~~U~RGH-Druckersprache 2.0~f~~u~~T~

Alle Druckerbefehle werden von einer Tilde ("~~") eingeleitet. Ohne Leerraum folgt darauf das Steuerzeichen.
Beendet wird der Druckerbefehl durch eine zweite Tilde (oder das Ende der Zeile). Alles, was zwischen
dem Seuerzeichen und der zweiten Tilde steht, wird ignoriert. Auf diese Weise kann man Platzhalter
oder Kommentare eingeben. Beispiel:
~E~              Nuloch, den ~~D.##.###~~ um ~~Z:## ##~~.~T~
Die Ausgabe wre:
~E~              Nuloch, den ~D.##.###~ um ~Z:## Uh~.~T~
Hier wurden die Zeichen zwischen den Druckersteuerzeichen ("D", bzw. "Z") und der zweiten Tilde genutzt,
um den Druckerbefehl genausoviel Platz brauchen zu lassen, wie Datum und Zeit beim spteren Ausdruck.

Die Druckersteuerzeichen im Einzelnen:

~E~    N      ~T~- Neue Seite
~E~    L      ~T~- Landscape (Querformat)
~E~    P      ~T~- Portrait (Hochformat)

~E~    =      ~T~- minimaler Zeilenabstand (fr Schrift M)
~E~    0      ~T~- kleiner Zeilenabstand (speziell fr Schrift S)
~E~    1      ~T~- Zeilenabstand 1 Zeile
~E~    2      ~T~- Zeilenabstand 1,5 Zeilen
~E~    3      ~T~- Zeilenabstand 2 Zeilen

~E~    E      ~T~- Elite (10 Punkt, 12 Zeichen/Zoll)
~E~    C      ~T~- Courier (12 Punkt, 10 Zeichen/Zoll)
~E~    H      ~T~- Helvetica (12 Punkt, 12 Zeichen/Zoll)
~E~    G      ~T~- Groe Schrift (14.4 Punkt, proportional)
~E~    S      ~T~- Schmale Schrift (9 Punkt, 16.66 Zeichen/Zoll)
~E~    M      ~T~- Mini-Schrift (6 Punkt, 22 Zeichen/Zoll) [fr TimeSystem]
~E~    T      ~T~- TmsRmn (10 Punkt, proportional)

~S~~0~Die hier genannten Schriftnamen sind historischer Natur. Die Schriften werden unter Windows durch folgende
True-Type-Schriften dargestellt: Elite und Courier durch "Courier New", Helvetica, Schmal und Mini durch
"Lucida Console" (Windows NT) bzw. "Courier New" (Windows 3.x/Windows 95) und TmsRmn und Gro durch
"Times New Roman".~1~

~E~    F      ~T~- Fettdruck einschalten
~E~    f      ~T~- Fettdruck ausschalten
~E~    B      ~T~- Breitschrift einschalten
~E~    b      ~T~- Breitschrift ausschalten
~E~    U      ~T~- Unterstreichen einschalten
~E~    u      ~T~- Unterstreichen ausschalten
~E~    K      ~T~- Kursiv einschalten
~E~    k      ~T~- Kursiv ausschalten

~S~~0~Breitschrift ist doppelt so breit, wie normale Schrift.~T~~1~

~N~~S~Roland G. Hlsmann  -   ~D.xx.xxx~ - ~Z:xx Uhr~             - ~#~ -
$DO LOADBMP      KPROFAN.BMP,120,300
$DO LOADSIZEDBMP PROFAN.BMP,520,10,120,49
$DO MOVETO       0,70
~G~DRUCK-SYSTEM FR ALLE PROGRAMME - 2.0

~E~    D      ~T~- aktuelles Datum in der Form 'TT.MM.JJJJ '
~E~    Z      ~T~- aktuelle Zeit in der Form 'HH:MM Uhr'
~E~    #      ~T~- aktuelle Seitenzahl im Dokument
~E~    ?      ~T~- Ausgabe des Namens des Druckertreibers (fr Wartungszwecke)
~E~    *      ~T~- alles bis zum nchsten "~~" ist Kommentar
~E~    ^      ~T~- Die folgenden drei (!) Ziffern stellen den Code eines Zeichens dar (z.B. ~~^033~~)
~E~    {      ~T~- Die folgenden drei (!) Ziffern stellen die Zeilen/Seite dar. 000 = kein Seitenumbruch.
~E~    >      ~T~- Die folgenden drei (!) Ziffern geben den linken Rand (etwa in Zeichen) an.

~T~Um die Tilde selbst zu drucken, mu sie zweimal eingegeben werden. Folgt hinter der
Tilde ein "ungltiges" Zeichen, wird das Zeichen vor der Tilde doppelt ausgegeben.
(Letzteres Feature macht wenig Sinn, kann aber bei der Fehlersuche hilfreich sein.)

Es gibt zwei Direktiven, die jeweils ALLEINE in einer Zeile stehen mssen:

~E~    $ANSI  ~T~- schaltet auf den Ansi-Zeichensatz um, wie er in allen Windowsversionen verwandt wird.
~E~    $OEM   ~T~- schaltet auf den in DOS verwandten Zeichensatz um.

$ANSI ist voreingestellt.

Folgende Direktive leitet eine Befehlszeile ein. Sie mu ohne fhreende Lehrzeichen am Beginn einer Zeile
stehen:

~E~    $DO    ~T~- leitet eine Befehlszeile ein. Jeweils mit einem Leerzeichen Abstand folgen Befehl und die
~E~           ~T~  durch Kommata getrennten Parameter.


~H~~F~~U~Die Befehle~f~~u~~T~

Die Koordinaten gehen alle davon aus, da die Druckseite eine Ausdehnung von 680 * 960 hat, wobei 0,0 die linke obere
Ecke ist.

~E~~F~LOADBMP <1>,<2>,<3>~f~
<1> Name der Bitmap
<2> x-Position
<3> y-Position~T~
Es wird die Bitmap <1> geladen und an Position <2>,<3> gedruckt. Das Programm berprft nicht, ob die Bitmap auf die
Seite pat. <2> + Breite darf 640 nicht berschreiten, <3> + Hhe nicht 960.

~E~~F~LOADSIZEDBMP <1>,<2>,<3>,<4>,<5>~f~
<1> Name der Bitmap
<2> x-Position
<3> y-Position
<4> horizontale Ausdehnung (Breite)
<5> verikale Ausdehnung (Hhe)~T~
Es wird die Bitmap <1> geladen und an Position <2>,<3> in der Gre <4>,<5> gedruckt. Das Programm berprft nicht,
ob die Bitmap auf die Seite pat. <2>+<4>  darf 640 nicht berschreiten, <3>+<5> nicht 960.
Um z.B. fr Logos eine gute Qualitt zu erzielen, empfiehlt es sich, die Bitmap etwa in der fnffachen Gre des
Ausdrucks vorliegen zu haben. Fr das RGH-Logo (s.o.) gilt z.B. folgende Zeile:
~E~$DO LOADSIZEDBMP PROFAN.BMP,520,10,120,49~T~

~N~~S~Roland G. Hlsmann  -   ~D.xx.xxx~ - ~Z:xx Uhr~             - ~#~ -
$DO LOADBMP      KPROFAN.BMP,120,300
$DO LOADSIZEDBMP PROFAN.BMP,520,10,120,49
$DO MOVETO       0,70
~G~DRUCK-SYSTEM FR ALLE PROGRAMME - 2.0

~E~~F~MOVETO <1>,<2>~f~
<1> x-Position
<2> y-Position~T~
Es wird die Position fr den nchsten Ausdruck auf <1>,<2> eingestellt.

~E~~F~USEPEN <1>,<2>,<3>~f~
<1> Linienart (0 .. 5)
<2> Linienstrke
<3> Farbe (0 .. 15)~T~
Die hier eingestellten Werte werden von den Zeichenbefehlen fr die Rahmen bzw. Linien benutzt. Beispiel:
~E~$DO UsePen 1,5,4
~E~$DO Rectangle 10,10,150,100~T~
Linienart:
~E~  0 - durchgezogen __________
  1 - gestrichelt _ _ _ _ _ _
  2 - gepunktet .............
  3 - Strich-Punkt _._._._._.
  4 - Strich-Punkt-Punkt _.._.._..
  5 - keine Linie~T~
Die Werte 1 bis 5 sind nur bei einer Strichstrke von 1 sinnvoll.

~E~~F~USEBRUSH <1>,<2>~f~
<1> Art des Pinsels (0 .. 8)
<2> Farbe des Pinsels (0 .. 15)~T~
Der Pinsel wird benutzt, um die Grafiken (RECTANGLE, ELLIPSE, etc.) auszufllen. <2> ist die benutzte Farbe,
<1> bezeichnet die Art des Pinsels:
~E~  0 : Transparent (nicht ausgefllt)
  1 : Solid (voll gefllt)
  2 .. 8 : verschiedene Schraffuren:
           2 - waagrecht =====
           3 - senkrecht |||||
           4 - diagonal  \\\\\
           5 - diagonal  /////
           6 - kariert   #####
           7 - diag.kar. XXXXX~T~
Die Schraffur wird in der Farbe <2> ausgefhrt.

~E~~F~TEXTCOLOR <1>,<2>~f~
<1> Vordergrundfarbe (0 .. 15)
<2> Hintergrundfarbe (-1, 0 .. 15)~T~
Die Farben fr die Textausgabe werden festgelegt. Bei -1 als Hintergrundfarbe ist diese transparent,
d.h. der vorhandene Hintergrund wird genommen. Beispiel:
~E~$DO TextColor 7,-1
Hugo was here!
~T~Die Farben: Schwarz,    Blau,     Grn,     Cyan,     Rot,    Violett, Braun, Hellgrau,
               Dunkelgrau, Hellblau, Hellgrn, Hellcyan, Orange, Rosa,    Gelb,  Wei

~E~~F~RECTANGLE <1>,<2>,<3>,<4>~f~
<1>,<2> Linke obere Ecke
<3>,<4> Rechte untere Ecke~T~
Es wird ein Rechteck innerhalb der angegebenen Koordinaten gezeichnet.

~N~~S~Roland G. Hlsmann  -   ~D.xx.xxx~ - ~Z:xx Uhr~             - ~#~ -
$DO LOADBMP      KPROFAN.BMP,120,300
$DO LOADSIZEDBMP PROFAN.BMP,520,10,120,49
$DO MOVETO       0,70
~G~DRUCK-SYSTEM FR ALLE PROGRAMME - 2.0

~E~~F~ELLIPSE <1>,<2>,<3>,<4>~f~
<1>,<2> Linke obere Ecke
<3>,<4> Rechte untere Ecke~T~
Es wird eine Ellipse innerhalb des durch die Koordinaten angegebenen Rechteckes gezeichnet.

~E~~F~LINE <1>,<2>,<3>,<4>~f~
<1>,<2> Startkoordinaten
<3>,<4> Endkoordinaten~T~
Es wird eine Linie zwischen den angegebenen Punkten in der mit USEPEN eingestellten Linienart und Strichstrke gezeichnet.

~E~~F~LINETO <1>,<2>~f~
<1>,<2> Endkoordinaten~T~
Es wird eine Linie vom zuletzt gezeichneten (oder mit MOVETO gesetzten) Punkt zum angegebenen Punkt in der mit USEPEN eingestellten
Linienart und Strichstrke gezeichnet.

~E~~F~USEFONT <1>,<2>,<3>~f~
<1> Fontname
<2> Zeichenhhe - steht hier 0, wird ein Defaultwert fr Breite und Hhe genommen.
<3> Zeichenbreite - steht hier 0, wird ein Defaultwert genommen.~T~
Der Schrift fr die Ausgabe von Text wird festgelegt. Die brigen Schrift-Attribute werden ber die blichen
Steuerzeichen eingestellt. Hiermit lassen sich zustzlich zu den Standard-Schriften alle Schriften einstellen,
die auf dem System vorhanden sind.

~E~~F~ORIENTATION <1>~f~
<1> Ausrichtung der Schrift (in Grad)~T~
Bestimmt den Winkel der Textausgabe. (Funktioniert nur bei True-Type-Fonsts.)
Beliebige Textausrichtungen auf dem Bildschirm und Drucker sind somit mglich!

~N~~S~Roland G. Hlsmann  -   ~D.xx.xxx~ - ~Z:xx Uhr~             - ~#~ -
$DO LOADBMP      KPROFAN.BMP,120,300
$DO LOADSIZEDBMP PROFAN.BMP,520,10,120,49
$DO MOVETO       0,70
~G~DRUCK-SYSTEM FR ALLE PROGRAMME - 2.0

~H~~F~~U~Schriftprobe~f~~u~~T~

~2~~U~Die Schriften im 1fachen Zeilenabstand:~u~
~E~Elite:     ~E~~F~fett~f~, ~K~kursiv~k~, ~U~unterstrichen~u~, ~F~~K~~U~fett kursiv unterstr.~f~~k~~u~
~E~Helvetica: ~H~~F~fett~f~, ~K~kursiv~k~, ~U~unterstrichen~u~, ~F~~K~~U~fett kursiv unterstr.~f~~k~~u~
~E~Courier:   ~C~~F~fett~f~, ~K~kursiv~k~, ~U~unterstrichen~u~, ~F~~K~~U~fett kursiv unterstr.~f~~k~~u~
~E~Gro:      ~G~~F~fett~f~, ~K~kursiv~k~, ~U~unterstrichen~u~, ~F~~K~~U~fett kursiv unterstr.~f~~k~~u~
~E~Schmal:    ~S~~F~fett~f~, ~K~kursiv~k~, ~U~unterstrichen~u~, ~F~~K~~U~fett kursiv unterstr.~f~~k~~u~
~E~Mini:      ~M~~F~fett~f~, ~K~kursiv~k~, ~U~unterstrichen~u~, ~F~~K~~U~fett kursiv unterstr.~f~~k~~u~
~E~TmsRmn:    ~T~~F~fett~f~, ~K~kursiv~k~, ~U~unterstrichen~u~, ~F~~K~~U~fett kursiv unterstr.~f~~k~~u~~1~

~U~Und so sieht der "Quelltext" aus:~u~~M~~=~

+-------------------------------------------------------------------------------------------------------------+
o| ~~H~~~~F~~~~U~~Schriftprobe~~f~~~~u~~~~T~~                                                                          |o
o|                                                                                                         |o
o| ~~2~~~~U~~Die Schriften im 1 Zeilenabstand:~~u~~                                                             |o
o| ~~E~~Elite:     ~~E~~~~F~~fett~~f~~, ~~K~~kursiv~~k~~, ~~U~~unterstrichen~~u~~, ~~F~~~~K~~~~U~~fett kursiv unterstr.~~f~~~~k~~~~u~~ |o
o| ~~E~~Helvetica: ~~H~~~~F~~fett~~f~~, ~~K~~kursiv~~k~~, ~~U~~unterstrichen~~u~~, ~~F~~~~K~~~~U~~fett kursiv unterstr.~~f~~~~k~~~~u~~ |o
o| ~~E~~Courier:   ~~C~~~~F~~fett~~f~~, ~~K~~kursiv~~k~~, ~~U~~unterstrichen~~u~~, ~~F~~~~K~~~~U~~fett kursiv unterstr.~~f~~~~k~~~~u~~ |o
o| ~~E~~Gro:      ~~G~~~~F~~fett~~f~~, ~~K~~kursiv~~k~~, ~~U~~unterstrichen~~u~~, ~~F~~~~K~~~~U~~fett kursiv unterstr.~~f~~~~k~~~~u~~ |o
o| ~~E~~Schmal:    ~~S~~~~F~~fett~~f~~, ~~K~~kursiv~~k~~, ~~U~~unterstrichen~~u~~, ~~F~~~~K~~~~U~~fett kursiv unterstr.~~f~~~~k~~~~u~~ |o
o| ~~E~~Mini:      ~~M~~~~F~~fett~~f~~, ~~K~~kursiv~~k~~, ~~U~~unterstrichen~~u~~, ~~F~~~~K~~~~U~~fett kursiv unterstr.~~f~~~~k~~~~u~~ |o
o| ~~E~~TmsRmn:    ~~T~~~~F~~fett~~f~~, ~~K~~kursiv~~k~~, ~~U~~unterstrichen~~u~~, ~~F~~~~K~~~~U~~fett kursiv unterstr.~~f~~~~k~~~~u~~ |o
o|                                                                                                         |o



~T~Heidelberg, den ~D~ um ~Z~.

~S~Dieses Dokument ist als reiner ANSI-Text erstellt worden. Ausdruck mittels: ~?~

