home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 03 / read.me next >
Encoding:
Text File  |  1991-02-07  |  22.9 KB  |  487 lines

  1.  DATABOX
  2.    3'91
  3. ╔════════════════════════════════════════════════════════════════════════╗
  4. ║                                                                        ║
  5. ║ ⌐████   ███  █████  ███  ████   ███  █   █        ████   █   ███    █¬   ║
  6. ║ ⌐█   █ █   █   █   █   █ █   █ █   █  █ █             █  █  █   █  ██¬   ║
  7. ║ ⌐█   █ █████   █   █████ ████  █   █   █           ███       ████   █¬   ║
  8. ║ ⌐█   █ █   █   █   █   █ █   █ █   █  █ █             █         █   █¬   ║
  9. ║ ⌐████  █   █   █   █   █ ████   ███  █   █        ████       ███   ███¬  ║
  10. ║                                                                        ║
  11. ║  D I E   S O F T W A R E   Z U M   M A G A Z I N     (c) 1991 toolbox  ║
  12. ║                                                                        ║
  13. ╚════════════════════════════════════════════════════════════════════════╝
  14.  
  15. ,,0
  16. ⌐0. INHALTSVERZEICHNIS
  17. ⌐═════════════════════
  18.  
  19. ⌐<0>¬..........Inhaltsverzeichnis
  20. ⌐<1>¬..........Bedienung des Readme-Programms
  21. ⌐<2>¬..........Anzahl und Umfang aller Programme und Dateien
  22. ⌐<3>¬..........Inhaltsübersicht Diskette 1
  23. ⌐<4>¬..........Inhaltsübersicht Diskette 2
  24. ⌐<5>¬..........Inhaltsübersicht Diskette 3
  25. ⌐<6>¬..........Inhaltsübersicht Diskette 4
  26. ⌐<7>¬..........Bonusprogramm "Hercules"
  27. ⌐<8>¬..........Bonusprogramm "Box"
  28. ⌐<9>¬..........Hinweise
  29.  
  30.  
  31. ,,1
  32. ⌐1. BEDIENUNG DES README-PROGRAMMS
  33. ⌐═════════════════════════════════
  34.  
  35. ⌐<Cursor hoch/runter>¬.........Eine Zeile nach oben/unten scrollen
  36.  
  37. ⌐<Bild hoch/runter>¬...........Eine Seite nach oben/unten blättern
  38.  
  39. ⌐<Pos1>, <Ende>¬...............Zum Anfang/Ende des Textes springen
  40.  
  41. ⌐<Esc>¬........................Readme verlassen
  42.  
  43. Außerdem können Sie alle Kapitel bequem über die in ⌐<¬ und ⌐>¬ einge-
  44. schlossenen Hotkeys anwählen, die im Inhaltsverzeichnis angegeben sind.
  45.  
  46.  
  47. ,,2
  48. ⌐2. ANZAHL UND UMFANG ALLER PROGRAMME UND DATEIEN
  49. ⌐════════════════════════════════════════════════
  50.  
  51. ┌───────┐        ╔════════════╤════════════════════════════════╗
  52. │ ┌───────┐      ║ Diskette 1 │   358.400 Bytes in  45 Dateien ║
  53. │ │ ┌───────┐    ║ Diskette 2 │   336.896 Bytes in  28 Dateien ║
  54. │ │ │ ┌───────┐  ║ Diskette 3 │   326.656 Bytes in  21 Dateien ║
  55. └─│ │ │       │  ║ Diskette 4 │   194.560 Bytes in  16 Dateien ║
  56.   └─│ │   O   │  ╟────────────┼────────────────────────────────╢
  57.     └─│   ║   │  ║ Gesamt     │ 1.216.512 Bytes in 110 Dateien ║
  58.       └───────┘  ╚════════════╧════════════════════════════════╝
  59.  
  60.  
  61. ,,3
  62. ⌐3. INHALTSÜBERSICHT DISKETTE 1
  63. ⌐══════════════════════════════
  64.  
  65. A:\
  66.         read.me         23.471 Bytes  10.36  Don  7 Feb 91
  67.         readme.exe       8.496 Bytes  12.15  Mit 14 Nov 90
  68.         setbgi.bat          20 Bytes  13.12  Mit  6 Feb 91
  69.         BGI                <DIR>       9.38  Don  7 Feb 91
  70.         TRICKS             <DIR>       9.39  Don  7 Feb 91
  71.         LDM                <DIR>       9.40  Don  7 Feb 91
  72.         DTP                <DIR>       9.45  Don  7 Feb 91
  73.  
  74. A:\BGI
  75.         .                  <DIR>       9.38  Don  7 Feb 91
  76.         ..                 <DIR>       9.38  Don  7 Feb 91
  77.         cga.bgi          6.253 Bytes   5.50  Don 15 Jun 89
  78.         egavga.bgi       5.363 Bytes   5.50  Don 15 Jun 89
  79.         herc.bgi         6.125 Bytes   5.50  Don 15 Jun 89
  80.  
  81. A:\TRICKS
  82.         .                  <DIR>       9.39  Don  7 Feb 91
  83.         ..                 <DIR>       9.39  Don  7 Feb 91
  84.         clean.exe        9.508 Bytes  15.54  Mon 10 Dez 90
  85.         clean.pas        2.736 Bytes  15.54  Mon 10 Dez 90
  86.         dbtree.exe      11.985 Bytes  13.22  Mon 10 Dez 90
  87.         dbtree.pas       4.011 Bytes  13.22  Mon 10 Dez 90
  88.         execdemo.exe     9.723 Bytes  17.51  Mon 10 Dez 90
  89.         execdemo.pas     5.281 Bytes  17.54  Mon 10 Dez 90
  90.         hpademo.asm     10.413 Bytes  15.11  Mon 10 Dez 90
  91.         hpademo.com        636 Bytes   9.48  Don 20 Sep 90
  92.         keydef.pas       1.675 Bytes  18.46  Mon 10 Dez 90
  93.         mkcursor.exe     6.513 Bytes  19.01  Mon 10 Dez 90
  94.         mkcursor.pas       909 Bytes  19.01  Mon 10 Dez 90
  95.         mousenew.com        10 Bytes  19.01  Mit 17 Jan 90
  96.         mousenew.deb       280 Bytes  19.11  Mit 17 Jan 90
  97.         mousenew.exe     5.115 Bytes  15.59  Mon 10 Dez 90
  98.         mousenew.pas       658 Bytes  15.58  Mon 10 Dez 90
  99.         scansend.exe    13.604 Bytes  19.23  Mon 10 Dez 90
  100.         scansend.pas     4.489 Bytes  19.23  Mon 10 Dez 90
  101.         smausaus.exe     8.178 Bytes  16.08  Mon 10 Dez 90
  102.         smausaus.pas       927 Bytes  16.08  Mon 10 Dez 90
  103.         tsr.pas          1.966 Bytes  18.57  Mon 10 Dez 90
  104.         verzerre.exe    37.704 Bytes  14.05  Mon 10 Dez 90
  105.         verzerre.pas     6.742 Bytes  14.26  Mon 10 Dez 90
  106.         which.exe        5.536 Bytes  13.57  Mit  6 Feb 91
  107.         which.pas        1.987 Bytes  12.25  Mit  6 Feb 91
  108.  
  109. A:\LDM
  110.         .                  <DIR>       9.40  Don  7 Feb 91
  111.         ..                 <DIR>       9.40  Don  7 Feb 91
  112.         demo2.exe       34.776 Bytes  14.10  Fre 11 Jan 91
  113.         demo2.pas        3.690 Bytes  14.09  Fre 11 Jan 91
  114.         world.pas       12.465 Bytes   9.16  Mit  2 Jan 91
  115.         wrlddemo.exe    23.504 Bytes  13.23  Mit  6 Feb 91
  116.         wrlddemo.pas     3.114 Bytes   9.17  Mit  2 Jan 91
  117.         zykloid.exe     24.752 Bytes  13.23  Mit  6 Feb 91
  118.         zykloid.pas      3.507 Bytes  13.23  Mit  6 Feb 91
  119.  
  120. A:\DTP
  121.         .                  <DIR>       9.45  Don  7 Feb 91
  122.         ..                 <DIR>       9.45  Don  7 Feb 91
  123.         handbuch.exe    12.319 Bytes  13.31  Fre 18 Jan 91
  124.         handbuch.ini     3.969 Bytes   9.18  Fre 18 Jan 91
  125.         handbuch.pas     5.980 Bytes  13.07  Son 20 Jan 91
  126.         pr0391_1.ps      3.116 Bytes  14.15  Son 20 Jan 91
  127.         pr0391_2.ps        721 Bytes  15.00  Son 20 Jan 91
  128.         pr0391_3.ps        450 Bytes  14.40  Son 20 Jan 91
  129.         pr0391_4.ps      1.776 Bytes  15.09  Son 20 Jan 91
  130.         test.ps          2.432 Bytes  14.18  Son 20 Jan 91
  131.  
  132.     358.400 Bytes in 45 Benutzerdateien
  133.  
  134.  
  135. ,,4
  136. ⌐4. INHALTSÜBERSICHT DISKETTE 2
  137. ⌐══════════════════════════════
  138.  
  139. A:\
  140.         C                  <DIR>       9.42  Don  7 Feb 91
  141.         LESER              <DIR>       9.46  Don  7 Feb 91
  142.  
  143. A:\C
  144.         .                  <DIR>       9.42  Don  7 Feb 91
  145.         ..                 <DIR>       9.42  Don  7 Feb 91
  146.         bug1.cpp         1.027 Bytes  13.11  Die  2 Okt 90
  147.         bug2.cpp         1.046 Bytes  13.17  Die  2 Okt 90
  148.         bug3.cpp         1.330 Bytes  13.19  Die  2 Okt 90
  149.         bug4.cpp        19.711 Bytes  11.06  Don  4 Okt 90
  150.         cstest.cpp       1.374 Bytes  17.33  Mon 12 Nov 90
  151.         cstest.exe      71.284 Bytes  17.47  Mit  6 Feb 91
  152.         cstest.prj       5.480 Bytes  17.48  Mit  6 Feb 91
  153.         cstring.cpp      3.562 Bytes  17.46  Mit  6 Feb 91
  154.         cstring.h        3.889 Bytes  17.44  Mit  6 Feb 91
  155.         timeclss.cpp     2.014 Bytes  18.40  Die  2 Okt 90
  156.         timeclss.h       2.502 Bytes  19.14  Die  2 Okt 90
  157.         timetest.cpp     1.185 Bytes  13.40  Die  2 Okt 90
  158.         timetest.exe    50.616 Bytes  19.15  Die  2 Okt 90
  159.         timetest.prj    13.227 Bytes  19.15  Die  2 Okt 90
  160.         tree.cpp         1.745 Bytes  17.50  Mit  6 Feb 91
  161.         tree.h           1.208 Bytes  17.42  Mon 12 Nov 90
  162.         virtual.c        2.376 Bytes  18.53  Mon 12 Nov 90
  163.         virtual.exe     25.152 Bytes  17.42  Mit  6 Feb 91
  164.         wc.cpp           2.355 Bytes  17.49  Mit  6 Feb 91
  165.         wc.exe          80.879 Bytes  17.51  Mit  6 Feb 91
  166.         wc.prj           5.588 Bytes  17.51  Mit  6 Feb 91
  167.  
  168. A:\LESER
  169.         .                  <DIR>       9.46  Don  7 Feb 91
  170.         ..                 <DIR>       9.46  Don  7 Feb 91
  171.         getscan.exe      4.032 Bytes  15.36  Mit  6 Feb 91
  172.         getscan.pas        371 Bytes  12.34  Mit 16 Jan 91
  173.         indemo.exe      10.032 Bytes  15.36  Mit  6 Feb 91
  174.         indemo.pas       1.286 Bytes  18.13  Die 11 Dez 90
  175.         input.pas        5.984 Bytes  18.05  Die 11 Dez 90
  176.         shelltst.exe     2.288 Bytes  15.38  Mit  6 Feb 91
  177.         shelltst.pas       463 Bytes  15.38  Mit  6 Feb 91
  178.  
  179.     336.896 Bytes in 28 Benutzerdateien
  180.  
  181.  
  182. ,,5
  183. ⌐5. INHALTSÜBERSICHT DISKETTE 3
  184. ⌐══════════════════════════════
  185.  
  186. A:\
  187.         EINSTEIG           <DIR>       9.48  Don  7 Feb 91
  188.         GRDLAGEN           <DIR>       9.50  Don  7 Feb 91
  189.         PRAXIS             <DIR>       9.51  Don  7 Feb 91
  190.         TITEL              <DIR>      10.01  Don  7 Feb 91
  191.  
  192. A:\EINSTEIG
  193.         .                  <DIR>       9.48  Don  7 Feb 91
  194.         ..                 <DIR>       9.48  Don  7 Feb 91
  195.         comp_art.bas    11.135 Bytes  11.51  Mit  6 Feb 91
  196.         comp_art.exe    83.008 Bytes  13.08  Don  6 Dez 90
  197.         comp_mod.bas    33.000 Bytes  16.45  Son 17 Feb 91
  198.         tools.bas       21.215 Bytes  16.41  Son 17 Feb 91
  199.         tools.lib       19.985 Bytes  16.01  Die 13 Nov 90
  200.         tools.qlb       18.643 Bytes  16.01  Die 13 Nov 90
  201.  
  202. A:\GRDLAGEN
  203.         .                  <DIR>       9.50  Don  7 Feb 91
  204.         ..                 <DIR>       9.50  Don  7 Feb 91
  205.         crtdemo.exe     33.524 Bytes  12.50  Fre  7 Dez 90
  206.         crtdemo.pas      3.235 Bytes  12.53  Fre  7 Dez 90
  207.         crtvar.pas         932 Bytes  11.58  Die 18 Dez 90
  208.         evsmdemo.exe    23.782 Bytes  15.50  Don  8 Nov 90
  209.         evsmdemo.pas     1.860 Bytes  15.00  Don  8 Nov 90
  210.         extvsm.pas       5.272 Bytes  15.17  Don  8 Nov 90
  211.         extvsm2.pas      8.620 Bytes  12.54  Fre  7 Dez 90
  212.         rootvsm.pas      5.098 Bytes  15.50  Don  8 Nov 90
  213.         scrobj.pas       1.822 Bytes  15.34  Don  8 Nov 90
  214.         vsobj.pas        7.046 Bytes  15.50  Don  8 Nov 90
  215.  
  216. A:\PRAXIS
  217.         .                  <DIR>       9.51  Don  7 Feb 91
  218.         ..                 <DIR>       9.51  Don  7 Feb 91
  219.         astool01.asm     3.198 Bytes  15.07  Die  4 Dez 90
  220.         astool02.asm    10.762 Bytes  15.14  Die  4 Dez 90
  221.         rcmess.exe      10.976 Bytes  10.53  Fre  7 Dez 90
  222.         rcmess.pas       8.533 Bytes  15.47  Don 13 Dez 90
  223.  
  224. A:\TITEL
  225.         .                  <DIR>      10.01  Don  7 Feb 91
  226.         ..                 <DIR>      10.01  Don  7 Feb 91
  227.         list_386.pas     4.289 Bytes  11.37  Don 13 Dez 90
  228.  
  229.     326.656 Bytes in 21 Benutzerdateien
  230.  
  231.  
  232. ,,6
  233. ⌐6. INHALTSÜBERSICHT DISKETTE 4
  234. ⌐══════════════════════════════
  235.  
  236. A:\
  237.         BONUS              <DIR>      10.03  Don  7 Feb 91
  238.         REVIEW             <DIR>      10.07  Don  7 Feb 91
  239.  
  240. A:\BONUS
  241.         .                  <DIR>      10.03  Don  7 Feb 91
  242.         ..                 <DIR>      10.03  Don  7 Feb 91
  243.         box.exe         22.912 Bytes  13.57  Mit  6 Feb 91
  244.         box.pas         27.412 Bytes  13.31  Mit  6 Feb 91
  245.         boxerg.pas       9.815 Bytes  13.45  Mit  6 Feb 91
  246.         hercules.exe     4.704 Bytes  13.56  Mit  6 Feb 91
  247.         hercules.pas     4.331 Bytes  13.47  Mit  6 Feb 91
  248.         hilfe.box        1.520 Bytes   2.04  Die 22 Jan 91
  249.         mausit.pas       3.071 Bytes  13.49  Mit  6 Feb 91
  250.         status.exe       4.064 Bytes  13.29  Mon 28 Jan 91
  251.         status.pas         322 Bytes  13.29  Mon 28 Jan 91
  252.  
  253. A:\REVIEW
  254.         .                  <DIR>      10.07  Don  7 Feb 91
  255.         ..                 <DIR>      10.07  Don  7 Feb 91
  256.         demo.c           1.148 Bytes  15.12  Mit  6 Feb 91
  257.         graphdem.exe    34.560 Bytes  23.30  Son  2 Dez 90
  258.         graphdem.pas     1.401 Bytes  23.26  Son  2 Dez 90
  259.         menudemo.exe    42.496 Bytes  23.32  Son  2 Dez 90
  260.         menudemo.pas     3.165 Bytes  10.01  Mit 12 Dez 90
  261.         primtest.exe    22.891 Bytes  16.48  Mon 17 Dez 90
  262.         primtest.pas     2.388 Bytes  16.21  Mon 17 Dez 90
  263.  
  264.     194.560 Bytes in 16 Benutzerdateien
  265.  
  266.  
  267. ,,7
  268. ⌐7. Bonusprogramm "Hercules"
  269. ⌐═══════════════════════════
  270.  
  271. "Hercules" ist ein speicherresidentes "Utility-Paket" für Hercules-Grafik-
  272. karten. Folgende Tools sind implementiert:
  273. - Uhrzeitanzeige
  274. - "Bildschirmschoner" mit vier Minuten Wartezeit
  275. - Umschaltmöglichkeit Textmodus/Graphikmodus/Dunkelschaltung mit
  276.   <Ctrl>-<Alt>-<S>
  277. - abschaltbare Maus-Cursortastenemulation mit <Ctr>-<Alt>-<M>]
  278.  
  279. Einige Details zum Programm:
  280.  
  281. Die Uhrzeitanzeige und die Überprüfung der Wartezeit, bis der "Bildschirm-
  282. schoner" zuschlägt, übernimmt die Prozedur "TimerInt". Ob die Wartezeit
  283. abgelaufen ist, wird von der Prozedur "KeybdInt" mitbestimmt. Diese erhöht
  284. die Wartezeit bei jedem Tastendruck wieder auf vier Minuten. Zusätzlich
  285. kümmert sich "KeybdInt" darum, ob der Modus der Graphikkarte oder die Mau-
  286. semulation umgeschaltet werden soll. Dazu überprüft die Prozedur den Ta-
  287. staturstatus hinsichtlich der Sondertasten (Mem[$40:$17]) und den physi-
  288. kalischen Scancode der gedrückten Taste (Port[$60]).
  289.  
  290. Das Umschalten Text-/Graphikmodus/Dunkel erledigt die Prozedur "Tog-
  291. gleScr". Dazu wird der Controllerbaustein (Motorola 6845) umprogrammiert.
  292. Die Werte der beiden Arrays "TTable" und "GTable" sind dem Datenblatt des
  293. 6845er entnommen (frei zitiert nach C. Diedrichsen, näheres siehe toolbox
  294. 1'89). "Kippt" beim Umschalten vom Text- in den Graphikmodus die Bild-
  295. schirmanzeige um, so empfiehlt sich schnelles Weiterschalten. Dies tritt
  296. in der Regel nur dann auf, wenn die erste Grafikseite der Herculeskarte
  297. seit dem letzten Kaltstart noch "leer" ist. Nahezu jedes graphische Anwen-
  298. dungsprogramm "füllt" sie aber, dann tritt das "Umkippen" nicht mehr auf -
  299. bis zum nächsten Kaltstart.
  300.  
  301. Die Maus-Cursortastenemulation erledigt die Unit "Mausit". Durch die ein-
  302. fache Einbindung mit "USES MausIt" wird so jedes Turbo-Pascal-Programm
  303. mausfähig. Die rechte Maustaste emuliert die <Escape>-Taste, die linke
  304. <Enter>. Stört die Emulation (wie z.B. bei ERGO), schaltet man sie vor-
  305. übergehend mit <Ctrl>-<Alt>-<M> aus - und später wieder ein. Dafür zustän-
  306. dig ist die Prozedur "SwitchMouse". Die beiden anderen exportierten Proze-
  307. duren von "Mausit" sollte man nur benutzen, falls der Timerinterrupt zwi-
  308. schendurch für andere Zwecke mißbraucht werden soll (Vorsicht!), oder, wie
  309. bei "Hercules", nach der Initialisierung überschrieben wird.
  310.  
  311. Wird im Hauptteil von "Hercules.Pas" die Prozedur "MouseOff" nicht aufge-
  312. rufen, so wird bleibt beim Abschalten der Mausemulation die Uhrzeitanzeige
  313. aktiv.
  314.  
  315. Die voreingestellten Hotkeys ("S_Key", "M_Key", "KeybdStatus") von "Hercu-
  316. les.Pas" lassen sich problemlos ändern. Die nötigen Werte liefert "Sta-
  317. tus.Exe". Durch Definieren eines dritten Hotkeys und der entsprechenden
  318. Abfrage desselben in der Prozedur "KeybdInt" läßt sich z.B. eine Graphik-
  319. Hardcopy einbinden.
  320.  
  321. Durch (ersatzloses?) Streichen der Prozedur "ToggleScr" und Ändern einiger
  322. Werte dürfte sich das Programm auch an andere Graphikkarten anpassen las-
  323. sen - und drei von vier Funktionen sind doch auch nicht schlecht.
  324.  
  325. Die im Programm verwendeten Ports:
  326.  
  327. ╔═══════════════╤════════════════════════════════════════════════════════╗
  328. ║ Port[Adresse] │ Baustein                                               ║
  329. ╟───────────────┼────────────────────────────────────────────────────────╢
  330. ║ 3B4h          │ Video-Controller 6845 (Adreßregister)                  ║
  331. ║ 3B5h          │ Video-Controller 6845 (Datenregister)                  ║
  332. ║ 3B8h          │ Video-Controller 6845 (Steuerregister)                 ║
  333. ║ 60h           │ Parallel-Portbaustein 8255 (u.a. Tastatur, nicht LPT)  ║
  334. ║ 20h           │ Interrupt-Controller 8259 (u.a. Timer-Interrupt)       ║
  335. ╚═══════════════╧════════════════════════════════════════════════════════╝
  336.  
  337.  
  338. ,,8
  339. ⌐8. Bonusprogramm "Box"
  340. ⌐══════════════════════
  341.  
  342. In den meisten Textverarbeitungen vermißt man eine Möglichkeit, mit der
  343. sich auf einfache Weise die Grafikzeichen des IBM-Zeichensatzes sinnvoll
  344. nutzen lassen. Eine einfache ASCII-Tabelle ist in vielen Programmen schon
  345. das Höchste der Gefühle. Nur durch mühsames Hantieren mit der <ALT>-Taste
  346. und dem Ziffernblock sowie ständiges Nachschlagen in einer ASCII-Tabelle
  347. lassen sich hier Rahmen, Tabellen und anderes konstruieren.
  348.  
  349. Hier setzt "Box" an: "Box" ermöglicht mit Hilfe des erweiterten IBM-Zei-
  350. chensatzes das Zeichnen von Rahmen, Linien, einfachen Graphiken und vielem
  351. anderen. Natürlich kann man bei "Box" nicht nur zeichnen, sondern auch
  352. Text eingeben, und so Blockgraphik und Text vermischen.
  353.  
  354. Dabei kann man bei "Box" wahlweise den gesamten Bildschirm als Zeichenflä-
  355. che benutzen oder eine Statuszeile mit den wichtigsten Angaben einblenden.
  356. Die mit "Box" erzeugten Bilder lassen sich als reine ASCII-Files abspei-
  357. chern und mit jeder Textverarbeitung wieder einlesen und in eigene Texte
  358. einbinden.
  359.  
  360. Ausgangspunkt für die Entwicklung von "Box" war die Suche nach einem Pro-
  361. gramm, das es ermöglicht, mit den Cursortasten einen einfachen Rahmen auf
  362. den Bildschirm zu zeichnen.
  363.  
  364. Das Grundproblem bei der Sache war die Frage, wie man zunächst einmal die
  365. Ecken und später dann auch vor allem noch die Kreuzungspunkte von zwei
  366. Linien richtig setzen sollte. Dies zu bewältigen, machte eine (äußerlich)
  367. recht umfangreiche Konstruktion erforderlich: Zunächst einmal wird mit der
  368. globalen Variablen "Aktiv", die durch <F4> auf TRUE, bzw. FALSE gesetzt
  369. wird, festgelegt, ob der Zeichenmodus aktiv ist oder nicht. Ist der Zei-
  370. chenmodus aktiv, so kann man mit den vier Pfeiltasten Linien zeichnen; ist
  371. er nicht aktiv, läßt sich der Cursor ganz normal auf dem Bildschirm bewe-
  372. gen.
  373.  
  374. Sobald der Zeichenmodus aktiviert wird, kommt eine zweite globale Variable
  375. namens "Dir" ins Spiel, die die jeweilige Richtung des Cursors speichert,
  376. und insgesamt nur die fünf Werte "keine" (wenn der Zeichenmodus gerade
  377. aktiviert wurde), "rechts", "links", "rauf" und "runter" annehmen kann. Da
  378. die ASCII-Tabelle sowohl Grafikzeichen für einfache wie auch für doppelte
  379. Linien kennt, wird noch eine weitere globale Variable namens "Sorte" benö-
  380. tigt, die die Art der Linien zugewiesen bekommt ("einfach", "doppelt" oder
  381. "definiert").
  382.  
  383. Wird jetzt eine der vier Pfeiltasten betätigt, prüft die Prozedur "Pfeil-
  384. tasten" zunächst einmal den Inhalt der als Referenzparameter übergebenen
  385. Variablen "Sorte". Je nach deren Inhalt wird dann in eine von drei Schlei-
  386. fen verzweigt, in denen zuerst geprüft wird, welche Taste gerade gedrückt
  387. wurde, als nächstes dann, welche Richtung der Cursor vorher hatte (also
  388. den Wert von "Dir"), und zuletzt schließlich, welches Zeichen sich eventu-
  389. ell schon an der Cursorposition befindet.
  390.  
  391. Abhängig von diesen vier Faktoren wird dann das an dieser Stelle passende
  392. Graphikzeichen gesetzt, der Cursor wird in die jeweilige Richtung um eine
  393. Position weiterbewegt, und "Dir" übernimmt diese Richtung als neuen Wert.
  394. Durch diese vierfache Verschachtelung ist die Prozedur "Pfeiltasten" al-
  395. lerdings recht umfangreich geraten.
  396.  
  397. Aber auch in dieser umfangreichen Form bleiben noch ein paar Wünsche of-
  398. fen. Die Prozedur erkennt jetzt zwar, ob ein einfaches oder ein doppeltes
  399. Rahmenzeichen vorliegt (d.h. alle Zeichen, die in "Box" als Konstanten
  400. deklariert sind), und reagiert richtig darauf. Wenn sie allerdings auf
  401. eins der "gemischten" Zeichen stößt (wie z.B. ╕,╞ etc), wird dieses ein-
  402. fach ignoriert. Hier sind noch sinnvolle Ergänzungen möglich.
  403.  
  404. Dafür, daß die erstellten Bilder nicht nur auf dem Bildschirm zu bewundern
  405. sind, sorgt die Prozedur "Speichern". Sie prüft zusätzlich noch, ob nicht
  406. bereits eine Datei mit dem angegebenen Namen vorliegt. In diesem Fall
  407. fragt sie nach, ob diese Datei überschrieben werden soll. Wird beim Spei-
  408. chern keine Extension angegeben, vergibt "Box" automatisch das Suffix
  409. ".box".
  410.  
  411. Leerzeichen am Ende einer Zeile speichert "Box" übrigens nicht mit ab, da
  412. sich dies bei manchen Textverarbeitungen im Zeilenumbruch sehr störend
  413. auswirken kann.
  414.  
  415. Die Prozedur "HoleDatei" liest abgespeicherte Dateien wieder ein. Sie
  416. zeigt in einem Bildschirmfenster die Dateien des aktuellen Verzeichnisses
  417. (inclusive eventuelle Unterverzeichnisse) alpabetisch sortiert an. Mit
  418. <RETURN> kann man hier eine Datei auswählen, oder mit <ESC> die Funktion
  419. abbrechen. Betätigt man <RETURN>, während der Cursorbalken auf einem Un-
  420. terverzeichnis (oder dem übergeordneten Verzeichnis) steht, so wechselt
  421. man in das entsprechende Verzeichnis. Diese Prozedur, die in der Unit "Bo-
  422. xErg.Pas" enthalten ist, wurde ursprünglich zwar für ein ganz anderes Pro-
  423. gramm geschrieben, läßt sich aber ganz hervorragend auch für "Box" verwen-
  424. den.
  425.  
  426. Da es manchmal wünschenswert ist, nicht nur normale Linien zu zeichnen,
  427. sondern auch die anderen Sonderzeichen des IBM-Zeichensatzes auszunutzen,
  428. ohne gleich Tabellen wälzen zu müssen, ist die Prozedur "ASCIITabelle"
  429. eingebaut. Als Vorbild hat mir hier das Programm "ASCII.Pas" aus toolbox
  430. 6/88 gedient. Innerhalb dieser ASCII-Tabelle wird der inverse Cursor mit
  431. den Cursortasten gesteuert. <RETURN> wählt ein Zeichen aus.
  432.  
  433. Ruft man die Prozedur mit <Alt>-<F6> auf, kann man ein beliebiges Zeichen
  434. an der augenblickliche Cursorposition auf dem Bildschirm ausgeben. Drückt
  435. man hier statt <RETURN> <Ctrl>+<RETURN> gleichzeitig, so wird das Zeichen
  436. ausgegeben und gleich nochmals die Tabelle aufgerufen.
  437.  
  438. Ruft man die Prozedur mit <Alt>-<F5> auf, so kann man damit ein Zeichen
  439. auswählen, das zum Linienzeichnen verwendet wird (die Variable "Sorte"
  440. erhält dann den Wert "definiert".
  441.  
  442. Die übrigen Funktionen von "Box", wie Zeilen und Spalten löschen bzw. ein-
  443. fügen, Zeichen löschen oder einfügen verstehen sich eigentlich von selber
  444. und brauchen hier nicht näher erläutert zu werden.
  445.  
  446. Mit der Funktionstaste <F1> kann man sich schließlich noch jederzeit einen
  447. Hilfsbildschirm aufrufen, der natürlich am besten die Funktionstastenbele-
  448. gung des Programms im Überblick zeigt. Im Listing ist dieser Platz freige-
  449. lassen, da meist jeder eine etwas andere Vorstellung von einer vernünfti-
  450. gen Hilfestellung hat.
  451.  
  452.  
  453. ,,9
  454. ⌐9. HINWEISE
  455. ⌐═══════════
  456.  
  457. Falls ein Programm die BGI-Grafiktreiber von Borland benötigt, so sucht es
  458. diese Dateien in dem Unterverzeichnis, das in der Umgebungsvariablen
  459. "BGIPATH" angegeben ist. Um diese Variable anzulegen, geben Sie bitte
  460. am DOS-Prompt den Befehl
  461.  
  462. SET BGIPATH = A:\BGI
  463.  
  464. ein. Die Stapeldatei "SetBGI.Bat" nimmt Ihnen diese Arbeit ab. Sollten
  465. sich die Grafiktreiber in einem anderen Verzeichnis befinden, geben Sie
  466. beim "Set"-Befehl entsprechend den Namen dieses Verzeichnisses an.
  467.  
  468. Wenn die Umgebungsvariable "BGIPATH" nicht gesetzt ist, suchen die Pro-
  469. gramme die Grafiktreiber im aktuellen Verzeichnis. In diesem Fall müssen
  470. Sie die Treiber manuell zu den entsprechenden Programmen kopieren. Das
  471. gleiche gilt, falls ein Grafikprogramm und die Treiber auf verschiedenen
  472. Disketten untergebracht sind.
  473.  
  474.  
  475. ⌐Viel Spaß mit der "Software zum Heft" wünscht Ihnen
  476.  
  477. ⌐Ihr toolbox-Team
  478.  
  479.  
  480. ╔════════════════════════════════════════════════════════════════════════╗
  481. ║                 ⌐W I C H T I G E R   H I N W E I S :¬                    ║
  482. ╟────────────────────────────────────────────────────────────────────────╢
  483. ║   Beachten Sie bitte die Hinweise zu den Programmen in der toolbox.    ║
  484. ║     Für Schäden, die durch unsachgemäße Handhabung der Programme       ║
  485. ║            entstehen, können wir keine Haftung übernehmen.             ║
  486. ╚════════════════════════════════════════════════════════════════════════╝
  487.