@ProgrammInfo

KIWI SOFT Dipl. Ing. Joachim Friedrich

Heinrichsglück        5908 Neunkirchen

	Telefon 02735/61248


  Screen Manager V 2.50 30.03.1992



@Neues Fenster
Diese Funktion eröffnet eine neues Window, mit dem eingebenen Namen
unter dem voreingestellten Dateipfad. Diese Datei hat den 
voreingestellten Anhang. Das Window wird mit den unter Festlegungen
getroffen Werten erzeugt, und kann dann beliebig manipuliert werden.
Um dieses Fenster dauerhaft zu speichern, müßen Sie es mit
Datei Speichern Window ablegen.


@Erfasse Fenster
Um ein bestehendes Fenster zur Bearbeitung auf den Bildschirm zu 
bringen, wählen Sie die Funktion Datei Eröffnen.
Alle unter dem voreingestellten Pfad befindlichen Dateien mit dem
gesetzten Dateianhang werden als Pickliste aufgeführt.
Picken Sie das gewünschte Window an und es wird geladen.
Sie können auch mehrere Windows gleichzeitig zur Bearbeitung auf
den Bildschirm holen. In diesem Fall ist das Window mit den 
Randmanipulatoren und dem dopplelten Rand das aktive Window, auf das 
sich alle Aktionen beziehen. Durch anpicken eines Windowrahmens oder 
durch Verschieben oder Scrollen eines Windows wird dieses zum aktuellen
Window erhoben. Sie können auch mit den Tasten F2 und F3 zwischen den
geladenen Fenstern vor und zurück springen.


@Window Löschen
Diese Funktion ermöglich das Löschen eines Windows unter dem 
voreingestellten Datenpfad.


@Fenster in Papierkorb
Wenn Sie das aktuelle Fenster nicht speichern möchten, können
Sie mit dieser Funktion das Window ungespeichert löschen.
Alle Änderungen, die Sie eventuell vorgenommen haben sind 
damit verloren.


@Speichere Window
Diese Funktion speichert den momentanen Inhalt und die eingestellten
Werte des aktiven Windows unter dem gesetzten Namen und Pfad ab.
Danach wird das Window geschlossen. Dieses ist der normale Weg, um die
Bearbeitung eines Windows zu beenden.


@Teste Fenster
Diese Funktion dient zur Überprüfung, ob das Fenster die 
gewünschte Form und den gewünschten Inhalt hat.


@Drucke in Datei
Um eine ASCII Ausgabe eines Windows zu erhalten, kann die Funktion 
ASCII Ausgabe benutzt werden. Dabei wird ein Dateiname erfasst, in
der das Window im ASCII Format abgelegt wird.


@Virtuellbreite
Dieser Wert bestimmt wenn kein Window aktiviert ist, die Breite
des virtuellen Bildschirms bei neuerstellten Windowmasken,
wenn diese als dynamische Windows ausgeführt werden. 
Ist ein Window aktiv, bestimmen Sie damit die Breite des 
virtuellen Bildschirms dieses Windows.


@Virtuellhöhe
Dieser Wert bestimmt wenn kein Window aktiviert ist, die Höhe
des virtuellen Bildschirms bei neuerstellten Windowmasken,
wenn diese als dynamische Windows ausgeführt werden. 
Ist ein Window aktiv, bestimmen Sie damit die Höhe des 
virtuellen Bildschirms dieses Windows.


@Fensterüberschrift
An dieser Stelle können Sie die Überschrift des aktiven
Windows editieren. Geben Sie hier einen Text ein, erscheint
dieser als Überschrift des Windows bei Erstellung.

@Fensterrand
Bestimmen Sie hier den Randtyp des aktiven Fensters. Sie können aus
drei zur Verfügung stehenden Randarten wählen. Bedenken Sie, wenn Sie
ein Fenster ohne Rand anwählen können Sie dieses nicht als dynamisches
Window mit dem Windowmanager manipulieren, da die Manipulatorpunkte 
fehlen.
Ist kein Window aktiv bestimmen Sie die Randart bei neu zu erstellenden
Windows als voreingestellter Wert.

@Editiere Fenster
Wenn Sie ein Window aktiviert haben, der Hardwarecursor muß innerhalb
dieses Windows blinkend, können Sie den Inhalt beliebig editieren.
Wenn Sie ein Window aktivieren möchten, picken Sie den Windowrand an.
Nur das aktivierte Window besitzt die Scrollbalken.
Die Größe und Form jeder Maske können Sie jederzeit beliebig verändern.
Klicken Sie das Window an einer Kante können Sie die Größe verändern,
klicken Sie an einer Leiste können Sie das Window verschieben. Durch
Anklicken an dem Rand wird das Window aktiviert und in den Vordergrund
erhoben. Klicken Sie ein Window an dem linken oberen Punkt wird es gelöscht.
Sie können diese Funktionen auch per Tastatur ausführen. Tippen Sie
Alt+Ctrl+W und Sie schalten in dem Windowmanager. Dann verschieben Sie
das Window mit den Cursortasten, verändern die Größe mit den Cursortasten 
und Shift, und holen es in den Vordergrung mit N. Jede andere Taste 
verläßt den Windowmanager wieder.

