home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 56 / Commodore_Disc_56_19xx_-_de.d64 / dv.txt < prev    next >
Text File  |  2022-10-26  |  10KB  |  205 lines

  1. (Fortsetzung aus dem Heft)
  2.  
  3. Interessant ist noch die Frage, welches Feld wohl das nach dem Laden einer Anwendung voreingestellte Indexfeld ist. Feld null bietet sich an, w{CBM-F}re aber zu unflexibel, daher findet daf{CBM-X}r das zuerst definierte Feld der Eingabemaske Verwendung.
  4.  
  5. Neu ist, da{CBM-V} jetzt auch rechtsb{CBM-X}ndige Datenfelder definiert werden k{CBM-C}nnen. Die Definition eines rechtsb{CBM-X}ndigen Datenfeldes erfolgt durch ein zus{CBM-F}tzliches Zeichen (%) nach der Feldnummer, etwa:
  6.  
  7. ? 5 %
  8.  
  9. Rechtsb{CBM-X}ndige Daten ben{CBM-C}tigen mehr Speicherplatz, da die vorangehenden Stellen mit Leerzeichen aufgef{CBM-X}llt werden. Die maximal zul{CBM-F}ssige L{CBM-F}nge f{CBM-X}r rechtsb{CBM-X}ndige Felder betr{CBM-F}gt sechzehn Zeichen.
  10.  
  11. Auflistung
  12. ----------
  13. Mit der Gestaltung des Bildschirms f{CBM-X}r die Wiedergabe eines Datensatzes ist die Maskendatei noch nicht fertig. Da DV nicht nur die Datens{CBM-F}tze einzeln, sondern auch in Form einer Auflistung darzustellen vermag, ist als letztes das Aussehen der Listzeile zu vereinbaren. Der Befehl hierzu lautet:
  14.  
  15. * Feld L{CBM-F}nge , Feld L{CBM-F}nge , Feld L{CBM-F}nge
  16.  
  17. Eingeleitet wird die Vereinbarung durch das Zeichen "*". Diesem haben die Feldnummer und die Anzahl der auszugebenden Zeichen zu folgen. Ein Komma besagt, da{CBM-V} noch jeweils ein weiteres Feld folgt. Zu beachten ist, da{CBM-V} die addierten Feldl{CBM-F}ngen zusammen mit je einem weiteren Leerzeichen pro Feld nicht mehr Zeichen ergeben d{CBM-X}rfen, als in eine Bildschirmzeile passen. Ein Zeilenumbruch w{CBM-X}rde im Programm die ganze Auflistung durcheinanderbringen.
  18.  
  19. Druckfiles
  20. ----------
  21. Wie ein Druckfile aussieht, sehen Sie, wenn Sie etwa das File proglist in den Texteditor laden.
  22. In der ersten Zeile eines Druckfiles hat der Name zu stehen, der sp{CBM-F}ter bei der Druckauswahl im Men{CBM-X} erscheinen soll.
  23. Weitere Angaben werden durch Steuerzeichen eingeleitet, so da{CBM-V} hierbei keine strenge Reihenfolge einzuhalten ist. Sie werden nacheinander beim Ausdrucken abgearbeitet.
  24.  
  25. Open
  26. ----
  27. Bevor die Ausgabe von Zeichen erfolgen kann, mu{CBM-V} der Druckerkanal ge{CBM-C}ffnet sein. Dies geschieht durch den Buchstaben o, gefolgt von Ger{CBM-F}te- und Sekund{CBM-F}radresse. Es m{CBM-X}ssen immer alle zwei Werte angegeben werden:
  28.  
  29. o 4 7
  30.  
  31. Als Erweiterung kommt neu die Angabe des Filenamens hinzu. Durch ein Komma nach der Sekund{CBM-F}radresse wird bekanntgegeben, da{CBM-V} ein Dateiname folgt. Dieser Name ist zwischen zwei doppelte Anf{CBM-X}hrungszeichen einzuschlie{CBM-V}en, etwa:
  32.  
  33. o 8 15 , "s:datenfile"
  34. o 8 8 , "datenfile,s,w"
  35.  
  36. Hier wird ein Datenfile gel{CBM-C}scht und anschlie{CBM-V}end neu zum Beschreiben ge{CBM-C}ffnet. Eine Close-Anweisung ist nicht erforderlich, da diese bereits in der Open-Anweisung enthalten ist.
  37.  
  38. Rand
  39. ----
  40. Ein linker Rand wird durch den Buchstaben r, gefolgt von einem Wert, eingestellt, etwa:
  41.  
  42. r 10
  43.  
  44. Jedem Return schlie{CBM-V}t sich daraufhin die vereinbarte Anzahl von Leerzeichen an.
  45.  
  46. Textausgabe
  47. -----------
  48. Auszudruckende feststehende Texte werden durch Einschlu{CBM-V} in doppelte Anf{CBM-X}hrungszeichen gekennzeichnet:
  49.  
  50. "auszugebender Text"
  51.  
  52. Nicht darstellbare Zeichen
  53. --------------------------
  54. Nicht darstellbare Zeichen werden durch einen Punkt, gefolgt von einem ASCII-Wert, gekennzeichnet, etwa:
  55.  
  56. . 13
  57.  
  58. Return braucht allerdings nicht auf diese Weise ausgegeben zu werden. Hierf{CBM-X}r existiert der Steuerbefehl n.
  59.  
  60. Spaltenposition
  61. ---------------
  62. Die Positionierung innerhalb einer Zeile l{CBM-F}{CBM-V}t sich durch Ausgabe einer bestimmten Anzahl von Leerzeichen festlegen, was der Einfachheit halber durch den Steuerbefehl l, gefolgt von einer Zahl, zu bewerkstelligen ist:
  63.  
  64. l 10
  65.  
  66. Dies w{CBM-X}rde die Ausgabe von zehn Leerzeichen bedeuten.
  67.  
  68. Zeilenposition
  69. --------------
  70. Mehrmaliges Return kann durch den Gro{CBM-V}buchstaben N, gefolgt von einer Zahl, ausgegeben werden:
  71.  
  72. N 4
  73. entspricht
  74. n n n n
  75.  
  76. Zeichenwiederholung
  77. -------------------
  78. Ein Zeichen kann durch einen Doppelpunkt, gefolgt von ASCII-Wert und Anzahl, mehrmals ausgegeben werden:
  79.  
  80. : 45 20
  81. oder
  82. : '-' 20
  83.  
  84. Daten aus Variablen
  85. -------------------
  86. Es existieren zwei Arten von Variablen, n{CBM-F}mlich die Felder des Datensatzes sowie zehn weitere f{CBM-X}r das Druckformular frei zur Verf{CBM-X}gung stehende Variablen. Angesprochen werden diese durch den Buchstaben f (Felder des Datensatzes) oder v (andere Variablen), gefolgt von einer Nummer. Bei den v-Variablen sind dies die Nummern Null bis Neun.
  87.  
  88. f 0
  89. oder
  90. v 5
  91.  
  92. Die Angabe einer Variablen oder eines Feldes bewirkt noch keine Ausgabe, sondern nur die Vorwahl der Daten f{CBM-X}r die Ausgabe.
  93.  
  94. Leere Variablen
  95. ---------------
  96. Viele Programme m{CBM-C}gen keine leeren Datenfelder. Dies gilt es zu ber{CBM-X}cksichtigen, wenn Sie Daten f{CBM-X}r ein anderes Programm bereitstellen m{CBM-C}chten. Ein Pfeil nach links (_) bewirkt, da{CBM-V} ein Leerzeichen in eine vorgew{CBM-F}hlte leere Variable geschrieben wird, etwa:
  97.  
  98. f 1 _
  99.  
  100. Bei Datenfeldern ist davon nur ein tempor{CBM-F}rer Zwischenspeicher betroffen, so da{CBM-V} sich an Ihrer Datei im Speicher nichts {CBM-F}ndert. Auf Variablen, die bereits Daten enthalten, wirkt sich der Befehl nicht aus.
  101.  
  102. Datenausgabe
  103. ------------
  104. Die Datenausgabe ist auf zweierlei Weise m{CBM-C}glich. Entweder werden alle Zeichen des Dateneintrags ausgegeben, was sinnvoll ist, wenn etwa hinter dem Vornamen, durch ein Leerzeichen getrennt, der Familienname auszugeben ist. Diese Form wird durch ein Ausrufezeichen bewirkt, etwa:
  105.  
  106. f 1 ! " " f 0 _ !
  107.  
  108. Die andere Form ist bei Tabellen wichtig. Hier wird zus{CBM-F}tzlich die L{CBM-F}nge der Ausgabe angegeben, woraufhin entweder die Ausgabe entsprechend beschnitten oder durch zus{CBM-F}tzliche Leerzeichen erg{CBM-F}nzt wird. Als Steuerzeichen dienen zwei unmittelbar aufeinanderfolgende Ausrufezeichen. Sollen beim Vornamen 12 Zeichen, beim Nachnamen 15 Zeichen ausgegeben werden, so k{CBM-C}nnte dies etwa so aussehen:
  109.  
  110. f 1 !! 12 " " f 2 !! 15
  111.  
  112. Dateneingabe
  113. Die Eingabe von Daten in die f{CBM-X}r die Druckausgabe zur Verf{CBM-X}gung stehenden Variablen geschieht durch das Fragezeichen, diesem haben eine f{CBM-X}r den Bildschirm bestimmte Meldung zwischen zwei Anf{CBM-X}hrungszeichen, die Variablennummer sowie eine Kennung 0 f{CBM-X}r leeres Datenfeld oder 1 f{CBM-X}r das Editieren bereits vorhandener Daten zu folgen, etwa:
  114.  
  115. ? "Datum" 0 1
  116.  
  117. Hier bekommt der Anwender die Meldung "Datum" auf den Bildschirm und kann den Inhalt der Variablen 0 {CBM-F}ndern. Ein weiteres Beispiel w{CBM-F}re:
  118.  
  119. ? "Betrag" 1 0
  120.  
  121. Hier bekommt der Anwender ein leeres Betragsfeld zur Eingabe zur Verf{CBM-X}gung gestellt.
  122.  
  123. Einzeldruck
  124. -----------
  125. Beim Einzeldruck wird ein Formular nur einmal ausgedruckt. Hierf{CBM-X}r ist keinerlei besondere Kennzeichnung n{CBM-C}tig.
  126.  
  127. Multidruck
  128. Ein Formular wird mit den Daten des aktuellen Satzes mehrfach ausgegeben.
  129. Der Befehl m f{CBM-X}hrt dazu, da{CBM-V} die Anzahl der anzufertigen Drucke abgefragt wird und die nachfolgenden Befehle entsprechend wiederholt ausgef{CBM-X}hrt werden. Ein Druckformular k{CBM-C}nnte etwa so aussehen:
  130.  
  131. etikett
  132. r 10 o 4 7
  133. m
  134. ...
  135.  
  136. Seriendruck
  137. -----------
  138. Beim Seriendruck werden alle markierten Datens{CBM-F}tze abgearbeitet. Dabei k{CBM-C}nnen auch ein Vorspann und ein Nachspann gedruckt werden. Der Teil des Formulars, der in runde Klammern eingeschlossen ist, wird f{CBM-X}r alle markierten Datens{CBM-F}tze abgearbeitet:
  139.  
  140. diskinhalt
  141. r 5 o 4 7
  142. "Vorspann" n
  143. ( ... )
  144. "Nachspann" n
  145.  
  146. Datensatzwahl
  147. -------------
  148. F{CBM-X}r den Fall, da{CBM-V} im Vorspann oder Nachspann auf Daten eines markierten Datensatzes zugegriffen werden soll, besteht die M{CBM-C}glichkeit, den ersten markierten Datensatz auszuw{CBM-F}hlen, was mit dem Zeichen "*" bewirkt wird. So k{CBM-C}nnten etwa alle Programme einer Diskette, die zuvor markiert wurden, mit einer {SHIFT--}berschrift, die die Kennzeichnung der Diskette enth{CBM-F}lt, ausgedruckt werden:
  149.  
  150. diskinhalt
  151. r 10 o 4 7 n
  152. "Diskette: " * f 2 ! n
  153. "----------" n
  154. ( ... )
  155. "----------" n
  156.  
  157. Anmerkungen
  158. -----------
  159. Ein Druckformular braucht nicht unbedingt einen Ausdruck zu enthalten. Es kann auch benutzt werden, um lediglich Daten in die Variablen einzugeben, was vielleicht f{CBM-X}r ein Datum genau richtig w{CBM-F}re. Dieses br{CBM-F}uchte dann nicht st{CBM-F}ndig von jedem Druckformular erneut abgefragt werden. Ein vollst{CBM-F}ndiges File f{CBM-X}r ein solches Vorhaben w{CBM-F}re:
  160.  
  161. Datum
  162. ? "Datum" 0 0
  163.  
  164. Einen weiteren interessanten Befehl gibt es noch, er besteht aus einem Pluszeichen (+). Er bewirkt das Suchen des n{CBM-F}chsten markierten Eintrages. Somit k{CBM-C}nnten Sie auch im Einzeldruck alle markierten Datens{CBM-F}tze hintereinander ausdrucken oder lediglich den n{CBM-F}chsten markierten Satz suchen:
  165.  
  166. Such Marke
  167. +
  168.  
  169. Da die Ausdrucke haupts{CBM-F}chlich f{CBM-X}r Formulare gedacht sind, gibt es keine Einstellung des rechten Randes und auch keinen automatischen Zeilenumbruch. Die Zeilenumbr{CBM-X}che m{CBM-X}ssen daher stets durch das Befehlszeichen n gesetzt werden.
  170. Mit den Verbesserungen und Erweiterungen besitzen Sie jetzt ein wirklich universelles Dateiverwaltungssystem, das auch von Vorteil f{CBM-X}r bereits bestehende Dateianwendungen ist. In der Art, wie dies im Druckfile progsavelist geschieht, lassen sich bestehende Dateien nach {SHIFT--}bernahme in DV und eventueller Erweiterung beliebig umstellen. Wollen Sie eine neue DV-Datei mit Hilfe eines Druckformulars erstellen, so ist eine Programmdatei zu er{CBM-C}ffnen, sind zu Beginn zwei beliebige Bytes zu senden und zu Beginn jedes Satzes das Kennbyte "#", etwa:
  171.  
  172. Neue DV-Datei
  173. o 8 8 , "dvdatei,p,w"
  174. "00" 
  175. ( "#" f 0 ! n
  176.       f 1 ! n
  177.       ...
  178. )
  179.  
  180. Bei versehentlicher Anwahl von Print k{CBM-C}nnte es Sie st{CBM-C}ren, da{CBM-V} im Programm keine M{CBM-C}glichkeit besteht, aus der Printauswahl ohne Ausdrucken wieder zur{CBM-X}ckzukehren. Das ist aber kein Problem. Eine Druckdatei, die au{CBM-V}er dem f{CBM-X}r das Men{CBM-X} gedachten Namen nur ein Leerzeichen oder ein Return enth{CBM-F}lt, w{CBM-F}re hier die L{CBM-C}sung.
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.   Mit F7 erhalten Sie den deutschen
  190.   Zeichensatz.
  191.  
  192.   Mit Clr gelangen Sie nach Verlassen
  193.   des Men{CBM-X}s (Leertaste) an den
  194.   Textanfang.
  195.  
  196.  ( Diesen File k{CBM-C}nnen Sie {CBM-X}brigens
  197.    auch im Editor (F3,D,L) unter
  198.    dem Namen dv.txt laden. )
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.