home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / tools / basicwi / hilfe.txt next >
Text File  |  1993-07-28  |  43KB  |  1,192 lines

  1. ****************************************************************
  2. *                                                              *
  3. *                B A S I C   -  W I N D O W                    *
  4. *                                                              *
  5. *                 Maskengenerator für                          *
  6. *                                                              *
  7. *       MS Basic, MS Quick Basic, Turbo Basic, Power Basic     *
  8. *                                                              *
  9. ****************************************************************
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                         Version    4.0
  16.  
  17.  
  18.                   (c) 1989-1992, Ebnet Software
  19.  
  20.  
  21.       D - 8000 München 70 , Passauerstrasse 2 b, Tel. 089/7698755
  22.  
  23.  
  24.  
  25. 1 Sharewarekonzept
  26. -------------------
  27.  
  28. Das Programm BASIC-WINDOW ist urheberrechtlich geschützt. Zu 
  29. Prüfzwecken darf die vorliegende Programmversion jedoch frei 
  30. verwendet, kopiert und weitergegeben werden.
  31.  
  32. Bitte machen Sie Gebrauch davon und geben Sie das Programm an 
  33. Freunde, Bekannte etc. weiter.
  34.  
  35. Falls Sie nach Prüfung von BASIC-WINDOW weiterhin damit arbeiten 
  36. möchten, bitte ich Sie sich als registrierter Anwender eintragen
  37. zu lassen. Für eine Registrierungsgebühr von DM 85.-- erhalten 
  38. Sie die folgenden Leistungen  
  39.  
  40.   - Nutzungsrecht für BASIC-WINDOW
  41.   - Zusendung der Vollversion von BASIC-WINDOW 
  42.   - Anwenderunterstützung 
  43.   - Updateservice für künftige Programmversionen zum Vorzugs-
  44.     preis von nur DM 45,-- 
  45.   - ein umfangreiches Benutzerhandbuch
  46.   - eine steuerlich abzugsfähige Rechnung
  47.  
  48. Nur durch Ihr faires Verhalten wird es möglich sein BASIC-WINDOW
  49. nach Ihren Wünschen weiterzuentwickeln.
  50.  
  51. Es wird Ihnen die Möglichkeit gegeben, das Programm zu testen
  52. und auf seine Verwendungsmöglichkeit hin zu prüfen, bevor Sie 
  53. sich bei Gefallen als registrierter Anwender eintragen lassen. 
  54.  
  55. Das Registrierungsformular ist in der Datei REGIST.FOR enthalten
  56. und kann per DOS-Befehl PRINT ausgedruckt werden.
  57.  
  58. Die Prüfversion ist eine vollständige Programmversion und keine 
  59. Demoversion. BASIC-WINDOW steht im vollen Funktionsumfang 
  60. zur Verfügung.
  61.  
  62. In der Ihnen vorliegenden Sharewareversion wird bei Ausgabe eines
  63. jeden Formates ein Copyrighthinweis ausgegeben.
  64.  
  65.  
  66. 2 Formatgenerator UniForm
  67. -------------------------
  68.  
  69. Für die interaktive Generierung der Bildschirmformate für den Einsatz
  70. mit BASIC-WINDOW wird der universelle Formatgenerator UniForm V4.0
  71. mit ausgeliefert.
  72.  
  73. UniForm ist ein universelles Formatgenerierungssystem für den Einsatz in 
  74. allen gängigen Compilern. Das Gesamtpaket mit Treiberprogrammen für alle
  75. genannten Compiler erhalten Sie zum Preis von DM 169.--.
  76.  
  77. Die unten genannten Produkte sind Teilkomponenten von UniForm. 
  78. Jedes der Teilprodukte erhalten Sie zum Preis von DM 85.--.
  79.  
  80.   C-WINDOW           MS C, MS Quick C, Turbo C, Turbo C++
  81.  
  82.   BASIC-WINDOW       MS Basic, MS Quick Basic, Turbo Basic, Power Basic
  83.  
  84.   PASCAL-WINDOW      MS Pascal, MS Quick Pascal, Turbo Pascal
  85.  
  86.   COBOL-WINDOW       MS Cobol, MF VS Cobol, MF Professinal Cobol,
  87.                      MF Cobol/2
  88.  
  89.   ASSEMBLER-WINDOW   MS Assembler, MS Quick Assembler, Turbo Assembler
  90.  
  91.   FORTRAN-WINDOW     MS Fortran
  92.  
  93.   CLIPPER-WINDOW     Clipper V5.01
  94.  
  95. Im folgenden werden nur die Komponenten von BASIC-WINDOW beschreiben.
  96.  
  97.  
  98.  
  99. Inhaltsverzeichnis
  100.  
  101. 1       Warum UniForm
  102. 2       Und so wirds gemacht
  103. 3       Ein einfaches Beispiel
  104. 4       Inbetriebnahme
  105. 4.1     Systemanforderungen
  106. 4.2     Disketteninhalt
  107. 4.3     Installation
  108. 5       Formatgenerierung (nur in Vollversion)
  109. 6       Formataufruf
  110. 6.1     Ablaufschema
  111. 6.1.1   Programmsource
  112. 6.1.1.1 Bereitstellen Standard-Include-Datei
  113. 6.1.1.2 Bereitstellen Include-Datei für variable Felder
  114. 6.1.1.3 Maussteuerung
  115. 6.1.1.4 Bereitstellen Include-Datei für Formatlayout
  116. 6.1.1.5 Versorgen Übergabeparameter
  117. 6.1.1.6 Aufruf Treiberprogramm UNIF
  118. 6.1.1.7 Auswerten Returnfeld
  119. 6.1.2   Compilieren/ Linken
  120. 6.1.3   Programmausführung
  121. 6.1.4   Schattenfunktion
  122. 6.1.5   Dynamische Attributmodifikation
  123. 6.2     Ablauf Compilerspezifisch
  124. 6.2.1   Ablauf in MS Basic/ MS Quick Basic
  125. 6.2.2   Ablauf in Turbo Basic/ Power Basic
  126. 7       Ablauf im Beispiel
  127. 8       Beispiel für "dynamische Attributmodifikation"
  128. 9       Beispiel für "Menüauswahl"
  129. A1      Cursorsteuerung
  130.  
  131.  
  132. 1 Warum UniForm
  133.  
  134. Komfortabele Benutzeroberflächen sind heutzutage schlichtweg zum
  135. MUSS geworden.  Doch die  Programmierung von Masken, Menüs, Fen-
  136. stern und dergleichen ist relativ kompliziert und zeitaufwendig.
  137. Zudem  sollten   solche  zeitkritischen  Routinen  in schnellem 
  138. Assemblercoding  realisiert   werden.  Kurzum   - viele  Gründe 
  139. sprechen dafür geignete Hilfsmittel zu verwenden.
  140.  
  141. Die  Softwareindustrie   bietet  für   jeden  Compiler  dutzende
  142. sogenannter Toolboxen  an. Der  Programmierer  hat  es  bei  der
  143. Auswahl schwer.  Das letztendlich  gewählte Produkt  stellt sich
  144. nicht selten  als schwierig in der Handhabung heraus oder bietet
  145. nicht den Funktionsumfang, der für eine schnelle und komfortable
  146. Formatintegration in  sein Programm  unabdingbar ist.  In  jedem
  147. Fall aber ist die Anwendung auf eine Programmiersprache, oft gar
  148. auf einen bestimmten Compiler begrenzt.
  149.  
  150. UniForm als  universelles  Formatierungssystem  macht  endgültig
  151. Schluß mit  diesem Dilemna.  Das System  ist sehr leistungsfähig
  152. aber dennoch praktisch ohne Einarbeitung bedienbar.
  153.  
  154. UniForm generiert  für jedes  generierte Format  automatisch ein
  155. einfaches Sourcebeispiel  für den  Einsatz in der augenblicklich
  156. gewählten Programmiersprache. Selbst Programmierneulinge erreichen 
  157. somit  innerhalb weniger  Minuten erste beeindruckende Ergebnisse!
  158.  
  159. Durch   seine    universelle   Programmschnittstelle   ist   der
  160. Formateinsatz in  allen gängigen Compilern  realisiert. Das sind
  161. im einzelnen...
  162.  
  163.    - Microsoft C              - Microsoft Pascal
  164.    - Microsoft Quick C        - Microsoft Quick Pascal
  165.    - Turbo C                  - Turbo Pascal
  166.    - Turbo C++                - Microsoft Assembler
  167.    - Microsoft Basic          - Microsoft Quick Assembler
  168.    - Microsoft Quick Basic    - Turbo Assembler
  169.    - Turbo Basic              - Microsoft Cobol
  170.    - Power Basic              - VS Cobol
  171.    - Microsoft Fortran        - Cobol/2
  172.    - Clipper                  - Professional Cobol
  173.  
  174. Bei einem  eventuellen Umstieg  auf einen  anderen Compiler oder
  175. gar auf  eine andere  Programmiersprache sind vorhandene Formate
  176. sofort wieder verfügbar.
  177.  
  178. UniForm   bietet    eine    vollständige    Lösung    von    der
  179. Formatgenerierung  bis   zum  Formateinsatz  und  zeichnet  sich
  180. darüberhinaus durch  ein breites  Funktionsspektrum  aus,  deren
  181. wesentliche Aspekte   an dieser Stelle in einer kurzen Übersicht
  182. einen ersten  Eindruck über  die  Leistungsfähigkeit  vermitteln
  183. soll.
  184.  
  185.   Formatgenerierung
  186.  
  187.    - Interaktive maskengesteuerte Formatgenerierung
  188.    - Mausunterstützung bei der Formaterstellung
  189.    - Umfangreiche Editierfunktionen
  190.    - Alphanumerische-, Ganzzahl- und Dezimalfelder
  191.    - Ein-und Ausgabefelder (nur dem Programm zugänglich)
  192.    - Menüfelder(als"Menu-Items" in Funktions-Auswahlmenüs)
  193.    - Frei wählbare Feld-, Text-, Schatten- und Rahmenattribute
  194.    - Umfangreiche Formatverwaltungsfunktionen
  195.    - Integriertes Hilfesystem
  196.  
  197.   Formataufruf im Programm
  198.  
  199.    - Formataufruf mit nur einem Funktionsaufruf
  200.    - Formateinsatz in allen gängigen Programmiersprachen
  201.    - Automatische Generierung eines Sourcebeispieles
  202.    - Fenstertechnik, Menüs, Popups, Pulldowns ...
  203.    - Dynamische Attribute für Felder, Text, Rahmen und Schatten
  204.    - Mausunterstützung im Programm
  205.    - Funktionsauswahl über Maus, Funktionstasten und Buchstaben
  206.    - Unterstützung aller gängigen Grafikkarten
  207.  
  208.  
  209. 2 Und So wirds gemacht
  210.  
  211. Das Konzept  von UniForm ist in zwei Verarbeitungsschrittenreali-
  212. siert. Im ersten Schritt erstellen Sie Ihre Formate interaktiv
  213. mit dem  UniForm-Formatgenerator. Im  zweiten Verarbeitungsschritt
  214. bringen Sie  die automatisch  generierten INCLUDE-Dateien  für
  215. das Formatlayout und  die variablen Felder in Ihren Sourcecode ein
  216. und binden  das   Programm  zusammen   mit  dem   entsprechenden
  217. (vom eingesetzten Compiler abhängig) UniForm-Treibermodul.
  218.  
  219.  
  220. 2.1  Formate generieren
  221.  
  222. Optionen einstellen
  223.   - Compiler, mit dem Sie arbeiten möchten
  224.   - Verzeichnis, in dem UniForm alle Dateien ablegen soll
  225.   - Feldkennzeichen für die Definition variabler Felder
  226.   - Standardattribute für variable Felder, Text und  Rahmen
  227.   - Formatkennzeichen einstellen
  228.   - Formatname
  229.   - Formatdimension
  230.  
  231. Formatlayout editieren
  232.   - fester Text im Format
  233.   - wahlweise einen einfachen oder dicken Rahmen
  234.   - wahlweise variable Eingabefelder oder Ausgabefelder
  235.  
  236. Format- und Feldattribute und Feldnamen modifizieren
  237.   - wahlweise verändern der Standardfeldnamen für variable Felder
  238.   - wahlweise verändern der Feldfarben
  239.   - wahlweise verändern der Text- und/oder Rahmenfarbe
  240.  
  241.  
  242. 2.2  Programme mit Formaten erstellen
  243.  
  244. Anpassen Programmsource
  245.   - mit Standard-Include Datei für Ihren Compiler
  246.   - mit Include-Datei für variable Felder (von UniFormgeneriert)
  247.   - mit Include-Datei für das Formatlayout (von UniFormgeneriert)
  248.   - mit UniForm-Funktionsaufruf mit entsprechender
  249.     Parameterübergabe
  250.  
  251. Programmegenerierung
  252.   - übersetzen Sourcecode wie gehabt
  253.   - Linken mit dem entsprechenden UniForm-Treibermodul
  254.  
  255.  
  256. 3 Ein einfaches Beispiel
  257.  
  258. Frau Mary  Mustermann bekommt  den Auftrag eintreffende Waren in
  259. einer kleinen  Datenbank zu verwalten. Frau Mustermann verwendet
  260. UniForm für die Generierung und Einbindung einer Eingabemaske in
  261. Ihr Projekt,  das Sie  mit dem  Turbo Basic Compiler von Borland
  262. realisieren will.
  263.  
  264. Formatgenerierung
  265.  
  266. Als erstes definiert Sie im Menü <Optionen> die gewünschte
  267. Voreinstellung...
  268.   - Compiler                              Turbo Basic
  269.   - Verzeichnis                           C:\muster
  270.   - Feldkennzeichen
  271.         für Eingabefeld alphanumerisch    !
  272.         für Eingabefeld numerisch         "
  273.   - Standardattribute
  274.         für Eingabefeld alphanumerisch    Hellweiss auf Schwarz
  275.         für Eingabefeld numerisch         Hellweiss auf Schwarz
  276.         für Text                          Schwarz auf Weiss
  277.         für Rahmen                        Schwarz auf Weiss
  278.  
  279. Als nächstes wählt Sie im Menü <Bearbeiten> die Funktion <Format
  280. neu> und  definiert in  den Folgemasken  den  Formatnamen mit
  281. "order" und die Formatgröße mit Zeile 3 - 18 und Spalte 5 - 70.
  282. Frau Mustermann  sieht sich einem leeren Format in den gewählten
  283. Attributeinstellungen  für   Text  und   Rahmen  gegenüber.  Sie
  284. editiert das  Formatlayout  durch  Tastatureingabe,  den  Cursor
  285. positioniert Sie  über die  Maus oder die entsprechenden Cursor-
  286. Richtungstasten.  Funktionen   wie  Linien   ziehen,   Rechtecke
  287. zeichnen, Zeilen  bzw. Spalten löschen oder den Rahmen wahlweise
  288. ein-  oder   auszuschalten  beschleunigen  die  Formaterstellung
  289. erheblich. Die  variablen Felder definiert Sie durch Eingabe der
  290. festgelegten Feldkennzeichen  in der  gewünschten Feldlänge oder
  291. alternativ durch  Die Funktion  <Felddefinition> (F5).  Die Edi-
  292. tierfunktionen blendet Sie im Bedarfsfall mit F9 ein um sich mit
  293. den wichtigsten Editierfunktionen vertraut zu machen.
  294.  
  295. Frau Mustermann  sichert Ihr  Format duch  Eingabe von  <F1>. Im
  296. Verarbeitungsschritt  <Feldnamen/   Attribute>  modifiziert  Sie
  297. schließlich die  von UniForm  automatisch  vergebenen  Standard-
  298. Feldnamen (fld0  bis  fld5)  in  "product",  "orderdate",  "nr",
  299. "quantity" und  "price. Von  der Möglichkeit die Farben für Ihre
  300. Felder oder für Text und Rahmen zu modifizieren macht Sie keinen
  301. Gebrauch. Sie sichert das Format mit <F1>.
  302.  
  303. Der Formatgenerator zeigt im Format <Generierung> die erstellten
  304. Dateien an,  die im  eingestellten Verzeichnis abgelegtwerden.und
  305. im Menü <Ansicht> angezeigt werden können...
  306.  
  307.   - order.bld       enthält Formatdatei für Formatgenerator
  308.   - order.inc       enthält die variablen Felder
  309.   - order.pro       enthält das Formatlayout
  310.   - order.smp       enthält ein Sourcebeispiel
  311.   - order.att       enthält Informationen über Attribute
  312.  
  313. Programmgenerierung
  314.  
  315. Frau Mustermann  ergänzt das  von UniForm automatisch generierte
  316. Sourcebeispiel  um   einige   wenige   Programmanweisungen   und
  317. Kommentare, und schon steht ihr erstes Programm mit UniForm kurz 
  318. vor der Vollendung.
  319.  
  320. Der Sourcecode sieht letztlich wie folgt aus.
  321.  
  322.   $INCLUDE "ufba03.inc"      Std-Include für Turbo Basic
  323.   $INCLUDE "order.inc"       Adressierungshilfe order
  324.   CALL MOUSEON
  325.   FKZ% = 2                   Format neu ausgeben
  326.   FMT$ = "order    "         Formatname
  327.   WHILE RET% <> 110          Programmende bei F10
  328.   $INCLUDE "order.pro"       Formatlayout bereitstellen
  329.                              UniForm-Unterprogrammaufruf
  330.   CALL UNIF (FKZ%, FMT$, product$, RET%, SM%, Daten$)
  331.   FKZ% = 3                   Nur Felder neu ausgeben
  332.   CALL DB-VERARBEITUNG
  333.   WEND
  334.   CALL MOUSEOFF
  335.   END
  336.  
  337. Anschließend compiliert und linkt (Compile to EXE) er sein Programm mit 
  338. dem BASIC-WINDOW Schnittstellenmoduln (UFBA03.COM/ UFBA03M.COM) und stellt 
  339. dabei die Include-Dateien UFBA03.INC, ORDER.INC und ORDER.PRO bereit.
  340.  
  341. Frau Mustermann ruft das generierte Programm "ORDER.EXE" auf und
  342. schon sieht  sie sich  dem Format <order> gegenüber - bereit zur
  343. Eingabe von Daten.
  344.  
  345.  
  346. 4 Inbetriebnahme
  347.  
  348. 4.1 Systemanforderungen
  349.  
  350. Für den  Einsatz von  UniForm wird folgende Minimalkonfiguration
  351. vorausgesetzt
  352.  
  353.  - IBM Personal Computer oder 100 % kompatibel
  354.  - 1 Diskettenlaufwerk/ Festplatte empfohlen
  355.  - PC-DOS, MS-DOS Version 2.1 und höher oder DR-DOS
  356.  - VGA-, EGA-, MDA- oder Hercules-Grafikkarte
  357.  - wahlweise eine Microsoft-kompatible Maus
  358.  
  359.  
  360. 4.2 Disketteninhalt
  361.  
  362. Komponenten für Formatgenerator
  363.   UNIFORM.EXE Formatgenerierungsprogramm
  364.   UNIFORM.CFG Konfigurationsdatei
  365.   UNIFORM.HLP Hilfedatei
  366.  
  367. Komponenten für MS Basic, MS Quick Basic
  368.   UFBA04.OBJ  Treibermodul
  369.   UFBA04.INC  Standard Include Datei
  370.   UFBA042.BAS Sourcebeispiel "menu"
  371.   UFBA043.BAS Sourcebeispiel "order"
  372.   UFBA044.BAS Sourcebeispiel "easy"
  373.   UFBA045.BAS Sourcebeispiel "dynamic"
  374.  
  375. Komponenten für Turbo Basic, Power Basic
  376.   UFBA03.COM  Schnittstellmodul
  377.   UFBA03M.COM Treibermodul für Mausinitialisierung
  378.   UFBA03.INC  Standard Include Datei
  379.   UFBA032.BAS Sourcebeispiel "menu"
  380.   UFBA033.BAS Sourcebeispiel"order"
  381.   UFBA034.BAS Sourcebeispiel "easy"
  382.   UFBA035.BAS Sourcebeispiel "dynamic"
  383.  
  384. Formatdateien für Sourcebeispiele
  385.   MENU01.BLD  Formatdatei "menu01"
  386.   MENU02.BLD  Formatdatei "menu02"
  387.   MENU03.BLD  Formatdatei "menu03"
  388.   ORDER.BLD   Formatdatei "order"
  389.   MESSAGE.BLD Formatdatei "message"
  390.   TESTFMT.BLD Formatdatei "testfmt"
  391.  
  392. Dokumentation
  393.   HILFE.TXT   Dokumentation
  394.   REGIST.FOR  Registrierungsformualar
  395.  
  396.  
  397. 4.3 Installation
  398.  
  399. Der UniForm Formatgenerator ist auf einem beliebigen Verzeichnis
  400. auf Festplatte oder Diskettenlaufwerk ablauffähig. Wir empfehlen
  401. die Einrichtung  des  Verzeichnisses  <UNIFORM>  (MD \UNIFORM).
  402. Kopieren   Sie   die   Dateien   UNIFORM.EXE   und UNIFORM.CFG
  403. (Konfigurationsdatei) in das Verzeichnis Ihrer Wahl. Die Hilfedatei  
  404. UNIFORM.HLP wird  im Aufrufverzeichnis  oder  im Hauptverzeichnis 
  405. des aktuellen Laufwerkes erwartet.
  406.  
  407. Die Treibermodule  und die Standard-Include Dateien kopieren Sie
  408. in Ihre Compilerverzeichnisse.
  409.  
  410.  
  411. 5 Formatgenerierung
  412.  
  413. Die Formatgenerierung mit all seinen Formaten und den Funktionen
  414. zu den Formaten ist im Handbuch der Vollversion ausführlich be-
  415. schrieben.
  416.  
  417. An dieser Stelle nur ein Tip. Rechtecke (beim Erstellen des For-
  418. matlayouts) zeichnen Sie wie folgt:
  419.  
  420.   definieren 1. Koordinate mit ALT-Y
  421.   definieren 2. Koordinate mit ALT-Z
  422.  
  423. Das Rechteck wird mit dem aktuell eingestellten Linienzeichen
  424. dargestellt.
  425.  
  426.  
  427. 6 Formataufruf
  428.  
  429. Der Aufruf  eines  mit  dem  UniForm  Formatgenerator  erzeugten
  430. Formates wird  durch Aufruf  nur einer  einzigen Funktion (UNIF)
  431. realisiert.  Das  Treibermodul  ist  für  die  unterschiedlichen
  432. Compiler in unterschiedlicher Ausprägung vorhanden und übernimmt
  433. sämtliche bei  einer Formatverarbeitung anfallenden Aufgaben wie
  434. Ausgabeformatierung,     Bildschirmausgabe,     Cursorsteuerung,
  435. Maussteuerung,  Eingabeformatierung   und  liefert   Ihnen   den
  436. Returncode der  gedrückten Funktionstaste oder Tastenkombination
  437. am Ende  der Verarbeitung.  Die Treibermodule  sind im schnellem
  438. Assemblercode geschrieben  und zeichnen  sich  demzufolge  durch
  439. eine extrem kurze Laufzeit aus.
  440.  
  441. Alle Dateien  die für  den Ablauf  erforderlich sind, werden von
  442. UniForm bei  der  Formatgenerierung  automatisch  zur Verfügung
  443. gestellt. Sie  sind  als  INCLUDE-  bzw.  COPY-Elemente  in  der
  444. Programmsource bereitzustellen
  445.  
  446.  
  447. 6.1 Ablaufschema
  448.  
  449. Für den  Aufruf eines  mit UniForm  generierten Formates stellen
  450. Sie in  Ihrer  Programmsource  die  von  UniForm  zur  Verfügung
  451. gestellten     Include-Dateien     bereit,     versorgen     die
  452. Übergabeparameter und  rufen das  entsprechende  Treiberprogramm
  453. UNIF auf. Anschließend compilieren Sie wie gehabt und Linken Ihr
  454. Programm mit dem entsprechenden UniForm Treibermodul zusammen.
  455.  
  456.  
  457. 6.1.1 Programmsource
  458.  
  459.   -  Bereitstellen Standard-Include-Datei
  460.   -  Bereitstellen Include-Datei für variable Felder
  461.   -  Bereitstellen Include-Datei für Formatlayout
  462.   -  Aufruf Maussteuerung
  463.   -  Versorgen Übergabeparameter
  464.   -  Aufruf Treiberprogramm UNIF
  465.   -  Auswerten Returncode
  466.  
  467.  
  468. 6.1.1.1 Bereitstellen Standard-Include-Datei
  469.  
  470. Die Standard Include Datei ist je Compiler vorhanden und enthält
  471. Felddefinitionen für die Übergabeparameter des Treiberprogrammes
  472. sowie    -    im    Bedarfsfall    -    die    Definition    des
  473. Maschinenspracheunterprogrammes UNIF selbst.
  474.  
  475. Die    Standard-Include-Dateien    finden    Sie    auf    Ihren
  476. Produktdisketten. Detailinformationen  entnehmen Sie bitte
  477. Punkt 6.2.
  478.  
  479.  
  480. 6.1.1.2 Bereitstellen Include-Datei für variable Felder
  481.  
  482. Die Include-Datei  für variable Felder beinhaltet die Definition
  483. der variablen  Felder für  ein Format  im Dialekt  des gewählten
  484. Compilers.   Die    Include-Datei    wird    Ihnen    bei    der
  485. Formatgenerierung mit  dem UniForm  Formatgenerator  automatisch
  486. zur Verfügung  gestellt. Detailinformationen entnehmen Sie bitte
  487. Punkt 6.2.
  488.  
  489.  
  490. 6.1.1.3 Aufruf Maussteuerung
  491.  
  492. Wenn Sie  Ihre Formate  mit Mausunterstützung zum Ablauf bringen
  493. wollen, muß  am Programmanfang  die Maus  initialisiert  und  am
  494. Programmende  die   Maus  wieder   ausgeschaltet  werden.  Diese
  495. Funktionen werden jeweils durch einen einmaligen Funktionsaufruf
  496. realisiert.  Der   Aufruf  ist  compilerspezifisch  und  in  6.2
  497. beschrieben.
  498.  
  499.  
  500. 6.1.1.4 Bereitstellen Include-Datei für Formatlayout
  501.  
  502. Die Include-Datei für das Formatlayout beinhaltet die Definition
  503. des Formatlayouts für ein Format im Dialekt des gewählten Compi-
  504. lers. Die  Layoutdatei wird  Ihnen bei der Formatgenerierung mit
  505. dem UniForm  Formatgenerator automatisch zur Verfügung gestellt.
  506. Detailinformationen entnehmen Sie bitte Punkt 6.2.
  507.  
  508.  
  509. 6.1.1.5 Versorgen Übergabeparameter
  510.  
  511. Der  Aufruf  des  Treiberprogrammes  UNIF  setzt  die  sinnvolle
  512. Versorgung der  Übergabeparameter  voraus.  Die  Definition  der
  513. Übergabeparameter erfolgt in den o. g. Standard-Include-Dateien.
  514. In der  hier angegebenen  Reihenfolge sind im jeweiligen Dialekt
  515. des gewählten Compilers die folgenden Parameter zu übergeben.
  516.  
  517.   Funktionskennzeichen FKZ
  518.   Formatname           FMT
  519.   Feldname             1. variables Feld
  520.   Returnfeld           RET
  521.   Schreibmarke         SM
  522.   Formatlayout         Daten
  523.  
  524. Funktionskennzeichen FKZ
  525.  
  526. Über  das   Funktionskennzeichen  FKZ   wird  die  auszuführende
  527. Funktion an  das Treiberprogramm  UNIF übergeben.  Das Feld  FKZ
  528. wird in  der Standard-Include-Datei  als 2 Byte langes Binärfeld
  529. zur Verfügung  gestellt. In  Clipper wird  FKZ als 1 Byte langes
  530. Characterfeld bereitgestellt.
  531.  
  532. Folgende Funktionen stehen zur Verfügung.
  533.  
  534.       0  + Sichern aktuellen Bildschirminhalt
  535.          + Rückkehr zum aufrufenden Programm
  536.  
  537.       1  + Löschen Bildschirm
  538.          + Ausgeben Formatlayout
  539.          + Ausgeben variable Felder mit den aktuellen
  540.            Feldinhalten
  541.          + Warten auf Tastatureingabe(n)
  542.          + Rückkehr zum aufrufenden Programm nach ENTER/ ESC/
  543.            Funktionstaste
  544.  
  545.       2  + Ausgeben Formatlayout
  546.          + Ausgeben variable Felder mit den aktuellen
  547.            Feldinhalten
  548.          + Warten auf Tastatureingabe(n)
  549.          + Rückkehr zum aufrufenden Programm nach ENTER/ ESC/
  550.            Funktionstaste
  551.  
  552.       3  + Ausgeben variable Felder mit den aktuellen
  553.            Feldinhalten
  554.          + Warten auf Tastatureingabe(n)
  555.          + Rückkehr zum aufrufenden Programm nach ENTER/ ESC/
  556.            Funktionstaste
  557.  
  558.       4  + Ausgeben Formatlayout eines leeren Formates
  559.          + Warten auf Tastatureingabe(n)
  560.          + Rückkehr zum aufrufenden Programm nach ENTER/ ESC/
  561.            Funktionstaste
  562.  
  563.       5  + Ausgeben gesicherten Bildschirminhalt
  564.  
  565.       6  + Ausgeben Formatlayout
  566.          + Ausgeben variable Felder mit den aktuellen
  567.            Feldinhalten
  568.          + Rückkehr zum aufrufenden Programm
  569.  
  570.       7  + Ausgeben variable Felder mit den aktuellen
  571.            Feldinhalten
  572.          + Rückkehr zum aufrufenden Programm    
  573.  
  574.     20*) + Dynamisches Ändern Feldattribut
  575.          + Rückkehr zum aufrufenden Programm
  576.  
  577.     21*) + Dynamisches Ändern Textattribut
  578.          + Rückkehr zum aufrufenden Programm
  579.  
  580.     22*) + Dynamisches Ändern Rahmenattribut
  581.          + Rückkehr zum aufrufenden Programm
  582.  
  583. Bei  der   dynamischen   Änderung   von   Text-,   Rahmen-   und
  584. Feldattributen (Funktionen  20 bis 22) wird das neue Attribut im
  585. Parameter RET  übergeben. Das  zu modifizierende  variable  Feld
  586. wird im  Übergabeparameter SM als fortlaufende Nummer (beginnend
  587. mit 0) übergeben.
  588.  
  589.     Beispiel (Attributeinstellung "Rot auf Weiss" für 5.
  590.     variables Feld)
  591.  
  592.       FKZ = 20     FKZ für dynamisches Ändern Feldattribut
  593.       SM = 4       5. variables Feld
  594.       RET = 244    Code für Attributeinstellung "Rot auf Weiss"
  595.  
  596.     Beispiel (Attributeinstellung "Schwarz auf Grün" für
  597.     Textbereich)
  598.  
  599.       FKZ = 21     FKZ für dynamisches Ändern Textattribut
  600.       RET = 32     Code für Attributeinstellung "Schwarz auf Grün"
  601.  
  602.     Beispiel (Attributeinstellung "Blau auf Rot" für
  603.     Rahmenbereich)
  604.  
  605.       FKZ = 22     FKZ für dynamisches Ändern Rahmenattribut
  606.       RET = 65     Code für Attributeinstellung "Blau auf Rot"
  607.  
  608. *) Eine weitere Möglichkeit der dynamischen Attributmodifikation
  609. ist im Kapitel 6.1.5 beschrieben.
  610.  
  611. Formatname FMT
  612.  
  613. Im  Übergabeparameter   FMT   wird   der   Formatname   an   das
  614. Treiberprogramm  UNIF  übergeben.  Das  Feld  FMT  wird  in  der
  615. Standard-Include-Datei  als  8  Byte  langes  Characterfeld  zur
  616. Verfügung gestellt.  Der Formatname  ist ggf.  rechtsbündig  mit
  617. Leerzeichen aufzufüllen.  Unterscheidungen  zwischen  Groß-  und
  618. Kleinbuchstaben werden nicht gemacht.
  619.  
  620. Feldname des ersten variablen Feldes
  621.  
  622. In diesem  Übergabeparameter ist  das erste  variable Feld  bzw.
  623. dessen Adresse an das Treiberprogramm UNIF zu übergeben. Bei den
  624. Funktion 0, 4 und 5 ist der Übergabeparameter irrelevant und mit
  625. FMT  zu   versorgen.  Etwaige  compilerspezifische  Abweichungen
  626. entnehmen Sie bitte aus Punkt 6.2 ff.
  627.  
  628. Returnfeld RET
  629.  
  630. Im  Übergabeparameter  RET  wird  der  Tastenreturncode  an  das
  631. aufrufende Programm von UNIF zurückgegeben. Das Feld RET wird in
  632. der Standard-Include-Datei  als  2  Byte  langes  Binärfeld  zur
  633. Verfügung gestellt.  In Clipper  wird FKZ als 1 Byte langes Cha-
  634. racterfeld bereitgestellt.
  635. Der Parameter RET dient auch zur Übergabe des
  636. Schattenattributes(siehe 6.1.4).
  637.  
  638. Der Parameter  wird weiterhin bei den Funktionen der dynamischen
  639. Attributmodifikation  für  Text,  Rahmen  oder  variable  Felder
  640. (Funktionen  20  bis  22)  als  Übergabeparameter  für  den
  641. neueinzustellenden Attributcode verwendet.
  642.  
  643. Schreibmarke SM
  644.  
  645. Im Übergabeparameter  SM wird  die Schreibmarkenposition  an das
  646. Treiberprogramm UNIF  als fortlaufende  Nummer (beginnend mit 0)
  647. übergeben. Nur zugängliche Felder (Eingabefleder und Menüfelder)
  648. sind  dabei   zu   berücksichtigen.   Die   Positionierung   der
  649. Schreibmarke auf Ausgabefelder ist nicht möglich.
  650.  
  651. Weiterhin wird  nach Rückkehr  vom Treiberprogramm  die aktuelle
  652. Schreibmarkenposition zurückgegeben.
  653.  
  654. Das Feld SM wird in der Standard-Include-Datei als 2 Byte langes
  655. Binärfeld zur  Verfügung gestellt. In Clipper wird SM als 1 Byte
  656. langes Characterfeld bereitgestellt.
  657.  
  658.     Beispiel (Schreibmarke auf 1. zugängliches Feld)
  659.  
  660.       SM = 0
  661.  
  662.     Beispiel (Schreibmarke auf 5. zugängliches Feld)
  663.  
  664.       SM = 4
  665.  
  666. Der  Parameter   wird  darüberhinaus   bei  der   Funktion   der
  667. dynamischen Attributmodifikation  für variable  Felder (Funktion
  668. 22) als Übergabeparameter (fortlaufende Nummer, beginnend mit 0)
  669. für  das  zu  bearbeitende  Feld  verwendet.  Im  Gegensatz  zur
  670. Schreibmarkenpositionierung   sind    hier   Ausgabefelder    zu
  671. berücksichtigen.
  672.  
  673. Formatlayout Daten
  674.  
  675. Im  Übergabeparameter   Daten  wird   das  Formatlayout  an  das
  676. Unterprogramm UNIF  übergeben. UniForm stellt für die Versorgung
  677. des Bereiches  ein entsprechendes INCLUDE- bzw. COPY-Element zur
  678. Verfügung. Das Feld Daten wird in der Standard-Include-Datei als 
  679. 3 Kilobyte langes Characterfeld zur Verfügung gestellt.
  680.  
  681.  
  682. 6.1.1.6 Aufruf Treiberprogramm UNIF
  683.  
  684. Der Unterprogrammaufruf   ist nach erfolgter Parameterversorgung
  685. in Notation des gewählten Compilers vorzunehmen.
  686.  
  687. Detailinformationen entnehmen Sie bitte Punkt 6.2.
  688.  
  689.  
  690. 6.1.1.7 Auswerten Returnfeld
  691.  
  692. Im  Übergabeparameter  RET  wird  nach  jedem  Formataufruf der
  693. Tastenreturncode hinterlegt.  D. h. nach Betätigung einer der u.
  694. g. Tasten(kombinationen)  erhalten Sie  die Steuerung  in Ihrem
  695. Programm zurück.
  696.  
  697. - Tastenretuncodes
  698.  
  699.   ESC      99         |           ENTER  100
  700.                       |
  701.   F1       101        |           SH - F1     111
  702.   F2       102        |           SH - F2     112
  703.   F3       103        |           SH - F3     113
  704.   F4       104        |           SH - F4     114
  705.   F5       105        |           SH - F5     115
  706.   F6       106        |           SH - F6     116
  707.   F7       107        |           SH - F7     117
  708.   F8       108        |           SH - F8     118
  709.   F9       109        |           SH - F9     119
  710.   F10      110        |           SH - F10    120
  711.                       |
  712.   ^ - F1   121        |           ALT - F1    131
  713.   ^ - F2   122        |           ALT - F2    132
  714.   ^ - F3   123        |           ALT - F3    133
  715.   ^ - F4   124        |           ALT - F4    134
  716.   ^ - F5   125        |           ALT - F5    135
  717.   ^ - F6   126        |           ALT - F6    136
  718.   ^ - F7   127        |           ALT - F7    137
  719.   ^ - F8   128        |           ALT - F8    138
  720.   ^ - F9   129        |           ALT - F9    139
  721.   ^ - F10  130        |           ALT - F10   140
  722.                       |
  723.   ALT - 1  141        |           ALT - 6     146
  724.   ALT - 2  142        |           ALT - 7     147
  725.   ALT - 3  143        |           ALT - 8     148
  726.   ALT - 4  144        |           ALT - 9     149
  727.   ALT - 5  145        |           ALT - 10    150
  728.                       |
  729.   ALT - A  151        |           ^ - A       177
  730.   ALT - B  152        |           ^ - B       178
  731.   ALT - C  153        |           ^ - C       179
  732.   ALT - D  154        |           ^ - D       180
  733.   ALT - E  155        |           ^ - E       181
  734.   ALT - F  156        |           ^ - F       182
  735.   ALT - G  157        |           ^ - G       183
  736.   ALT - H  158        |           ^ - H       184
  737.   ALT - I  159        |           ^ - I       185
  738.   ALT - J  160        |           ^ - J       186
  739.   ALT - K  161        |           ^ - K       187
  740.   ALT - L  162        |           ^ - L       188
  741.   ALT - M  163        |           ^ - M       189
  742.   ALT - N  164        |           ^ - N       190
  743.   ALT - O  165        |           ^ - O       191
  744.  
  745.   ALT - P  166        |           ^ - P       192
  746.   ALT - Q  167        |           ^ - Q       193
  747.   ALT - R  168        |           ^ - R       194
  748.   ALT - S  169        |           ^ - S       195
  749.   ALT - T  170        |           ^ - T       196
  750.   ALT - U  171        |           ^ - U       197
  751.   ALT - V  172        |           ^ - V       198
  752.   ALT - W  173        |           ^ - W       199
  753.   ALT - X  174        |
  754.   ALT - Y  175        |
  755.   ALT - Z  176        |
  756.  
  757. Bei Tastenreturncode  99 (ESC)  werden eventuelle Modifikationen
  758. variabler Felder verworfen.
  759.  
  760. Für die  Realisierung sog.  Balkenmenüs über Menüfelder beachten
  761. Sie bitte  folgendes. Bei  Betätigung der Tasten ENTER von einem
  762. Menüfeld aus  (Cursor zeigt  auf Menüfeld)  wird der  Returncode
  763. n+200 zurückgegeben  (n =  Nummer  des  ungeschützten  variablen
  764. Feldes (Eingabefelder  und  markierbare  Felder)  innerhalb  des
  765. aktuellen  Formates).   Bei  der  Betätigung  einer  der  o.  g.
  766. Tasten(Kombinationen)  auf  einem  markierbaren  Feld  wird  der
  767. Tastenreturncode  der  Funktionstaste  zurückgemeldet.  Bei  der
  768. Eingabe von ESC wird 99 zurückgemeldet.
  769.  
  770.  
  771. 6.1.2 Compilieren/ Linken
  772.  
  773. Für das  Compilieren  Ihres  Programmes  stellen  Sie  die  Std-
  774. Include-Datei, die  Include-Dateien für die variablen Felder und
  775. das Formatlayout  bereit. Das  entsprechende Treibermodul ist in
  776. das  Programm   einzubinden.  Detaillierte   Informationen  über
  777. Compiler- und  Linkvorschriften entnehmen  Sie bitte  aus  Ihren
  778. Programmierhandbüchern.
  779.  
  780.  
  781. 6.1.3 Programmausführung
  782.  
  783. Für die Ausführung Ihrer Programme sind neben der eigentlichen
  784. EXE-Datei keine weiteren Komponenten erforderlich.
  785.  
  786.  
  787. 6.1.4 Schattenfunktion
  788.  
  789. Neben der  Rückgabe der  Tastenreturncodes  wird  das  Feld  RET
  790. benutzt um  das Schattenattribut  für die  Ausgabe von
  791. Formatenmit Schatten zu übergeben.
  792.  
  793. Beachten Sie bitte die folgenden Regeln...
  794.  
  795.  Bei RET=0 wird das Format ohne Schatten ausgegeben.
  796.  Bei RET  !=0 wird  das Format mit Schatten mit dem Attributwert
  797.  in RET ausgegeben.
  798.  
  799.  Die Attributwerte  für Monochrom-  bzw. Farbmodus finden Sie im
  800.  Anhang A3 (Vollversion).
  801.  
  802.  Die Schattenfunktion  ist für  Differenzausgaben (FKZ=3)  nicht
  803.  relevant.
  804.  
  805.  Der Schatten  wird am  rechten und  unteren Rand  des  Formates
  806.  angezeigt.
  807.  
  808.  
  809. 6.1.5 Dynamische Attributmodifikation
  810.  
  811. Jedes  Elenent   eines  Formates  ist  in  dem  Bereich  <Daten>
  812. hinterlegt. So sind u. a. die Farbattribute für Text, für Rahmen
  813. und für  alle variablen  Felder in einem Byte im Bereich <Daten>
  814. dargestellt. Das  gleiche gilt für den Feldtyp. Durch Modifizie-
  815. rung dieses  Bytes kann  das entsprechende  Attribut durch einen
  816. einzigen MOVE-Befehl geändert werden.
  817.  
  818. In der  Attribut-Distanzdatei (format.ATT)  werden die Distanzen
  819. zu  den   jeweiligen   Elementen   hinterlegt.   Die   Attribut-
  820. Distanzdatei wird  bei  der  Formatgenerierung  automatisch
  821. fürjedes Format erzeugt.
  822.  
  823. Folgende Distanzen im Bereich <Daten> werden angezeigt...
  824.  
  825.    Text-Farbattribut
  826.    Rahmen-Farbattribut
  827.    Feld-Farbattribut
  828.    Feld-Typ
  829.  
  830. Die Farbattribute  können durch  Veränderung des  Bytewertes mit
  831. den  Werten  0  bis  255  (siehe  Attributwerte  im  Anhang  A3)
  832. modifiziert werden.
  833.  
  834. Der Feldtyp  kann die  Werte <a>  für Ausgabefeld  bzw. <e>  für
  835. Eingabefeld enthalten.  Alle anderen  Zuweisungen sind  ungültig
  836. und führen zu unvorhergesehenen Ergebnissen.
  837.  
  838. Ein Beispiel finden Sie in Kapitel 8.
  839.  
  840.  
  841. 6.2 Ablauf Compilerspezifisch
  842.  
  843. Im folgenden  werden compilerspezifische  Hinweise für  den For-
  844. mataufruf  mit   UniForm   übersichtlich   zusammengefaßt.   Die
  845. Übersicht  zeigt   insbesondere  alle   INCLUDE   Dateien,   die
  846. syntaktischen  Vorschriften  für  den  Aufruf  des  universellen
  847. Treiberprogrammes UNIF sowie Übersetzungs- und Linkvorschriften.
  848.  
  849. Ein  einfaches   Sourcebeispiel  verdeutlicht   schließlich  den
  850. Formateinsatz mit UniForm. In dem Sourcebeispiel wird das Format
  851. "order" am  Bildschirm angezeigt  und das  Programm  nach einer
  852. beliebigen Tasten(kombinations)eingabe  beendet (die Formatdatei
  853. ORDER.BLD finden  Sie auf  Ihren  Produktdisketten).  Das  Sour-
  854. cebeispiel  können   Sie   vom   UniForm-Formatgenerator   durch
  855. Generierung des  Formates ORDER  automatisch generieren lassen.
  856. UniForm erzeugt die Sourcedatei ORDER.SMP (SMP für sample).
  857.  
  858.  
  859. 6.2.1 Ablauf in MS Basic/ MS Quick Basic
  860.  
  861. Standard-Include-Datei
  862.  
  863.   UFBA04.INC
  864.  
  865. Formatspezifische Include-Dateien
  866.  
  867.   <format>.INC    Include-Datei für variable Felder
  868.   <format>.PRO    Include-Datei für Formatlayout
  869.  
  870. UNIF-Unterprogrammaufruf
  871.  
  872.   'INCLUDE: '<format>.PRO'  
  873.   CALLS UNIF(FKZ%,FMT$,feldname,RET%,SM%,Daten$)
  874.  
  875. Maussteuerung
  876.  
  877.   CALLS MOUSEON           Maus initialisieren
  878.   CALLS MOUSEOFF()        Maus wieder ausschalten
  879.  
  880. Compilieren
  881.  
  882.   Bereitstellen der o. g. Include-Dateien
  883.  
  884. Linken
  885.  
  886.   einbinden UFBA04.OBJ
  887.  
  888. Sourcebeispiel "ORDER.BAS" - Ausgeben Format ORDER
  889.  
  890. Übersetzen:  bc order /o
  891. Linken:      link order ufba04
  892. Programmaufruf:    order
  893.  
  894. REM Standard-Include-Datei'$INCLUDE: 'UFBA04.INC'
  895. REM Definieren variable Felder aus <order>
  896. '$INCLUDE: 'order.INC'
  897. REM Maus initialisieren
  898. CALLS MOUSEON
  899. REM Funktionsidentifikation
  900. FKZ% = 2
  901. REM Cursorposition
  902. SM% = 0REM Schattenattribut
  903. RET% = 112
  904. REM Formatname
  905. FMT$ = "order    "
  906. REM Formatlayout in Daten
  907. '$INCLUDE: 'order.PRO'
  908. REM call UNIF
  909. CALLS UNIF(FKZ%, FMT$, fld0$, RET%, SM%, Daten$)
  910. REM Maus ausschalten
  911. CALLS MOUSEOFF
  912. END
  913.  
  914. Include-Datei für variable Felder ORDER.INC
  915.  
  916. product$="                    "
  917. orderdate$="        "
  918. nr$="                    "
  919. quantity& = 0
  920. price! = 0.0
  921.  
  922. Hinweise
  923.  
  924. Die Feldvariablen (format.INC) sind global zu definieren.
  925.  
  926. Die Zeichen  ALT 0,  ALT 26  und ALT  253 bis  255 sind  in der
  927. Formatgenerierung nicht zugelassen.
  928.  
  929. Unterstützt werden  die Versionen  MS Quick Basic V4.0 ff und MS
  930. Basic V6.0 ff.
  931.  
  932.  
  933. 6.2.2 Ablauf in Turbo Basic/ Power Basic
  934.  
  935. Standard-Include-Datei
  936.   UFBA03.INC
  937.  
  938. Formatspezifische Include-Dateien
  939.  
  940.   <format>.INC    Include-Datei für variable Felder
  941.   <format>.PRO    Include-Datei für Formatlayout
  942.  
  943. UNIF-Unterprogrammaufruf
  944.  
  945.   $INCLUDE "<format>.PRO"
  946.   CALL UNIF(FKZ%,FMT$,feldname,RET%,SM%,Daten$)
  947.  
  948. Maussteuerung
  949.  
  950.   CALL MOUSEON    Maus initialisieren
  951.   CALL MOUSEOFF   Maus wieder ausschalten
  952.  
  953. Compilieren
  954.  
  955.   Bereitstellen der o. g. Include-Dateien
  956.   Compile to EXE
  957.  
  958. Linken
  959.  
  960.   einbinden UFBA03.COM
  961.   einbinden UFBA03M.COM (für Maussteuerung)
  962.  
  963. Sourcebeispiel "ORDER.BAS" - Ausgeben Format ORDER
  964.  
  965. Übersetzen:  compile to EXE
  966. Linken:      - (implizit)
  967. Programmaufruf:    order
  968.  
  969. REM Standard-Include-Datei
  970. $INCLUDE "UFBA03.INC"
  971. REM Definieren variable Felder aus <order>
  972. $INCLUDE "order.INC"
  973. REM Maus initialisieren
  974. CALL MOUSEON
  975. REM Funktionsidentifikation
  976. FKZ% = 2
  977. REM Cursorposition
  978. SM% = 0
  979. REM Schattenattribut
  980. RET% = 112REM Formatname
  981. FMT$ = "order    "
  982. REM format layout
  983. $INCLUDE "order.PRO"
  984. REM call UNIF
  985. CALL UNIF(FKZ%, FMT$, fld0$, RET%, SM%, Daten$)
  986. REM Maus ausschaltenCALL MOUSEOFF
  987. END
  988.  
  989. Include-Datei für variable Felder ORDER.INC
  990.  
  991. product$="                    "
  992. orderdate$="        "
  993. nr$="                    "
  994. quantity& = 0
  995. price! = 0.0
  996.  
  997. Hinweise
  998.  
  999. Die Feldvariablen (format.INC) sind global zu definieren.
  1000.  
  1001. Die Zeichen  ALT 0,  ALT 26  und ALT  253 bis  255 sind  in  der
  1002. Formatgenerierung nicht zugelassen.
  1003.  
  1004.  
  1005. 7 Ablauf im Beispiel
  1006.  
  1007. Der Formateinsatz  mit UniForm  wird im  folgenden durch weitere
  1008. Beispiele verdeutlicht.
  1009.  
  1010. Zunächst soll  das einfache  Anwendungsbeispiel  aus  Kapitel  3
  1011. geringfügig erweitert werden.
  1012.  
  1013. Nach der  Erfassung eines  Artikels im  Menü <order> soll in dem
  1014. überlappenden  leeren  Format  <message>  die  Aufnahme  in die
  1015. Datenbank bildlich bestätigt werden. Nach Programmbeendigung mit
  1016. der Funktionstaste  <F10> soll  der gesicherte  Bildschirminhalt
  1017. vor Programmaufruf wieder angezeigt werden.
  1018.  
  1019. Die  Generierung   des  Formates   <order>  ist   in  Kapitel  3
  1020. nachzulesen. Zur  Generierung des  Formates <message> ist einzig
  1021. zu bemerken,  daß es sich hier um ein sog. leeres Format (Format
  1022. ohne variable  Felder) handelt.  Somit  entfällt  der  Verarbei-
  1023. tungsschritt "Feldnamen/ Attribute" bei der Formaterstellung mit
  1024. dem  UniForm   Formatgenerator;   der   Formataufruf   muß   mit
  1025. Funktionskennzeichen FKZ = 4 erfolgen.
  1026.  
  1027. Das o.  g. Beispiel  ist in  diesem Kapitel in allen von UniForm
  1028. unterstützten Compilern  realisiert. Der Dialekt des Sourcecodes
  1029. in den  Listings bezieht  sich jeweils auf eine bestimme Version
  1030. des jeweiligen  Compilers. Etwaige  geringfügige Abweichungen in
  1031. älteren oder  neueren Versionen  entnehmen Sie  bitte aus
  1032. IhrenProgrammierhandbüchern.
  1033.  
  1034. Aus Gründen  der besseren  Lesbarkeit des Sourcecodings wurde in
  1035. den   Beispielen    weitgehend   auf    die    Prinzipien    der
  1036. wohlstrukturierten Programmierung verzichtet.
  1037.  
  1038. Das Sourcecodebeispiel  und die  beiden Formatdateien ORDER.BLD
  1039. und   MESSAGE.BLD   finden   Sie   übrigens   auch   auf   Ihren
  1040. Produktdisketten (siehe  Punkt 4.2,  Programmbeispiel  "order").
  1041. Compiler- und  Linkeranweisungen entnehmen Sie bitte aus Kapitel 6
  1042.  
  1043. Sie können  also das Programmbeispiel auf einfache Art und Weise
  1044. ausprobieren!
  1045.  
  1046. In  der   Vollversion  ist   das  Programmbeispiel  im  Handbuch
  1047. abgedruckt.
  1048.  
  1049.  
  1050. 8 Beispiel für "dynamische Attributmodifikation"
  1051.  
  1052. Durch  Modifiziern   des  Bereiches   <Daten>  haben   Sie   die
  1053. Möglichkeit die  Attribute für  Text, Rahmen und variable Felder
  1054. dynamisch, d. h. während des Programmablaufes zu modifizieren.
  1055. In einem  einfachen Beispiel  wird das  Ablaufprinzip der  o. g.
  1056. Funktion deutlich gemacht.
  1057.  
  1058. Das Format <TESTFMT> wird zunächst in den generierten Attributen
  1059. für Text,  Rahmen und  die beiden  variablen Felder  <fld0>  und
  1060. <fld1>  angezeigt.
  1061.  
  1062. Bei der  zweiten Ausgabe  werden die  Farben der  beiden  Felder
  1063. <fld0> und <fld1> modifiziert.
  1064.  
  1065. Bei der  dritten Ausgabe  wird der  Feldtyp  der  beiden  Felder
  1066. <fld0> und  <fld1> auf <Ausgabefeld> modifiziert. D. h. Sie sind
  1067. für den Benutzer nicht mehr zugänglich.
  1068.  
  1069. Bei der  vierten Ausgabe  werden die  Farben von Text und Rahmen
  1070. modifiziert.
  1071.  
  1072. Bei der  fünften und  letzten Ausgabe  wird das Schattenattribut
  1073. modifiziert.
  1074.  
  1075. Das Sourcecodebeispiel und die Formatdatei <TESTFMT.BLD> finden
  1076. Sie  wiederum  auf  Ihren  Produktdisketten  (siehe  Punkt  4.2,
  1077. Programmbeispiel  "dynamic").   Sie  können   also  auch  dieses
  1078. Programmbeispiel sofort  testen. Compiler- und Linkeranweisungen
  1079. entnehmen Sie bitte aus Kapitel 6.
  1080.  
  1081. In  der   Vollversion  ist   das  Programmbeispiel  im  Handbuch
  1082. abgedruckt.
  1083.  
  1084.  
  1085. 9 Beispiel für "Menüauswahl"
  1086.  
  1087. In  diesem   Beispiel   wird   der   Einsatz   von   Menüfeldern
  1088. demonstriert. Im  Ersten Format  <menu01> werden  die Menüpunkte
  1089. <Functions>  und   <Programend>  zur   Auswahl  angeboten.   Die
  1090. Funktionen   können    ausgewählt   werden   über   Cursor/Maus-
  1091. Positionierung und  Enter oder  durch die  Rechte Maustaste oder
  1092. durch Eingabe  der hervorgehobenen Buchstaben. Im zweiten Format
  1093. <menu02> wird  ein Pull-Down Format angezeigt mit den Funktionen
  1094. <file new,  file  open,  feile  delete  und  program  end>.  Die
  1095. Funktionsauswahl  kann   hier  neben   den  oben   beschriebenen
  1096. Möglichkeiten über  die entsprechende  Funktionstaste ausgewählt
  1097. werden. Im  letzten Format <menu03> wird lediglich eine Funktion
  1098. angedeutet, die durch Auswahl einer der Menüpunkte denkbar wäre.
  1099. Sie kehren mit jeder Eingabe zum ersten Format zurück.
  1100.  
  1101. Das Sourcecodebeispiel  und die  oben beschriebenen Formatdateien
  1102. finden Sie wiederum auf Ihren Produktdisketten (siehe Punkt 4.2,
  1103. Programmbeispiel "menu").
  1104.  
  1105.  
  1106. Anhang A1 - Cursorsteuerung
  1107.  
  1108. Die Cursor- und Maustasten werden im UniForm-Formatgenerator und
  1109. in mit UniForm eingesetzten Formaten wie fogt ausgewertet:
  1110.  
  1111. - Pfeil links   Cursor um 1 Spalte nach links. Bei Feldanfang
  1112.                 springen zu Feldende des vorherigen Feldes.
  1113. - Pfeil rechst  Cursor um 1 Spalte nach rechts. Bei Feldende
  1114.                 springen zu Feldanfang des nächsten Feldes.
  1115.  
  1116. - Home          Cursor auf Feldanfang des aktuellen Feldes.
  1117. - End           Cursor auf Feldende des aktuellen Feldes.
  1118.  
  1119. - Pfeil unten   Cursor auf Feldanfang des nächsten Feldes.
  1120. - Pfeil oben    Cursor auf Feldanfang des vorherigen Feldes.
  1121. - Page Down     Cursor auf Feldanfang des nächsten Feldes
  1122. - Page Up       Cursor auf Feldanfang des vorherigen Feldes.
  1123. - Back Slash    Löschen aktuelle Spalte und Cursor um 1 Zeichen
  1124.                 nach links.
  1125. - Del           Löschen Zeichen an Cursorposition. Das
  1126.                 Füllzeichen am Feldende ist Space. bzw. Null.
  1127.  
  1128. - Ins (Modus)   Einfügen Zeichen an Cursorposition. Das letzte
  1129.                 Zeichen geht verloren.
  1130.  
  1131.  
  1132. - Maustaste links  Cursor an Mausposition.
  1133.  
  1134. - Maustaste rechts Cursor an Mausposition und Rückkehr zum
  1135.                    aufrufenden Programm (Rückgabe ENTER (RET = 100)).
  1136.  
  1137.  
  1138. - Zeichen an Feldende   Cursor auf Feldanfang des nächsten
  1139.                         Feldes.
  1140.  
  1141. - SPACE (NUM-Felder)    Im Vorkammabereich wird SPACE
  1142.                         akzeptiert. Im Nachkommabereich wird SPACE
  1143.                         durch 0 ersetzt.
  1144. An
  1145. Ebnet Software
  1146.  
  1147. D-8000 München 70
  1148. Passauerstrasse 2 b
  1149.  
  1150.  
  1151. REGISTRIERUNG/ BESTELLUNG Softwareprodukt BASIC-WINDOW
  1152. ------------------------------------------------------
  1153.  
  1154. Hiermit bestelle(n) ich(wir) das Softwareprodukt BASIC-WINDOW
  1155. zum Preis von DM 85.-- zzgl. Versand (DM 4.--).
  1156.  
  1157. Die Bezahlung soll erfolgen:
  1158.  
  1159.    (  ) durch beigefügten Verrechnungsscheck
  1160.    (  ) durch Vorauszahlung auf das nachfolgendes  Konto:
  1161.         Postgiroamt München      
  1162.         BLZ. 700 100 80
  1163.         Konto 418194-800
  1164.    (  ) durch Postnachnahme zuzüglich Versandkosten
  1165.         (  ) in der BRD                 DM  3,--
  1166.         (  ) im Ausland                 DM 10,--
  1167.  
  1168. Die Lieferung soll erfolgen:
  1169.    (  ) im 5.25 Zoll Disketten-Format
  1170.    (  ) im 3.5  Zoll Disketten-Format  
  1171.  
  1172. Die genannten Preise verstehen sich inklusive Mehrwertsteuer.
  1173.  
  1174. Als registrierter Anwender werden Sie über künftige Programm-
  1175. versionen automatisch benachrichtigt. Neue Programm-Versionen
  1176. können im Updateservice zum Vorzugspreis von DM 45.-- bestellt
  1177. werden.
  1178.  
  1179. Anwenderunterstützung (telefonisch/schriftlich) wird ausnahmslos
  1180. für registrierte Anwender geleistet.
  1181.  
  1182. Absender:
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188. Datum/Unterschrift:
  1189.  
  1190.  
  1191. .............................
  1192.