Sie können den Cursor entweder mit den Pfeiltasten positionieren, oder 
aber auch durch betätigen der linken Maustaste die Mauscursorposition
übernehmen. An der Cursorposition können Sie beliebige Schreiboperationen
vornehmen. Ist der Cursor als Blockcursor dargestellt ist der Einfügemodus
aktiv. Dann bewirkt eine Betätigung der Returntaste ein Zeileneinfügen.

Der Screenmanager ist mit umfangreichen Blockoperationen ausgestattet.
Sie können einen Block markieren indem Sie  ALT + S betätigen 
und dann die Pfeiltasten benutzen, um den Block zu markieren. Die erste 
Betätigung einer nicht Pfeiltaste beendet die Blockmarkierung.
Mit der Maus brauchen Sie nur die linke Maustaste zu betätigen und bei
gedrückter Taste den Mauscursor zu verschieben, um einen Block zu markieren.
Der markierte Block wird in der Inversen Fensterfarbe dargestellt.

Nach der Markierung eines Blocks können Sie die Blockoperationen benutzen.
Dazu können Sie entweder der Bearbeitungsmenü benutzebn, oder aber
bestimmte Tastensequenzen, die die gleichen Funktionen auslösen.
Die entsprechenden Tastenkombinationen für die Aktionen sind:

Alt + A                 Schalte Invers oder Normal
Alt + R, E oder D       Zeichne eine Box
Alt + L, E oder D       Zeichne eine Linie
Alt + Z                 Wähle ein Zeichen
Alt + U                 Setzte das letzte ausgewählte Zeichen erneut
ALT + S                 Starte Blockerfassung
Alt + D                 Lösche Ausschnitt
Alt + E                 Füge Ausschnitt ein
Alt + K                 Kopiere Ausschnitt
Alt + G                 Bewege Block und Kopiere Inhalt
Alt + J                 Bewege Block und Lösche alte Position 
Alt + H                 Editiere Fensterüberschrift
Alt + P I oder N        Setze Position
Control + Y             Lösche Zeile

Über das Clipboard, in dem alle gelöschten oder kopierten Blöcke
zwischengespeichert werden, können Sie auch Blöcke von einem zu
einem anderen Fenster übertragen.

@Lösche Ausschnitt
Diese Funktion löscht den markierten Block und legt diesen im
Clipboard ab, so das dieser durch einfügen wieder eingeblendet 
werden kann. Wählen Sie nach markieren des Blocks entweder das
Menü Bearbeiten Ausschnitt löschen, oder ALT+W.


@Kopiere Ausschnitt
Diese Funktion kopiert den markierten Block in das Clipboard.
Danach können Sie den Block durch Einfügen an beliebiger Stelle
einblenden. Wählen Sie Bearbeiten Kopieren Ausschnitt oder Alt+K.


@Einfügen Ausschnitt
Diese Funktion kopiert den Inhalt des Clipboards an die aktuelle
Cursorposition, die die linke obere Ecke des Blocks markiert.
Mit dieser Funktion können Sie Blöcke von einem Window zu einem
anderen Window übertragen. Wählen Sie Bearbeiten Einfügen oder ALT+E.


@Bewegen und Löschen
Diese Funktion verschiebt den markierten Block innerhalb des 
Editwindows. Sie können den Block mit der Maus oder den Cursortasten
beliebig verschieben. Mit der Return, oder Leer oder Escapetaste
beenden Sie die Verschiebung und setzen den Block an die momentane
Position. Die rechte Maustaste bewirkt dasselbe.
Der Block wird an seiner alten Position gelöscht.


@Bewegen und Kopieren
Diese Funktion verschiebt den markierten Block innerhalb des 
Editwindows. Sie können den Block mit der Maus oder den Cursortasten
beliebig verschieben. Mit der Return, oder Leer oder Escapetaste
beenden Sie die Verschiebung und setzen den Block an die momentane
Position. Die rechte Maustaste bewirkt dasselbe.
Der Block wird an seiner alten Position beibehalten.


@Zeichne Box
Diese Funktion umrahmt den markierten Blockbereich, nach Auswahl
des Randtyps. Wählen Sie nach markieren des Blocks entweder das
Menü Bearbeiten Rahmen zeichnen oder ALT+R und D oder E an.


@Zeichne Linie
Diese Funktion zeichnet eine Linie innerhalb des markierten Blocks.
Dabei wird die Richtung der längsten Ausdehnung des markierten Blocks
als Linienrichtung benutzt. Das bedeutet, ist die Ausdehnung des Blocks
in waagerechter Richtung größer als in senkrechter Richtung wird die 
Linie an der oberen Kante des Blocks waagerecht verlaufen, anderfalls
an der linken Kante des Blocks in senkrechter Richtung. 
Wählen Sie Bearbeiten Linie oder ALT+L und D oder E.


