home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
basic
/
tools
/
basicwi
/
hilfe.txt
next >
Wrap
Text File
|
1993-07-28
|
43KB
|
1,192 lines
****************************************************************
* *
* B A S I C - W I N D O W *
* *
* Maskengenerator für *
* *
* MS Basic, MS Quick Basic, Turbo Basic, Power Basic *
* *
****************************************************************
Version 4.0
(c) 1989-1992, Ebnet Software
D - 8000 München 70 , Passauerstrasse 2 b, Tel. 089/7698755
1 Sharewarekonzept
-------------------
Das Programm BASIC-WINDOW ist urheberrechtlich geschützt. Zu
Prüfzwecken darf die vorliegende Programmversion jedoch frei
verwendet, kopiert und weitergegeben werden.
Bitte machen Sie Gebrauch davon und geben Sie das Programm an
Freunde, Bekannte etc. weiter.
Falls Sie nach Prüfung von BASIC-WINDOW weiterhin damit arbeiten
möchten, bitte ich Sie sich als registrierter Anwender eintragen
zu lassen. Für eine Registrierungsgebühr von DM 85.-- erhalten
Sie die folgenden Leistungen
- Nutzungsrecht für BASIC-WINDOW
- Zusendung der Vollversion von BASIC-WINDOW
- Anwenderunterstützung
- Updateservice für künftige Programmversionen zum Vorzugs-
preis von nur DM 45,--
- ein umfangreiches Benutzerhandbuch
- eine steuerlich abzugsfähige Rechnung
Nur durch Ihr faires Verhalten wird es möglich sein BASIC-WINDOW
nach Ihren Wünschen weiterzuentwickeln.
Es wird Ihnen die Möglichkeit gegeben, das Programm zu testen
und auf seine Verwendungsmöglichkeit hin zu prüfen, bevor Sie
sich bei Gefallen als registrierter Anwender eintragen lassen.
Das Registrierungsformular ist in der Datei REGIST.FOR enthalten
und kann per DOS-Befehl PRINT ausgedruckt werden.
Die Prüfversion ist eine vollständige Programmversion und keine
Demoversion. BASIC-WINDOW steht im vollen Funktionsumfang
zur Verfügung.
In der Ihnen vorliegenden Sharewareversion wird bei Ausgabe eines
jeden Formates ein Copyrighthinweis ausgegeben.
2 Formatgenerator UniForm
-------------------------
Für die interaktive Generierung der Bildschirmformate für den Einsatz
mit BASIC-WINDOW wird der universelle Formatgenerator UniForm V4.0
mit ausgeliefert.
UniForm ist ein universelles Formatgenerierungssystem für den Einsatz in
allen gängigen Compilern. Das Gesamtpaket mit Treiberprogrammen für alle
genannten Compiler erhalten Sie zum Preis von DM 169.--.
Die unten genannten Produkte sind Teilkomponenten von UniForm.
Jedes der Teilprodukte erhalten Sie zum Preis von DM 85.--.
C-WINDOW MS C, MS Quick C, Turbo C, Turbo C++
BASIC-WINDOW MS Basic, MS Quick Basic, Turbo Basic, Power Basic
PASCAL-WINDOW MS Pascal, MS Quick Pascal, Turbo Pascal
COBOL-WINDOW MS Cobol, MF VS Cobol, MF Professinal Cobol,
MF Cobol/2
ASSEMBLER-WINDOW MS Assembler, MS Quick Assembler, Turbo Assembler
FORTRAN-WINDOW MS Fortran
CLIPPER-WINDOW Clipper V5.01
Im folgenden werden nur die Komponenten von BASIC-WINDOW beschreiben.
Inhaltsverzeichnis
1 Warum UniForm
2 Und so wirds gemacht
3 Ein einfaches Beispiel
4 Inbetriebnahme
4.1 Systemanforderungen
4.2 Disketteninhalt
4.3 Installation
5 Formatgenerierung (nur in Vollversion)
6 Formataufruf
6.1 Ablaufschema
6.1.1 Programmsource
6.1.1.1 Bereitstellen Standard-Include-Datei
6.1.1.2 Bereitstellen Include-Datei für variable Felder
6.1.1.3 Maussteuerung
6.1.1.4 Bereitstellen Include-Datei für Formatlayout
6.1.1.5 Versorgen Übergabeparameter
6.1.1.6 Aufruf Treiberprogramm UNIF
6.1.1.7 Auswerten Returnfeld
6.1.2 Compilieren/ Linken
6.1.3 Programmausführung
6.1.4 Schattenfunktion
6.1.5 Dynamische Attributmodifikation
6.2 Ablauf Compilerspezifisch
6.2.1 Ablauf in MS Basic/ MS Quick Basic
6.2.2 Ablauf in Turbo Basic/ Power Basic
7 Ablauf im Beispiel
8 Beispiel für "dynamische Attributmodifikation"
9 Beispiel für "Menüauswahl"
A1 Cursorsteuerung
1 Warum UniForm
Komfortabele Benutzeroberflächen sind heutzutage schlichtweg zum
MUSS geworden. Doch die Programmierung von Masken, Menüs, Fen-
stern und dergleichen ist relativ kompliziert und zeitaufwendig.
Zudem sollten solche zeitkritischen Routinen in schnellem
Assemblercoding realisiert werden. Kurzum - viele Gründe
sprechen dafür geignete Hilfsmittel zu verwenden.
Die Softwareindustrie bietet für jeden Compiler dutzende
sogenannter Toolboxen an. Der Programmierer hat es bei der
Auswahl schwer. Das letztendlich gewählte Produkt stellt sich
nicht selten als schwierig in der Handhabung heraus oder bietet
nicht den Funktionsumfang, der für eine schnelle und komfortable
Formatintegration in sein Programm unabdingbar ist. In jedem
Fall aber ist die Anwendung auf eine Programmiersprache, oft gar
auf einen bestimmten Compiler begrenzt.
UniForm als universelles Formatierungssystem macht endgültig
Schluß mit diesem Dilemna. Das System ist sehr leistungsfähig
aber dennoch praktisch ohne Einarbeitung bedienbar.
UniForm generiert für jedes generierte Format automatisch ein
einfaches Sourcebeispiel für den Einsatz in der augenblicklich
gewählten Programmiersprache. Selbst Programmierneulinge erreichen
somit innerhalb weniger Minuten erste beeindruckende Ergebnisse!
Durch seine universelle Programmschnittstelle ist der
Formateinsatz in allen gängigen Compilern realisiert. Das sind
im einzelnen...
- Microsoft C - Microsoft Pascal
- Microsoft Quick C - Microsoft Quick Pascal
- Turbo C - Turbo Pascal
- Turbo C++ - Microsoft Assembler
- Microsoft Basic - Microsoft Quick Assembler
- Microsoft Quick Basic - Turbo Assembler
- Turbo Basic - Microsoft Cobol
- Power Basic - VS Cobol
- Microsoft Fortran - Cobol/2
- Clipper - Professional Cobol
Bei einem eventuellen Umstieg auf einen anderen Compiler oder
gar auf eine andere Programmiersprache sind vorhandene Formate
sofort wieder verfügbar.
UniForm bietet eine vollständige Lösung von der
Formatgenerierung bis zum Formateinsatz und zeichnet sich
darüberhinaus durch ein breites Funktionsspektrum aus, deren
wesentliche Aspekte an dieser Stelle in einer kurzen Übersicht
einen ersten Eindruck über die Leistungsfähigkeit vermitteln
soll.
Formatgenerierung
- Interaktive maskengesteuerte Formatgenerierung
- Mausunterstützung bei der Formaterstellung
- Umfangreiche Editierfunktionen
- Alphanumerische-, Ganzzahl- und Dezimalfelder
- Ein-und Ausgabefelder (nur dem Programm zugänglich)
- Menüfelder(als"Menu-Items" in Funktions-Auswahlmenüs)
- Frei wählbare Feld-, Text-, Schatten- und Rahmenattribute
- Umfangreiche Formatverwaltungsfunktionen
- Integriertes Hilfesystem
Formataufruf im Programm
- Formataufruf mit nur einem Funktionsaufruf
- Formateinsatz in allen gängigen Programmiersprachen
- Automatische Generierung eines Sourcebeispieles
- Fenstertechnik, Menüs, Popups, Pulldowns ...
- Dynamische Attribute für Felder, Text, Rahmen und Schatten
- Mausunterstützung im Programm
- Funktionsauswahl über Maus, Funktionstasten und Buchstaben
- Unterstützung aller gängigen Grafikkarten
2 Und So wirds gemacht
Das Konzept von UniForm ist in zwei Verarbeitungsschrittenreali-
siert. Im ersten Schritt erstellen Sie Ihre Formate interaktiv
mit dem UniForm-Formatgenerator. Im zweiten Verarbeitungsschritt
bringen Sie die automatisch generierten INCLUDE-Dateien für
das Formatlayout und die variablen Felder in Ihren Sourcecode ein
und binden das Programm zusammen mit dem entsprechenden
(vom eingesetzten Compiler abhängig) UniForm-Treibermodul.
2.1 Formate generieren
Optionen einstellen
- Compiler, mit dem Sie arbeiten möchten
- Verzeichnis, in dem UniForm alle Dateien ablegen soll
- Feldkennzeichen für die Definition variabler Felder
- Standardattribute für variable Felder, Text und Rahmen
- Formatkennzeichen einstellen
- Formatname
- Formatdimension
Formatlayout editieren
- fester Text im Format
- wahlweise einen einfachen oder dicken Rahmen
- wahlweise variable Eingabefelder oder Ausgabefelder
Format- und Feldattribute und Feldnamen modifizieren
- wahlweise verändern der Standardfeldnamen für variable Felder
- wahlweise verändern der Feldfarben
- wahlweise verändern der Text- und/oder Rahmenfarbe
2.2 Programme mit Formaten erstellen
Anpassen Programmsource
- mit Standard-Include Datei für Ihren Compiler
- mit Include-Datei für variable Felder (von UniFormgeneriert)
- mit Include-Datei für das Formatlayout (von UniFormgeneriert)
- mit UniForm-Funktionsaufruf mit entsprechender
Parameterübergabe
Programmegenerierung
- übersetzen Sourcecode wie gehabt
- Linken mit dem entsprechenden UniForm-Treibermodul
3 Ein einfaches Beispiel
Frau Mary Mustermann bekommt den Auftrag eintreffende Waren in
einer kleinen Datenbank zu verwalten. Frau Mustermann verwendet
UniForm für die Generierung und Einbindung einer Eingabemaske in
Ihr Projekt, das Sie mit dem Turbo Basic Compiler von Borland
realisieren will.
Formatgenerierung
Als erstes definiert Sie im Menü <Optionen> die gewünschte
Voreinstellung...
- Compiler Turbo Basic
- Verzeichnis C:\muster
- Feldkennzeichen
für Eingabefeld alphanumerisch !
für Eingabefeld numerisch "
- Standardattribute
für Eingabefeld alphanumerisch Hellweiss auf Schwarz
für Eingabefeld numerisch Hellweiss auf Schwarz
für Text Schwarz auf Weiss
für Rahmen Schwarz auf Weiss
Als nächstes wählt Sie im Menü <Bearbeiten> die Funktion <Format
neu> und definiert in den Folgemasken den Formatnamen mit
"order" und die Formatgröße mit Zeile 3 - 18 und Spalte 5 - 70.
Frau Mustermann sieht sich einem leeren Format in den gewählten
Attributeinstellungen für Text und Rahmen gegenüber. Sie
editiert das Formatlayout durch Tastatureingabe, den Cursor
positioniert Sie über die Maus oder die entsprechenden Cursor-
Richtungstasten. Funktionen wie Linien ziehen, Rechtecke
zeichnen, Zeilen bzw. Spalten löschen oder den Rahmen wahlweise
ein- oder auszuschalten beschleunigen die Formaterstellung
erheblich. Die variablen Felder definiert Sie durch Eingabe der
festgelegten Feldkennzeichen in der gewünschten Feldlänge oder
alternativ durch Die Funktion <Felddefinition> (F5). Die Edi-
tierfunktionen blendet Sie im Bedarfsfall mit F9 ein um sich mit
den wichtigsten Editierfunktionen vertraut zu machen.
Frau Mustermann sichert Ihr Format duch Eingabe von <F1>. Im
Verarbeitungsschritt <Feldnamen/ Attribute> modifiziert Sie
schließlich die von UniForm automatisch vergebenen Standard-
Feldnamen (fld0 bis fld5) in "product", "orderdate", "nr",
"quantity" und "price. Von der Möglichkeit die Farben für Ihre
Felder oder für Text und Rahmen zu modifizieren macht Sie keinen
Gebrauch. Sie sichert das Format mit <F1>.
Der Formatgenerator zeigt im Format <Generierung> die erstellten
Dateien an, die im eingestellten Verzeichnis abgelegtwerden.und
im Menü <Ansicht> angezeigt werden können...
- order.bld enthält Formatdatei für Formatgenerator
- order.inc enthält die variablen Felder
- order.pro enthält das Formatlayout
- order.smp enthält ein Sourcebeispiel
- order.att enthält Informationen über Attribute
Programmgenerierung
Frau Mustermann ergänzt das von UniForm automatisch generierte
Sourcebeispiel um einige wenige Programmanweisungen und
Kommentare, und schon steht ihr erstes Programm mit UniForm kurz
vor der Vollendung.
Der Sourcecode sieht letztlich wie folgt aus.
$INCLUDE "ufba03.inc" Std-Include für Turbo Basic
$INCLUDE "order.inc" Adressierungshilfe order
CALL MOUSEON
FKZ% = 2 Format neu ausgeben
FMT$ = "order " Formatname
WHILE RET% <> 110 Programmende bei F10
$INCLUDE "order.pro" Formatlayout bereitstellen
UniForm-Unterprogrammaufruf
CALL UNIF (FKZ%, FMT$, product$, RET%, SM%, Daten$)
FKZ% = 3 Nur Felder neu ausgeben
CALL DB-VERARBEITUNG
WEND
CALL MOUSEOFF
END
Anschließend compiliert und linkt (Compile to EXE) er sein Programm mit
dem BASIC-WINDOW Schnittstellenmoduln (UFBA03.COM/ UFBA03M.COM) und stellt
dabei die Include-Dateien UFBA03.INC, ORDER.INC und ORDER.PRO bereit.
Frau Mustermann ruft das generierte Programm "ORDER.EXE" auf und
schon sieht sie sich dem Format <order> gegenüber - bereit zur
Eingabe von Daten.
4 Inbetriebnahme
4.1 Systemanforderungen
Für den Einsatz von UniForm wird folgende Minimalkonfiguration
vorausgesetzt
- IBM Personal Computer oder 100 % kompatibel
- 1 Diskettenlaufwerk/ Festplatte empfohlen
- PC-DOS, MS-DOS Version 2.1 und höher oder DR-DOS
- VGA-, EGA-, MDA- oder Hercules-Grafikkarte
- wahlweise eine Microsoft-kompatible Maus
4.2 Disketteninhalt
Komponenten für Formatgenerator
UNIFORM.EXE Formatgenerierungsprogramm
UNIFORM.CFG Konfigurationsdatei
UNIFORM.HLP Hilfedatei
Komponenten für MS Basic, MS Quick Basic
UFBA04.OBJ Treibermodul
UFBA04.INC Standard Include Datei
UFBA042.BAS Sourcebeispiel "menu"
UFBA043.BAS Sourcebeispiel "order"
UFBA044.BAS Sourcebeispiel "easy"
UFBA045.BAS Sourcebeispiel "dynamic"
Komponenten für Turbo Basic, Power Basic
UFBA03.COM Schnittstellmodul
UFBA03M.COM Treibermodul für Mausinitialisierung
UFBA03.INC Standard Include Datei
UFBA032.BAS Sourcebeispiel "menu"
UFBA033.BAS Sourcebeispiel"order"
UFBA034.BAS Sourcebeispiel "easy"
UFBA035.BAS Sourcebeispiel "dynamic"
Formatdateien für Sourcebeispiele
MENU01.BLD Formatdatei "menu01"
MENU02.BLD Formatdatei "menu02"
MENU03.BLD Formatdatei "menu03"
ORDER.BLD Formatdatei "order"
MESSAGE.BLD Formatdatei "message"
TESTFMT.BLD Formatdatei "testfmt"
Dokumentation
HILFE.TXT Dokumentation
REGIST.FOR Registrierungsformualar
4.3 Installation
Der UniForm Formatgenerator ist auf einem beliebigen Verzeichnis
auf Festplatte oder Diskettenlaufwerk ablauffähig. Wir empfehlen
die Einrichtung des Verzeichnisses <UNIFORM> (MD \UNIFORM).
Kopieren Sie die Dateien UNIFORM.EXE und UNIFORM.CFG
(Konfigurationsdatei) in das Verzeichnis Ihrer Wahl. Die Hilfedatei
UNIFORM.HLP wird im Aufrufverzeichnis oder im Hauptverzeichnis
des aktuellen Laufwerkes erwartet.
Die Treibermodule und die Standard-Include Dateien kopieren Sie
in Ihre Compilerverzeichnisse.
5 Formatgenerierung
Die Formatgenerierung mit all seinen Formaten und den Funktionen
zu den Formaten ist im Handbuch der Vollversion ausführlich be-
schrieben.
An dieser Stelle nur ein Tip. Rechtecke (beim Erstellen des For-
matlayouts) zeichnen Sie wie folgt:
definieren 1. Koordinate mit ALT-Y
definieren 2. Koordinate mit ALT-Z
Das Rechteck wird mit dem aktuell eingestellten Linienzeichen
dargestellt.
6 Formataufruf
Der Aufruf eines mit dem UniForm Formatgenerator erzeugten
Formates wird durch Aufruf nur einer einzigen Funktion (UNIF)
realisiert. Das Treibermodul ist für die unterschiedlichen
Compiler in unterschiedlicher Ausprägung vorhanden und übernimmt
sämtliche bei einer Formatverarbeitung anfallenden Aufgaben wie
Ausgabeformatierung, Bildschirmausgabe, Cursorsteuerung,
Maussteuerung, Eingabeformatierung und liefert Ihnen den
Returncode der gedrückten Funktionstaste oder Tastenkombination
am Ende der Verarbeitung. Die Treibermodule sind im schnellem
Assemblercode geschrieben und zeichnen sich demzufolge durch
eine extrem kurze Laufzeit aus.
Alle Dateien die für den Ablauf erforderlich sind, werden von
UniForm bei der Formatgenerierung automatisch zur Verfügung
gestellt. Sie sind als INCLUDE- bzw. COPY-Elemente in der
Programmsource bereitzustellen
6.1 Ablaufschema
Für den Aufruf eines mit UniForm generierten Formates stellen
Sie in Ihrer Programmsource die von UniForm zur Verfügung
gestellten Include-Dateien bereit, versorgen die
Übergabeparameter und rufen das entsprechende Treiberprogramm
UNIF auf. Anschließend compilieren Sie wie gehabt und Linken Ihr
Programm mit dem entsprechenden UniForm Treibermodul zusammen.
6.1.1 Programmsource
- Bereitstellen Standard-Include-Datei
- Bereitstellen Include-Datei für variable Felder
- Bereitstellen Include-Datei für Formatlayout
- Aufruf Maussteuerung
- Versorgen Übergabeparameter
- Aufruf Treiberprogramm UNIF
- Auswerten Returncode
6.1.1.1 Bereitstellen Standard-Include-Datei
Die Standard Include Datei ist je Compiler vorhanden und enthält
Felddefinitionen für die Übergabeparameter des Treiberprogrammes
sowie - im Bedarfsfall - die Definition des
Maschinenspracheunterprogrammes UNIF selbst.
Die Standard-Include-Dateien finden Sie auf Ihren
Produktdisketten. Detailinformationen entnehmen Sie bitte
Punkt 6.2.
6.1.1.2 Bereitstellen Include-Datei für variable Felder
Die Include-Datei für variable Felder beinhaltet die Definition
der variablen Felder für ein Format im Dialekt des gewählten
Compilers. Die Include-Datei wird Ihnen bei der
Formatgenerierung mit dem UniForm Formatgenerator automatisch
zur Verfügung gestellt. Detailinformationen entnehmen Sie bitte
Punkt 6.2.
6.1.1.3 Aufruf Maussteuerung
Wenn Sie Ihre Formate mit Mausunterstützung zum Ablauf bringen
wollen, muß am Programmanfang die Maus initialisiert und am
Programmende die Maus wieder ausgeschaltet werden. Diese
Funktionen werden jeweils durch einen einmaligen Funktionsaufruf
realisiert. Der Aufruf ist compilerspezifisch und in 6.2
beschrieben.
6.1.1.4 Bereitstellen Include-Datei für Formatlayout
Die Include-Datei für das Formatlayout beinhaltet die Definition
des Formatlayouts für ein Format im Dialekt des gewählten Compi-
lers. Die Layoutdatei wird Ihnen bei der Formatgenerierung mit
dem UniForm Formatgenerator automatisch zur Verfügung gestellt.
Detailinformationen entnehmen Sie bitte Punkt 6.2.
6.1.1.5 Versorgen Übergabeparameter
Der Aufruf des Treiberprogrammes UNIF setzt die sinnvolle
Versorgung der Übergabeparameter voraus. Die Definition der
Übergabeparameter erfolgt in den o. g. Standard-Include-Dateien.
In der hier angegebenen Reihenfolge sind im jeweiligen Dialekt
des gewählten Compilers die folgenden Parameter zu übergeben.
Funktionskennzeichen FKZ
Formatname FMT
Feldname 1. variables Feld
Returnfeld RET
Schreibmarke SM
Formatlayout Daten
Funktionskennzeichen FKZ
Über das Funktionskennzeichen FKZ wird die auszuführende
Funktion an das Treiberprogramm UNIF übergeben. Das Feld FKZ
wird in der Standard-Include-Datei als 2 Byte langes Binärfeld
zur Verfügung gestellt. In Clipper wird FKZ als 1 Byte langes
Characterfeld bereitgestellt.
Folgende Funktionen stehen zur Verfügung.
0 + Sichern aktuellen Bildschirminhalt
+ Rückkehr zum aufrufenden Programm
1 + Löschen Bildschirm
+ Ausgeben Formatlayout
+ Ausgeben variable Felder mit den aktuellen
Feldinhalten
+ Warten auf Tastatureingabe(n)
+ Rückkehr zum aufrufenden Programm nach ENTER/ ESC/
Funktionstaste
2 + Ausgeben Formatlayout
+ Ausgeben variable Felder mit den aktuellen
Feldinhalten
+ Warten auf Tastatureingabe(n)
+ Rückkehr zum aufrufenden Programm nach ENTER/ ESC/
Funktionstaste
3 + Ausgeben variable Felder mit den aktuellen
Feldinhalten
+ Warten auf Tastatureingabe(n)
+ Rückkehr zum aufrufenden Programm nach ENTER/ ESC/
Funktionstaste
4 + Ausgeben Formatlayout eines leeren Formates
+ Warten auf Tastatureingabe(n)
+ Rückkehr zum aufrufenden Programm nach ENTER/ ESC/
Funktionstaste
5 + Ausgeben gesicherten Bildschirminhalt
6 + Ausgeben Formatlayout
+ Ausgeben variable Felder mit den aktuellen
Feldinhalten
+ Rückkehr zum aufrufenden Programm
7 + Ausgeben variable Felder mit den aktuellen
Feldinhalten
+ Rückkehr zum aufrufenden Programm
20*) + Dynamisches Ändern Feldattribut
+ Rückkehr zum aufrufenden Programm
21*) + Dynamisches Ändern Textattribut
+ Rückkehr zum aufrufenden Programm
22*) + Dynamisches Ändern Rahmenattribut
+ Rückkehr zum aufrufenden Programm
Bei der dynamischen Änderung von Text-, Rahmen- und
Feldattributen (Funktionen 20 bis 22) wird das neue Attribut im
Parameter RET übergeben. Das zu modifizierende variable Feld
wird im Übergabeparameter SM als fortlaufende Nummer (beginnend
mit 0) übergeben.
Beispiel (Attributeinstellung "Rot auf Weiss" für 5.
variables Feld)
FKZ = 20 FKZ für dynamisches Ändern Feldattribut
SM = 4 5. variables Feld
RET = 244 Code für Attributeinstellung "Rot auf Weiss"
Beispiel (Attributeinstellung "Schwarz auf Grün" für
Textbereich)
FKZ = 21 FKZ für dynamisches Ändern Textattribut
RET = 32 Code für Attributeinstellung "Schwarz auf Grün"
Beispiel (Attributeinstellung "Blau auf Rot" für
Rahmenbereich)
FKZ = 22 FKZ für dynamisches Ändern Rahmenattribut
RET = 65 Code für Attributeinstellung "Blau auf Rot"
*) Eine weitere Möglichkeit der dynamischen Attributmodifikation
ist im Kapitel 6.1.5 beschrieben.
Formatname FMT
Im Übergabeparameter FMT wird der Formatname an das
Treiberprogramm UNIF übergeben. Das Feld FMT wird in der
Standard-Include-Datei als 8 Byte langes Characterfeld zur
Verfügung gestellt. Der Formatname ist ggf. rechtsbündig mit
Leerzeichen aufzufüllen. Unterscheidungen zwischen Groß- und
Kleinbuchstaben werden nicht gemacht.
Feldname des ersten variablen Feldes
In diesem Übergabeparameter ist das erste variable Feld bzw.
dessen Adresse an das Treiberprogramm UNIF zu übergeben. Bei den
Funktion 0, 4 und 5 ist der Übergabeparameter irrelevant und mit
FMT zu versorgen. Etwaige compilerspezifische Abweichungen
entnehmen Sie bitte aus Punkt 6.2 ff.
Returnfeld RET
Im Übergabeparameter RET wird der Tastenreturncode an das
aufrufende Programm von UNIF zurückgegeben. Das Feld RET wird in
der Standard-Include-Datei als 2 Byte langes Binärfeld zur
Verfügung gestellt. In Clipper wird FKZ als 1 Byte langes Cha-
racterfeld bereitgestellt.
Der Parameter RET dient auch zur Übergabe des
Schattenattributes(siehe 6.1.4).
Der Parameter wird weiterhin bei den Funktionen der dynamischen
Attributmodifikation für Text, Rahmen oder variable Felder
(Funktionen 20 bis 22) als Übergabeparameter für den
neueinzustellenden Attributcode verwendet.
Schreibmarke SM
Im Übergabeparameter SM wird die Schreibmarkenposition an das
Treiberprogramm UNIF als fortlaufende Nummer (beginnend mit 0)
übergeben. Nur zugängliche Felder (Eingabefleder und Menüfelder)
sind dabei zu berücksichtigen. Die Positionierung der
Schreibmarke auf Ausgabefelder ist nicht möglich.
Weiterhin wird nach Rückkehr vom Treiberprogramm die aktuelle
Schreibmarkenposition zurückgegeben.
Das Feld SM wird in der Standard-Include-Datei als 2 Byte langes
Binärfeld zur Verfügung gestellt. In Clipper wird SM als 1 Byte
langes Characterfeld bereitgestellt.
Beispiel (Schreibmarke auf 1. zugängliches Feld)
SM = 0
Beispiel (Schreibmarke auf 5. zugängliches Feld)
SM = 4
Der Parameter wird darüberhinaus bei der Funktion der
dynamischen Attributmodifikation für variable Felder (Funktion
22) als Übergabeparameter (fortlaufende Nummer, beginnend mit 0)
für das zu bearbeitende Feld verwendet. Im Gegensatz zur
Schreibmarkenpositionierung sind hier Ausgabefelder zu
berücksichtigen.
Formatlayout Daten
Im Übergabeparameter Daten wird das Formatlayout an das
Unterprogramm UNIF übergeben. UniForm stellt für die Versorgung
des Bereiches ein entsprechendes INCLUDE- bzw. COPY-Element zur
Verfügung. Das Feld Daten wird in der Standard-Include-Datei als
3 Kilobyte langes Characterfeld zur Verfügung gestellt.
6.1.1.6 Aufruf Treiberprogramm UNIF
Der Unterprogrammaufruf ist nach erfolgter Parameterversorgung
in Notation des gewählten Compilers vorzunehmen.
Detailinformationen entnehmen Sie bitte Punkt 6.2.
6.1.1.7 Auswerten Returnfeld
Im Übergabeparameter RET wird nach jedem Formataufruf der
Tastenreturncode hinterlegt. D. h. nach Betätigung einer der u.
g. Tasten(kombinationen) erhalten Sie die Steuerung in Ihrem
Programm zurück.
- Tastenretuncodes
ESC 99 | ENTER 100
|
F1 101 | SH - F1 111
F2 102 | SH - F2 112
F3 103 | SH - F3 113
F4 104 | SH - F4 114
F5 105 | SH - F5 115
F6 106 | SH - F6 116
F7 107 | SH - F7 117
F8 108 | SH - F8 118
F9 109 | SH - F9 119
F10 110 | SH - F10 120
|
^ - F1 121 | ALT - F1 131
^ - F2 122 | ALT - F2 132
^ - F3 123 | ALT - F3 133
^ - F4 124 | ALT - F4 134
^ - F5 125 | ALT - F5 135
^ - F6 126 | ALT - F6 136
^ - F7 127 | ALT - F7 137
^ - F8 128 | ALT - F8 138
^ - F9 129 | ALT - F9 139
^ - F10 130 | ALT - F10 140
|
ALT - 1 141 | ALT - 6 146
ALT - 2 142 | ALT - 7 147
ALT - 3 143 | ALT - 8 148
ALT - 4 144 | ALT - 9 149
ALT - 5 145 | ALT - 10 150
|
ALT - A 151 | ^ - A 177
ALT - B 152 | ^ - B 178
ALT - C 153 | ^ - C 179
ALT - D 154 | ^ - D 180
ALT - E 155 | ^ - E 181
ALT - F 156 | ^ - F 182
ALT - G 157 | ^ - G 183
ALT - H 158 | ^ - H 184
ALT - I 159 | ^ - I 185
ALT - J 160 | ^ - J 186
ALT - K 161 | ^ - K 187
ALT - L 162 | ^ - L 188
ALT - M 163 | ^ - M 189
ALT - N 164 | ^ - N 190
ALT - O 165 | ^ - O 191
ALT - P 166 | ^ - P 192
ALT - Q 167 | ^ - Q 193
ALT - R 168 | ^ - R 194
ALT - S 169 | ^ - S 195
ALT - T 170 | ^ - T 196
ALT - U 171 | ^ - U 197
ALT - V 172 | ^ - V 198
ALT - W 173 | ^ - W 199
ALT - X 174 |
ALT - Y 175 |
ALT - Z 176 |
Bei Tastenreturncode 99 (ESC) werden eventuelle Modifikationen
variabler Felder verworfen.
Für die Realisierung sog. Balkenmenüs über Menüfelder beachten
Sie bitte folgendes. Bei Betätigung der Tasten ENTER von einem
Menüfeld aus (Cursor zeigt auf Menüfeld) wird der Returncode
n+200 zurückgegeben (n = Nummer des ungeschützten variablen
Feldes (Eingabefelder und markierbare Felder) innerhalb des
aktuellen Formates). Bei der Betätigung einer der o. g.
Tasten(Kombinationen) auf einem markierbaren Feld wird der
Tastenreturncode der Funktionstaste zurückgemeldet. Bei der
Eingabe von ESC wird 99 zurückgemeldet.
6.1.2 Compilieren/ Linken
Für das Compilieren Ihres Programmes stellen Sie die Std-
Include-Datei, die Include-Dateien für die variablen Felder und
das Formatlayout bereit. Das entsprechende Treibermodul ist in
das Programm einzubinden. Detaillierte Informationen über
Compiler- und Linkvorschriften entnehmen Sie bitte aus Ihren
Programmierhandbüchern.
6.1.3 Programmausführung
Für die Ausführung Ihrer Programme sind neben der eigentlichen
EXE-Datei keine weiteren Komponenten erforderlich.
6.1.4 Schattenfunktion
Neben der Rückgabe der Tastenreturncodes wird das Feld RET
benutzt um das Schattenattribut für die Ausgabe von
Formatenmit Schatten zu übergeben.
Beachten Sie bitte die folgenden Regeln...
Bei RET=0 wird das Format ohne Schatten ausgegeben.
Bei RET !=0 wird das Format mit Schatten mit dem Attributwert
in RET ausgegeben.
Die Attributwerte für Monochrom- bzw. Farbmodus finden Sie im
Anhang A3 (Vollversion).
Die Schattenfunktion ist für Differenzausgaben (FKZ=3) nicht
relevant.
Der Schatten wird am rechten und unteren Rand des Formates
angezeigt.
6.1.5 Dynamische Attributmodifikation
Jedes Elenent eines Formates ist in dem Bereich <Daten>
hinterlegt. So sind u. a. die Farbattribute für Text, für Rahmen
und für alle variablen Felder in einem Byte im Bereich <Daten>
dargestellt. Das gleiche gilt für den Feldtyp. Durch Modifizie-
rung dieses Bytes kann das entsprechende Attribut durch einen
einzigen MOVE-Befehl geändert werden.
In der Attribut-Distanzdatei (format.ATT) werden die Distanzen
zu den jeweiligen Elementen hinterlegt. Die Attribut-
Distanzdatei wird bei der Formatgenerierung automatisch
fürjedes Format erzeugt.
Folgende Distanzen im Bereich <Daten> werden angezeigt...
Text-Farbattribut
Rahmen-Farbattribut
Feld-Farbattribut
Feld-Typ
Die Farbattribute können durch Veränderung des Bytewertes mit
den Werten 0 bis 255 (siehe Attributwerte im Anhang A3)
modifiziert werden.
Der Feldtyp kann die Werte <a> für Ausgabefeld bzw. <e> für
Eingabefeld enthalten. Alle anderen Zuweisungen sind ungültig
und führen zu unvorhergesehenen Ergebnissen.
Ein Beispiel finden Sie in Kapitel 8.
6.2 Ablauf Compilerspezifisch
Im folgenden werden compilerspezifische Hinweise für den For-
mataufruf mit UniForm übersichtlich zusammengefaßt. Die
Übersicht zeigt insbesondere alle INCLUDE Dateien, die
syntaktischen Vorschriften für den Aufruf des universellen
Treiberprogrammes UNIF sowie Übersetzungs- und Linkvorschriften.
Ein einfaches Sourcebeispiel verdeutlicht schließlich den
Formateinsatz mit UniForm. In dem Sourcebeispiel wird das Format
"order" am Bildschirm angezeigt und das Programm nach einer
beliebigen Tasten(kombinations)eingabe beendet (die Formatdatei
ORDER.BLD finden Sie auf Ihren Produktdisketten). Das Sour-
cebeispiel können Sie vom UniForm-Formatgenerator durch
Generierung des Formates ORDER automatisch generieren lassen.
UniForm erzeugt die Sourcedatei ORDER.SMP (SMP für sample).
6.2.1 Ablauf in MS Basic/ MS Quick Basic
Standard-Include-Datei
UFBA04.INC
Formatspezifische Include-Dateien
<format>.INC Include-Datei für variable Felder
<format>.PRO Include-Datei für Formatlayout
UNIF-Unterprogrammaufruf
'INCLUDE: '<format>.PRO'
CALLS UNIF(FKZ%,FMT$,feldname,RET%,SM%,Daten$)
Maussteuerung
CALLS MOUSEON Maus initialisieren
CALLS MOUSEOFF() Maus wieder ausschalten
Compilieren
Bereitstellen der o. g. Include-Dateien
Linken
einbinden UFBA04.OBJ
Sourcebeispiel "ORDER.BAS" - Ausgeben Format ORDER
Übersetzen: bc order /o
Linken: link order ufba04
Programmaufruf: order
REM Standard-Include-Datei'$INCLUDE: 'UFBA04.INC'
REM Definieren variable Felder aus <order>
'$INCLUDE: 'order.INC'
REM Maus initialisieren
CALLS MOUSEON
REM Funktionsidentifikation
FKZ% = 2
REM Cursorposition
SM% = 0REM Schattenattribut
RET% = 112
REM Formatname
FMT$ = "order "
REM Formatlayout in Daten
'$INCLUDE: 'order.PRO'
REM call UNIF
CALLS UNIF(FKZ%, FMT$, fld0$, RET%, SM%, Daten$)
REM Maus ausschalten
CALLS MOUSEOFF
END
Include-Datei für variable Felder ORDER.INC
product$=" "
orderdate$=" "
nr$=" "
quantity& = 0
price! = 0.0
Hinweise
Die Feldvariablen (format.INC) sind global zu definieren.
Die Zeichen ALT 0, ALT 26 und ALT 253 bis 255 sind in der
Formatgenerierung nicht zugelassen.
Unterstützt werden die Versionen MS Quick Basic V4.0 ff und MS
Basic V6.0 ff.
6.2.2 Ablauf in Turbo Basic/ Power Basic
Standard-Include-Datei
UFBA03.INC
Formatspezifische Include-Dateien
<format>.INC Include-Datei für variable Felder
<format>.PRO Include-Datei für Formatlayout
UNIF-Unterprogrammaufruf
$INCLUDE "<format>.PRO"
CALL UNIF(FKZ%,FMT$,feldname,RET%,SM%,Daten$)
Maussteuerung
CALL MOUSEON Maus initialisieren
CALL MOUSEOFF Maus wieder ausschalten
Compilieren
Bereitstellen der o. g. Include-Dateien
Compile to EXE
Linken
einbinden UFBA03.COM
einbinden UFBA03M.COM (für Maussteuerung)
Sourcebeispiel "ORDER.BAS" - Ausgeben Format ORDER
Übersetzen: compile to EXE
Linken: - (implizit)
Programmaufruf: order
REM Standard-Include-Datei
$INCLUDE "UFBA03.INC"
REM Definieren variable Felder aus <order>
$INCLUDE "order.INC"
REM Maus initialisieren
CALL MOUSEON
REM Funktionsidentifikation
FKZ% = 2
REM Cursorposition
SM% = 0
REM Schattenattribut
RET% = 112REM Formatname
FMT$ = "order "
REM format layout
$INCLUDE "order.PRO"
REM call UNIF
CALL UNIF(FKZ%, FMT$, fld0$, RET%, SM%, Daten$)
REM Maus ausschaltenCALL MOUSEOFF
END
Include-Datei für variable Felder ORDER.INC
product$=" "
orderdate$=" "
nr$=" "
quantity& = 0
price! = 0.0
Hinweise
Die Feldvariablen (format.INC) sind global zu definieren.
Die Zeichen ALT 0, ALT 26 und ALT 253 bis 255 sind in der
Formatgenerierung nicht zugelassen.
7 Ablauf im Beispiel
Der Formateinsatz mit UniForm wird im folgenden durch weitere
Beispiele verdeutlicht.
Zunächst soll das einfache Anwendungsbeispiel aus Kapitel 3
geringfügig erweitert werden.
Nach der Erfassung eines Artikels im Menü <order> soll in dem
überlappenden leeren Format <message> die Aufnahme in die
Datenbank bildlich bestätigt werden. Nach Programmbeendigung mit
der Funktionstaste <F10> soll der gesicherte Bildschirminhalt
vor Programmaufruf wieder angezeigt werden.
Die Generierung des Formates <order> ist in Kapitel 3
nachzulesen. Zur Generierung des Formates <message> ist einzig
zu bemerken, daß es sich hier um ein sog. leeres Format (Format
ohne variable Felder) handelt. Somit entfällt der Verarbei-
tungsschritt "Feldnamen/ Attribute" bei der Formaterstellung mit
dem UniForm Formatgenerator; der Formataufruf muß mit
Funktionskennzeichen FKZ = 4 erfolgen.
Das o. g. Beispiel ist in diesem Kapitel in allen von UniForm
unterstützten Compilern realisiert. Der Dialekt des Sourcecodes
in den Listings bezieht sich jeweils auf eine bestimme Version
des jeweiligen Compilers. Etwaige geringfügige Abweichungen in
älteren oder neueren Versionen entnehmen Sie bitte aus
IhrenProgrammierhandbüchern.
Aus Gründen der besseren Lesbarkeit des Sourcecodings wurde in
den Beispielen weitgehend auf die Prinzipien der
wohlstrukturierten Programmierung verzichtet.
Das Sourcecodebeispiel und die beiden Formatdateien ORDER.BLD
und MESSAGE.BLD finden Sie übrigens auch auf Ihren
Produktdisketten (siehe Punkt 4.2, Programmbeispiel "order").
Compiler- und Linkeranweisungen entnehmen Sie bitte aus Kapitel 6
Sie können also das Programmbeispiel auf einfache Art und Weise
ausprobieren!
In der Vollversion ist das Programmbeispiel im Handbuch
abgedruckt.
8 Beispiel für "dynamische Attributmodifikation"
Durch Modifiziern des Bereiches <Daten> haben Sie die
Möglichkeit die Attribute für Text, Rahmen und variable Felder
dynamisch, d. h. während des Programmablaufes zu modifizieren.
In einem einfachen Beispiel wird das Ablaufprinzip der o. g.
Funktion deutlich gemacht.
Das Format <TESTFMT> wird zunächst in den generierten Attributen
für Text, Rahmen und die beiden variablen Felder <fld0> und
<fld1> angezeigt.
Bei der zweiten Ausgabe werden die Farben der beiden Felder
<fld0> und <fld1> modifiziert.
Bei der dritten Ausgabe wird der Feldtyp der beiden Felder
<fld0> und <fld1> auf <Ausgabefeld> modifiziert. D. h. Sie sind
für den Benutzer nicht mehr zugänglich.
Bei der vierten Ausgabe werden die Farben von Text und Rahmen
modifiziert.
Bei der fünften und letzten Ausgabe wird das Schattenattribut
modifiziert.
Das Sourcecodebeispiel und die Formatdatei <TESTFMT.BLD> finden
Sie wiederum auf Ihren Produktdisketten (siehe Punkt 4.2,
Programmbeispiel "dynamic"). Sie können also auch dieses
Programmbeispiel sofort testen. Compiler- und Linkeranweisungen
entnehmen Sie bitte aus Kapitel 6.
In der Vollversion ist das Programmbeispiel im Handbuch
abgedruckt.
9 Beispiel für "Menüauswahl"
In diesem Beispiel wird der Einsatz von Menüfeldern
demonstriert. Im Ersten Format <menu01> werden die Menüpunkte
<Functions> und <Programend> zur Auswahl angeboten. Die
Funktionen können ausgewählt werden über Cursor/Maus-
Positionierung und Enter oder durch die Rechte Maustaste oder
durch Eingabe der hervorgehobenen Buchstaben. Im zweiten Format
<menu02> wird ein Pull-Down Format angezeigt mit den Funktionen
<file new, file open, feile delete und program end>. Die
Funktionsauswahl kann hier neben den oben beschriebenen
Möglichkeiten über die entsprechende Funktionstaste ausgewählt
werden. Im letzten Format <menu03> wird lediglich eine Funktion
angedeutet, die durch Auswahl einer der Menüpunkte denkbar wäre.
Sie kehren mit jeder Eingabe zum ersten Format zurück.
Das Sourcecodebeispiel und die oben beschriebenen Formatdateien
finden Sie wiederum auf Ihren Produktdisketten (siehe Punkt 4.2,
Programmbeispiel "menu").
Anhang A1 - Cursorsteuerung
Die Cursor- und Maustasten werden im UniForm-Formatgenerator und
in mit UniForm eingesetzten Formaten wie fogt ausgewertet:
- Pfeil links Cursor um 1 Spalte nach links. Bei Feldanfang
springen zu Feldende des vorherigen Feldes.
- Pfeil rechst Cursor um 1 Spalte nach rechts. Bei Feldende
springen zu Feldanfang des nächsten Feldes.
- Home Cursor auf Feldanfang des aktuellen Feldes.
- End Cursor auf Feldende des aktuellen Feldes.
- Pfeil unten Cursor auf Feldanfang des nächsten Feldes.
- Pfeil oben Cursor auf Feldanfang des vorherigen Feldes.
- Page Down Cursor auf Feldanfang des nächsten Feldes
- Page Up Cursor auf Feldanfang des vorherigen Feldes.
- Back Slash Löschen aktuelle Spalte und Cursor um 1 Zeichen
nach links.
- Del Löschen Zeichen an Cursorposition. Das
Füllzeichen am Feldende ist Space. bzw. Null.
- Ins (Modus) Einfügen Zeichen an Cursorposition. Das letzte
Zeichen geht verloren.
- Maustaste links Cursor an Mausposition.
- Maustaste rechts Cursor an Mausposition und Rückkehr zum
aufrufenden Programm (Rückgabe ENTER (RET = 100)).
- Zeichen an Feldende Cursor auf Feldanfang des nächsten
Feldes.
- SPACE (NUM-Felder) Im Vorkammabereich wird SPACE
akzeptiert. Im Nachkommabereich wird SPACE
durch 0 ersetzt.
An
Ebnet Software
D-8000 München 70
Passauerstrasse 2 b
REGISTRIERUNG/ BESTELLUNG Softwareprodukt BASIC-WINDOW
------------------------------------------------------
Hiermit bestelle(n) ich(wir) das Softwareprodukt BASIC-WINDOW
zum Preis von DM 85.-- zzgl. Versand (DM 4.--).
Die Bezahlung soll erfolgen:
( ) durch beigefügten Verrechnungsscheck
( ) durch Vorauszahlung auf das nachfolgendes Konto:
Postgiroamt München
BLZ. 700 100 80
Konto 418194-800
( ) durch Postnachnahme zuzüglich Versandkosten
( ) in der BRD DM 3,--
( ) im Ausland DM 10,--
Die Lieferung soll erfolgen:
( ) im 5.25 Zoll Disketten-Format
( ) im 3.5 Zoll Disketten-Format
Die genannten Preise verstehen sich inklusive Mehrwertsteuer.
Als registrierter Anwender werden Sie über künftige Programm-
versionen automatisch benachrichtigt. Neue Programm-Versionen
können im Updateservice zum Vorzugspreis von DM 45.-- bestellt
werden.
Anwenderunterstützung (telefonisch/schriftlich) wird ausnahmslos
für registrierte Anwender geleistet.
Absender:
Datum/Unterschrift:
.............................