@Ändere Ausschnittsattribut
Diese Funktion setzt das Attribut innerhalb des markierten Blocks auf
den jeweils anderen wert. Das heist, normale Zeichen werden invers 
dargestellt, inverse werden normal dargestellt.
Wählen Sie Bearbeiten Invers/Normal oder ALT+A.


@Wähle Character
Um einen bestimmten Charakter an der Cursorposition zu
positionieren, wählen Sie die Funktion Zeichen an. 
Aus einem Window können Sie dann aus allen verfügbaren 
Zeichen das gewünschte aussuchen, das an der Cursorposition
dargestellt wird. Wählen Sie altes Zeichen setzen, wird das
zuletzt ausgewählte Zeichen wiederverwendet, ohne erneut aus
dem Feld gewählt zu werden.
 

@Bestimme Eingabeparameter
Mit dieser Funktion können Sie für alle Eingabepositionen die 
Eingabeparameter setzen, die zur Bearbeitung der Daten an der
jeweiligen Position notwendig sind. Bestimmen Sie innerhalb der
Maske die Parameter, brauchen Sie beim Funktionsaufruf keine
weiteren Angaben zu machen, Sie können aber diese Parameter durch 
Angabe eines Formatsstrings überschreiben. Schauen Sie im Handbuch
unter scanf_mask und print_mask.
Sie können die Eingabeparameter in der Reihenfolge ihres Auftretens 
bearbeiten, Sie können aber auch eine bestimmte Eingabeposition mit
der Maus anklicen, um dort gezielte Eingaben zu machen.

Mit der F2 Taste erhalten Sie ein Untermenü, mit dem Sie die Positionen
der einzelnen Parameter verändern können, wenn Sie z.B. eine Position
zufügen oder löschen.


@Variablentyp
In diesem Feld spezifizieren Sie den Datentyp, der an dieser Position
erwartet wird. Zur Verfügung stehen :
 
     S       Strings
     D       Integer
     L       Long Integer
     F       Float
     M       Datum
     T       Time
     B       Boolean
     K       Knopffeld (Button)
     P       Picklistenfeld
     R       Radiobuttonfeld

Sie können einen von diesen Buchstaben als Typbezeichnung benutzen,
wobei die restlichen Eingabefelder in Abhängigkeit des Typs 
eingegeben werden können.

Felder des Typs K (Button) erhalten kein Argument als Funktionsaufruf.
Benutzen Sie den Source den der ScreenManager erzeugt, falls Sie sich 
nicht sicher sind, wie die benötigten Variablen übergeben werden müssen.

Die Option K ist nicht über einen Formatstring verfügbar, sondern nur
über die Typdefinition innerhalb des ScreenManagers.

Felder des Typs P sind Listenfelder. Sie benötigen ein Argument vom 
Typ PICKLISTE. Dieser Typ ist ein in kiwi_inc.h definierter Struct zur
Aufname von Informationen über eine Pickliste. Dieser enthält einen
Char Pointer auf das Itembuffer, einen Counter zur Aufnahme der Anzahl,
die Breite der Items und die Anzahl gleichzeitig anzuzeigender Items, also
die Größe des Listfenster. Es können Pre- und Postfunktionen gesetzt werden.

Felder des Typs R sind Radiobuttons, wobei aus einer Anzahl immer nur eine
Position aktiv sein kann. Diesen Feldtyp sollten Sie für Abfragen nach
z.B. Farben oder ähnliches verwenden. Dabei erstellen Sie die Ausgabe 
mit den Screenmanager und setzen die Eingabeposition auf den ersten Schalter
oben links. Die Schalter können mehrreihig und mehrspaltig sein.
Als Eingaben müssen Sie die Anzahl der möglichen Schalter, die maximale 
Anzahl pro Reihe, den horizontalen und vertikalen Abstand eingeben.
Die Variable vom Typ RADIO enthält den jeweiligen aktiven Schalter beginnend
bei 0 oder -1 wenn kein Schalter aktiv ist.

Die Optionen P,R sind nicht über einen Formatstring verfügbar, sondern nur
über die Typdefinition innerhalb des ScreenManagers.



@Variablenname
Der Variablenname dient zur Identifikation der benutzten Variablen.
Nach der Implementation des Code Generators wird der Name zur
Erzeugung des korrekten Funktionsaufrufs benutzt werden.


@Variablenlänge
Dieser Wert gibt die Feldlänge an. Bei allen Datentypen außer dem
Stringtyp existiert eine Längenvorgabe, die bei keiner Angabe dieses
Feldes automatisch in Kraft tritt. Bei Strings muß die Länge der Ausgabe
angegeben werden, um einen korrekte Ausgabe zu erhalten.


@Nachkommastellen
Dieses Feld wird nur bei Floattypen benutzt, und gibt die Anzahl
der erwünschten Nachkommastelen an.


@Ausrichtung
Dieses Feld dient bei numerischen Typen zur Angabe ob die Ausgabe
des Wertes >R<echtsbündig oder >L<inksbündig erfolgen soll.


@Groß/Klein Buchstaben
Wählen Sie dieses Feld an, werden alle alphanumerischen Eingaben in
diesem Feld automatisch auf Großbuchstaben konvertiert.


@Feldzwang
Dieses Feld gibt an ob bei einer Dateneingabe dieser Wert eingeben werden
muß oder nicht. Bei >J< kann die Maske nicht eher verlassen werden, bis 
dieses Feld mit Return verlassen worden ist. Bei >N< ist diese Vorgabe
außer Kraft. Dieses Feld hat bei Ausgaben keine Wirkung.


@Eingabebegrenzen
Bei numerischen Dateneingaben können Sie die Eingabe des Wertes
begrenzen, indem Sie hier >J< eingeben. Danach können Sie die
Minimal und Maximal Werte der Eingabe editieren. Wenn Sie keine
Begrenzung wünschen geben Sie >N< ein.


@Daueranzeige
Normalfelder werden nur beim Maskenaufbau und nach der Feldeingabe 
dargestellt. Wird in einem Feld nun z. B. die Summe andere Felder
angezeigt ist dieses nicht möglich. Wird das Feld als Daueranzeige gesetzt,
wird der Inhalt dieses Feldes nun nach jeder Feldeingabe aktualisiert.
Dadurch kann z. B. die Summe nach Eingabe jedes Feldes angezeigt werden.
Sind sehr viele Felder als Daueranzeigefelder geschaltet, kann diese zu
Bildschirm flackern, bzw. zu langsamen Maskenhandling führen.


@Eingabegrenzen
Geben Sie hier die Untergrenze und Obergrenze des Wertes ein,
der in diesem Feld eingeben werden soll. Verletzt die Eingabe
einen Grenzwert, so wird die Eingabe entsprechend korrigiert.


@Bolean False
Sie können das Zeichen bestimmen, daß bei Bolean Typen als Logisch
Unwahr eingesetzt werden soll. Bei diesen Typen kann nur entweder das
Zeichen für Unwahr oder Wahr eingeben werden. Alle anderen Zeichen 
werden ignoriert. Wenn Sie zum Beispiel eine J/N Abfrage erhalten
möchten, setzen Sie FALSE auf N und TRUE auf J. Bei R/L Abfragen 
setzen Sie FALSE auf auf R und TRUE auf L usw.


@Bolean True
Sie können das Zeichen bestimmen, daß bei Bolean Typen als Logisch
Wahr eingesetzt werden soll. Bei diesen Typen kann nur entweder das
Zeichen für Unwahr oder Wahr eingeben werden. Alle anderen Zeichen 
werden ignoriert. Wenn Sie zum Beispiel eine J/N Abfrage erhalten
möchten, setzen Sie FALSE auf N und TRUE auf J. Bei R/L Abfragen 
setzen Sie FALSE auf auf R und TRUE auf L usw.


@Prefunktion
An dieser Stelle geben Sie den Identifikationsnamen eines Eintrags in
der Procedure Table ein. Die dort hinterlegte Funktion wird dann vor 
Editierung des Datenwertes aufgerufen. Stellen Sie sicher, das die 
hinterlegte Funktion innerhalb des Programms vorhanden ist und einen
Zeiger auf einen Struct vom Typ inter_func_com aufnimmt.
Sie können über diese Struktur, die in kiwiwin.h definiert ist, 
auf den Datenwert, das Eingabewindow, die Eingabenummer und damit
auf alle Eingabeparameter zugreifen, um z.B. die Eingabegrenzen 
dynamisch zu verändern.


@Postfunktion
An dieser Stelle geben Sie den Identifikationsnamen eines Eintrags in
der Procedure Table ein. Die dort hinterlegte Funktion wird dann nach 
Editierung des Datenwertes aufgerufen. Stellen Sie sicher, das die 
hinterlegte Funktion innerhalb des Programms vorhanden ist und einen
Zeiger auf einen Struct vom Typ inter_func_com aufnimmt.
Sie können über diese Struktur, die in kiwiwin.h definiert ist, 
auf den Datenwert, das Eingabewindow, die Eingabenummer und damit
auf alle Eingabeparameter zugreifen, um z.B. die Eingabe direkt zu
auf Gültigkeit testen.


@Hilfetext
Sie können für jedes Feld einen Hilfetext setzen, der während
der Dateneingabe dieses Feldes als aktueller Hilfebegriff
festgelegt wird. Fordert der Benutzer die Hilfe an, wird die
aktuelle Hilfedatei nach diesem Begriff durchsucht.


@Eingabefeld
Dieser Wert gibt an, ob in diesem Feld eine Eingabe vorgenommen werden
soll, oder der betreffende Wert nur ausgegeben werden soll. Mit dieser
Einstellung können Sie Ausgaben und Eingaben in einem Aufruf von scanf_mask
erledigen. Dieser Wert hat keinen Einfluß auf print_mask, da dort nur
Ausgaben erzeugt werden.

@Festlegungen
Alle Programmparameter werden in einer Datei SM.FST im aktuellen 
Verzeichnis gespeichert. Ist diese Datei nicht vorhanden, treten 
voreingestellte Werte in Kraft. Bitte überprüfen Sie ob diese
Voreinstellungen Ihren Wünschen entsprechen. 
Wählen Sie die Festlegungen an, so erscheint eine Maske in Sie einige
Parameter ändern können. Mit der Tab Taste gelangen Sie von einem Feld 
zum andern. Sie können aber auch mit der Maus direkt auf einen Punkt
klicken, um Ihn zu aktivieren. Am unteren Rand sehen Sie einige Schalter,
bei deren Betätigung weitere Festlegungen vorgenommen werden können.
Betätigen Sie den Schalter Speichern, werden alle Änderungen abgespeichert,
und sind beim nächsten Aufruf aktuell vorhanden. 

@Fensterschatten
Sie können Die Windows mit oder ohne Schatten erzeugen. Setzen Sie
die Einstellung Ihrer Wahl.

@Bildschirmrand
Sie können den Bildschirmrand, der normalerweise nicht benutzt wird,
bei entsprechender Hardwareausrüstung einfärben, dies ermöglicht ein
besseres Gesamtbild. Dazu haben Sie die Auswahl zwischen allen ver-
fügbaren Farben. Sie können den Rand abschalten indem Sie SCHWARZ als
Farbe wählen.

@Farbtabellen
In dem Menüpunkt Farbtabellen, können Sie die normale und inverse
Schriftdarstellung aus den dargestellten Farbkombinationen auswählen.
Es sind 5 sogenannte Farbpaletten vorhanden, die den Bildschirmaufbau
in den verschiedenen Programmebenen unterschiedlich farblich gestalten
lassen.

@Hintergrundzeichen
Sie können den Bildschirmhintergruns aus einer Liste mit verschiedenen 
Mustern frei wählen. Setzen Sie die Einstellung Ihrer Wahl, und starten
Sie das Programm neu, da diese Option erst beim nächsten Start aktiv ist.

@SAA Manipulation
Sie können das Aussehen der Scrollbars frei wählen, Dazu haben Sie
zwei verschiedene Modi zur Verfügung. Testen Sie beide uns entscheiden
Sie sich für den Modus Ihrer Wahl.

@Druckausgabegerät
Wählen Sie das gewünschte druckausgabegerät aus der Liste.

@Buttontext
Wählen Sie den Text, der als Buttonknopftext in der Maske erscheinen soll.
Wollen Sie z.B. eine Knopf als Hilfe, geben Sie als Buttontext HILFE ein. 

Wenn Sie mehrere Knöpfe innerhalb einer Maske verwenden, können Sie die
unterschiedlichen Längen der einzelnen Knopftexte mit Leerzeichen 
ausgleichen. 

@Tastencode
Jeder Buttonknopf kann eine Tastenkombination erzeugen. An diese Stelle
können Sie den Tastencode eingeben, der bei Auslösen des Buttons erzeugt 
werden soll. Benutzen Sie Sondertasten, können Sie nach betätigen der 
F2 Taste die Tastenkombination eintippen, die erzeugt werden soll, anstatt
die Tastenkombination als Zahl einzugeben.

@Buttonfunktion
Jeder Button kann eine Funktion ausführen. Die Funktion muß in der
Procedure Table hinterlegt sein. Die Konventionen gelten genauso wie
für Pre- oder Postfunktionen bei normalen Eingabefeldern.

@Anzahl Schalter
Geben Sie an diese Stelle die Anzahl der Schalter dieses Radiobuttonfeldes ein.
Die Anzahl ist die Menge aller möglichen Schalter. 

@Anzahl pro Reihe
Sie können die Radiobuttons auch mehrreihig anordnen. Wenn Sie das wollen,
geben Sie bitte die maximale Anzahl Schalter in einer Reihe ein. Bei mehreren
Reihen muß diese Anzahl kleiner als die Gesamtanzahl Schalter sein.

@Vertikalabstand
Sie können die Schalter direkt untereinander anordnen, oder mit einer oder
mehreren Reihen Abstand. Geben Sie hier bitte die Anzahl der Leerreihen ein.
Wenn keine Abständer erwünscht sind geben Sie bitte 0 ein.

@Horizontalabstand
Wenn Ihre Anordnung mehrreihig sein sollte müssen Sie die Anzahl der Spalten,
die zwischen den einzelnen Eingabereihen bestehen hier eingeben. Eventuell 
müssen Sie diese Zählen.

@KeyChar
Wählen Sie den Buchstaben, der als HotKey den Button aktiviert. 
0 ist der erste Buchstabe, 1 der zweite Buchstabe des Wortes usw.
Achten Sie darauf, keine Buchstaben doppelt zu vergeben, da es sonst
zu Überlagerungen kommen kann.

@Schalterform
Sie haben die möglichkeit, die Schalterform frei zu bestimmen. Zur 
Verfügung stehen drei verschiedene Formen. Die KIWI Soft Form besteht aus
einem Rechteckigen Kasten mit Rand, die Borland (TM) Form besteht aus einer
einzigen Zeile, die Microsoft (TM) Form besteht aus einer Zeile mit Text
in Klammern. Wählen Sie die gewünschte Bauform aus, indem Sie die gewünschte
Zeile aktivieren. Die Änderung tritt sofort nach Abspeichern in Kraft.

@Schalterschatten
Die Schalter können mit einem Schatten versehen werden, so das diese einen
3 dimensionalen Character erhalten. Dadurch wird das Erscheinungsbild insgesamt
verbessert. Beim Betätigen eines Schalters wird dann der Eindruck der Bewegung 
erzeugt. Wollen Sie diesen Effekt nicht, schalten Sie ihn einfach ab.

@Schalterklicken
Sie können beim Betätigen und beim Lösen eines Schalters einen Ton erzeugen
lassen. Frequenz und Zeitdauer können Sie jeweils bestimmen. Wollen Sie 
keinen Ton erzeugen, schalten Sie die Option ab. Die Angaben über Frequenz
und Zeitdauer werden dann ignoriert. Wenn die Option <Mit warnton> 
abgeschaltet ist, wird ebenfalls kein Ton erzeugt.

@Einschaltfrequenz
Dieser Wert bestimmt die Frequenz des Einschaltklicks eines Schalters. 
Zusammen mit der Zeitdauer können Sie so die Charakteristik dieses Tons
individuell gestalten. Die Werte sollten zwischen 50 und 400 Hertz liegen.

@Einschaltdauer
Dieser Wert bestimmt die Dauer des Einschaltklicks eines Schalters.
Zusammen mit der Zeitdauer können Sie so die Charakteristik dieses Tons
individuell gestalten. Die Werte sollten zwischen 2 und 10 Hunderstel 
Sekunden liegen. Längere Werte führen zu einer nervenden Geräuschkulisse.

@Ausschaltfrequenz
Dieser Wert bestimmt die Frequenz des Ausschaltklicks eines Schalters. 
Zusammen mit der Zeitdauer können Sie so die Charakteristik dieses Tons
individuell gestalten. Die Werte sollten zwischen 50 und 400 Hertz liegen.

@Ausschaltdauer
Dieser Wert bestimmt die Dauer des Ausschaltklicks eines Schalters.
Zusammen mit der Zeitdauer können Sie so die Charakteristik dieses Tons
individuell gestalten. Die Werte sollten zwischen 2 und 10 Hunderstel 
Sekunden liegen. Längere Werte führen zu einer nervenden Geräuschkulisse.

@Bildschirmgröße
Sie können den Screenmanager in jedem verfügbaren Textmodus 
benutzen, um z.B. große Fenster in 132x88 Darstellung bearbeiten 
zu können. Setzen Sie den gewünschten Bildschirmmodus fest, und der
Bildschirm wird wenn möglich in diesem Modus versetzt. Ein Umschalten von
Farb- nach Schwarz-Weiß Darstellungen und umgekehrt ist nur nach Neustart
des Programms möglich. Bei Neustart des Programms schaltet der Screenmanager
automatisch in diesen Bildschirmodus. 

@Bildschirmzugriff
Normalerweise erfolgen alle Ausgaben des Programms auf den Bildschirm 
im direkten Zugriff. Das bedeutet den schnellstmöglichen Bildschirmaufbau.
Es können aber bei bestimmten Rechnern dabei Probleme auftreten, die Sie
durch Umschaltung auf den BIOS Mode umgehen können. Der Bildschirmaufbau
wird dadurch wesentlich verlangsamt, aber dieser Modus funktioniert bei
jeder Hardware und jeder Softwarekonfiguration, da er das Betriebssystem 
benutzt.

@Menüposition
Sie können alle Dialogmeldungen und Submenüs entweder an der vorgesehen
Stelle plaziert haben, oder aber an der jeweiligen Mauscursorposition.
Das ersparrt unter Umständen längere Fahrwege mit der Maus.

@Menüart
Sie können die Art und Weise, wie die Hauptmenüs und Submenüs angesteuert
werden beeinflußen. Wählen Sie Pop Up Menüs springen die Untermenüs auf
wenn der Mauscursor auf die Menüleiste kommt. Bei Pull Down Menüs müßen
Sie zusätzlich die linke Maustaste betätigen und gedrückt lassen. Bei 
Doppelklick müßen Sie die Taste betätigen und wieder loslassen. Die Submenü-
auswahl wird dann durch erneuten Anklinken betätigt.

@Mausmodus
Die Benutzung dieses Programms ist sehr start Mausorientiert, da die
Maus eine wesentlich leichtere Bedienung ermöglicht. Einige wenige
Funktion sind nur durch eine Maus verfügbar. Die meistens Funktionen
sind auch durch Tastenkombinationen verfügbar. Haben Sie keine Maus
wird die Mausbedienung automatisch unterdrückt. Haben Sie eine Maus aber
Sie wollen diese nicht benutzen, können Sie diese mit der angewählten
Funktionen Mausmodus abschalten, oder auch wieder anschalten.

@Mausbedienung
Sie können die Maus für einen Rechtshänder oder für einen Linkshänder 
schalten. Bei dem Linkshandmodus werden die linke und rechte Maustaste 
vertauscht. Bedenken Sie, das die jeweils "rechte" Maustaste einer
Betätigung der Escapetaste gleichkommt.

@Warnton
Bei unerlaubten Operationen ertönt eine akkustische Warnung. Geht Ihnen
diese auf den "Wecker", können Sie diese Warnung abschalten.

@Druckertyp
Sie können zwischen zwischen der Einstellung Nadeldrucker und Laser-
drucker wählen. 
Die Einstellung Nadeldrucker steht auch für Tintenstrahldrucker (z.B.
HP Desk Jet).
Die Einstellung Laserdrucker steht für alle Laserdrucker mit HP Laser-
Jet II Emulation.

@Druckeranschluß
Wählen Sie den logischen Druckausgang für Druckausgaben. Wenn Sie sich nicht
sicher sind, wählen Sie die Option STDPRN. Damit wird der Standarddrucker
ihres Systems angesprochen.

@Initialisieren
Initialisieren
Sie können Steuersequenzen vor dem Ausdruck an Ihren Drucker senden,
um eine bestimmte Schriftart einzustellen.
Reinitialisieren
Die Zurücksetzung in den Standardmodus, nach dem Druck, erreichen Sie
mit der Steuersequenz für die Reinitialisierung.

Die Steuerzeichen müssen im ASCII-Code eingegeben werden und durch
Kommata getrennt sein (z.B. ESC n = 27, 110).

@Reinitialisieren
Initialisieren
Sie können Steuersequenzen vor dem Ausdruck an Ihren Drucker senden,
um eine bestimmte Schriftart einzustellen.
Reinitialisieren
Die Zurücksetzung in den Standardmodus, nach dem Druck, erreichen Sie
mit der Steuersequenz für die Reinitialisierung.

Die Steuerzeichen müssen im ASCII-Code eingegeben werden und durch
Kommata getrennt sein (z.B. ESC n = 27, 110).

@Linker Rand
Geben Sie die Breite des linken Druckrandes in Zeichen ein. Bei einer
Eingabe von 0 wird der Text linksbündig am Papierrand ausgedruckt,
größere Werte bewirken einen entsprechend breiten linken Rand.
Die richtige Einstellung hängt von der am Drucker eingestellten
Schriftart ab. Der realistische Wertebereich liegt zwischen 0 und 
5 Zeichen.

@Dateidruckpfad
Sie können einen Datenpfad eingeben der bei Ausgaben in eine Datei vor-
geschlagen wird. Sie ersparen sich bei gleichbleibendem Pfad, dadurch
die entsprechende Eingabe (z.B.: C:\WORD\).

Ist kein Datenpfad angegeben wird das aktuelle Programmverzeichnis ge-
wählt.

@Seitenlänge
Geben Sie die Anzahl der Zeilen pro Zeile, die Ihr Drucker bzw. Papier
schafft. Nach Ausdruck der Zeilenanzahl wird ein Seitenvorschub eingefügt.

@Fensteröffnungsmodus
Die Fenster können nach zwei Verschiedenen Verfahren aufklappen. Einmal der
normale Modus, indem das Fenster in voller Breite erscheint und dann nach 
oben und wächst. Der zweite Modus wächst erst in der Breite und dann in die
Höhe. Wählen Sie selbst aus, welches Verfahren Ihnen besser gefällt.

@Fensterverzögerung
Mittels diesem Faktor können Sie die Geschwindigkeit, mit der die Fenster
geöffnet werden beeinflußen. Dabei gilt, je kleiner der Faktor, desto 
langsamer öffnet das Fenster. Ab ca 50 hat dieser Faktor keinen Einfluß mehr.

@Dateipfad
Der Dateipfad bestimmt das aktuelle Arbeitsverzeichnis.
Alle Dateioperationen beziehen sich auf dieses Verzeichnis.

@Heimpfad
Der Heimpfad gibt an, wo die Zusatzdateien des Screenmanagers zu
finden sind. Dies gilt z.B. für die Hilfe und Fehlermeldungsdatei.
Durch Angabe dieses Pfads kann der Screenmanager in einem allgemein
zugänglichen Pfad installt werden und hat überall Zugriff auf
diese Dateien.

@Dateianhang
Der Dateianhang wird an eingebene Windownamen angehangen, und kann
beliebig gewählt werden, um eventuelle Unterscheidungen zu treffen.
Der Anhang ist wichtig bei Dateierfassen, da nur Dateien mit diesem
Anhang zur Azswahl aufgelistet werden. Bei neuen Windows wird der
aktuelle Anhang an den Namen angehängt.

@Dateierfassungsfenster
Je nach Anzahl der zu erfassenden Masken, kann die Dateierfassung mit
der Pickliste umständlich sein. Dann können Sie auf Feld umschalten,
bei dem die Dateierfassung in einem größeren Window erfolgt. 










@Codegenerierung
Der Screenmanager ist ab 12.11.1990 mit einer Codegenerierungsfunktion
ausgestattet. Diese Funktion erzeugt den notwendigen Sourcecode, um
das bearbeitete Window aufzurufen und die I/O Operation durchzuführen.
Sie können wählen, ob Sie Code für die Funktion print_mask oder 
für scanf_mask oder für beide erhalten. Die Datei, die den erzeugten
Code enthält, hat den gleichen Namen wie das Window, aber die
Endung .SMC. Beachten Sie bitte, das der Code nur dann komplett
erzeugt werden kann, wenn alle Informationen über die entsprechenden
Variablen bekannt sind. Tragen Sie also bitte in die Eingabeparameter
alle notwendigen Daten ein.


@Codeart
Diese Option beeinflußt das Aussehen des erzeugten Codes. Sie
können wählen, ob die Kommentarzeilen entfernt werden, oder ob
die Ladefunktion mit den kompletten Suchpfad, also absolut, 
ausgeführt werden soll.


@Kontrolldatei
Der ScreenManager kann über jede bearbeitete Maske eine Kontrolldatei
führen, in der alle Maskenrelevaten Daten festgehalten werden. Diese
Datei wird bei jeder Änderung der Maske aktualisiert, wodurch eine
lückenlose Dokumentierung des Evulotionsprozesses der Maske möglich wird.
Die Kontrolldatei hat den gleichen Namen wie die Maske, jedoch SMK als
Endung.


@Autosave
Der Screenmanager kann während der Betriebszeit alle offenen Masken
in bestimmten Zeitabständen sichern, um so etwaigen Datenverlusten durch
Fehlefunktionen der Software oder der Hardware zuvor zukommen.
Dazu wählen Sie einfach die Option Optionen, Autosave und geben
die Zeit zwischen zwei Sicherungen in Minuten ein. Wollen Sie keine
Sicherung durchführen, geben Sie einfach 0 ein. Die Sicherungen werden
in speziellen Dateien mit dem Anhang .BAK  gespeichert. Während der 
Sicherung werden alle Windows in den Vordergrund geholt, also nicht
erschrecken.

@Fenstervoreinstellungshöhe
Dieser Wert gibt die Höhe des virtuellen Bildschirms an, der bei neuen
Fenstern von Typ Dynamisch automatisch angewendet wird. Sie können diesen
Wert für jedes Fenster einzeln bestimmen. Dieser Wert bestimmt aber die
maximale Arbeitsfläche, die ihnen in der Höhe zur Verfügung steht.

@Fenstervoreinstellungsbreite
Dieser Wert gibt die Breite des virtuellen Bildschirms an, der bei neuen
Fenstern von Typ Dynamisch automatisch angewendet wird. Sie können diesen
Wert für jedes Fenster einzeln bestimmen. Dieser Wert bestimmt aber die
maximale Arbeitsfläche, die ihnen in der Breite zur Verfügung steht.

@Fenstervoreinstellungsrand
Wählen Sie hier, welchen Rand ihres neuen Fenster erhalten sollen.
Sie können diesen Wert für jedes Fenster einzeln bestimmen.

@Fenstervoreinstellungstyp
Wählen Sie hier, welcher Typ für Ihre neuen Fenster benutzt werden soll.
Sie können diesen Wert für jedes Fenster einzeln bestimmen.

@Codegenerierung Print_mask
Wenn diese Option aktiv ist, wird der notwendige Sourcecode für den
Aufruf der Funktion print_mask erzeugt. Der Source wird in einer Datei
abgelegt wird, die den Maskennamen mit der Endung .smc erhält.

@Codegenerierung Scanf_mask
Wenn diese Option aktiv ist, wird der notwendige Sourcecode für den
Aufruf der Funktion scanf_mask erzeugt. Der Source wird in einer Datei
abgelegt wird, die den Maskennamen mit der Endung .smc erhält.

@Codegenerierung Prototypen
Wenn diese Option aktiv ist, wird der notwendige Sourcecode für die
Erzeugung von Prototypen für Pre und Postfunktionen, die innerhalb 
dieser Maske aufgerufen werden, erzeugt.

@Codegenerierung Hilfstextind
Wenn diese Option aktiv ist, wird der notwendige Sourcecode für die
Erzeugung von Hilfstextindexaufrufen für alle Hilfstexte, die innerhalb 
dieser Maske aufgerufen werden, erzeugt.

@Codegenerierung Kontrolldatei
Wenn diese Option aktiv ist, werden alle Informationen dieser Maske
in einer Datei zur Protokollierung gespeichert. Die Datei erhält den
Maskennamen mit der Endung .smc erhält. Alle Änderungen werden in dieser
datei abgerlegt, so daß man eine lückenlose Historie der Maske erhält.

@Absolute Pfadnamen
Wenn diese Option aktiv ist, wird der notwendige Sourcecode für den
Aufruf von absoluten Pfadnamen erzeugt.

@Kommentare
Wenn diese Option aktiv ist, wird der notwendige Sourcecode für alle
notwendigen Kommentare erzeugt. dadurch ist eine Kontrolle des Aufrufs
von Funktionen einfacher nachvollziehbar.




