home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / HYPERTEX.LZH / HYPERTXT / HYPER.TXT < prev   
Text File  |  1992-02-27  |  26KB  |  523 lines

  1.                              HyperText 1.0d
  2.                              --------------
  3.            ╜1990-2 Σ-Soft, Christoph Pagalies und Markus Fritze
  4.  
  5. 1. Einführung
  6. =============
  7.  
  8. HyperText ist ein System, das Hilfstexte möglichst komfortabel anzeigt. Es
  9. kann sowohl "Stand-Alone-Texte" bearbeiten, als auch zusammen mit Programmen
  10. verwendet werden, die damit eine Hilfestellung realisieren.
  11.  
  12. Die wesentlichen Vorteile eines Hilfstextes auf dem Computer gegenüber dem
  13. auf Papier sind,
  14.  
  15. - da₧ der Text sofort zur Hand ist, und man nicht erst nach der Anleitung
  16.   kramen mu₧,
  17. - da₧ die Hilfestellung kontextsensitiv erfolgt, d. h., da₧ Hilfe zu genau
  18.   dem Thema angeboten wird, bei dem Probleme aufgetreten sind. Das Suchen
  19.   des richtigen Kapitels entfällt,
  20. - da₧ der Text sehr schnell nach verschiedenen Methoden durchsucht werden
  21.   kann,
  22. - da₧ man sehr schnell zu anderen Themen springen kann, ohne seine Finger in
  23.   einem Buch verteilen zu müssen.
  24.  
  25. Diese Anleitung beschreibt HyperText in der Version 1.0d. Eine englische
  26. Version ist auch erhältlich.
  27.  
  28.  
  29. HyperText ist ein SHAREWARE-Programm. Wer diese TOS-Dokumentation mag und
  30. verwendet, sollte uns 20,- DM zukommen lassen.
  31.  
  32. Wer selbst Texte für HyperText schreiben will, kann für 50,- DM zzgl.
  33. Porto und Verpackung (In Deutschland 5,- DM bei Vorkasse, 15,- DM bei
  34. Nachnahme, Ausland nur Vorkasse möglich, dort 10,- DM) ein Programm
  35. erwerben, welches 1st Word Plus Texte in HyperText-Texte wandelt. Auf der
  36. Diskette befindet sich dann auch der originale 1st Word Plus Text zu
  37. dieser TOS-Doku (zum Ansehen, Ändern und Lernen), sowie die englische
  38. Version von HyperText. Wer HyperText in eigenen Programmen verwendet,
  39. hat keine Lizenzgebühren zu entrichten, lediglich 2 Originale des Programms
  40. an Σ-Soft zu schicken. Der Konverter ermöglicht auch das Einbinden eines
  41. eigenen Copyright-Dialoges in HyperText. Der Konverter ist KEIN PD- bzw.
  42. Shareware-Programm und darf NICHT weitergegeben werden!
  43.  
  44.     Σ-Soft
  45.     HyperText
  46.     Birkhahnkamp 38
  47.     2000 Norderstedt 1
  48.     Konto-Nr 10407860, BLZ 20069111 (Norderstedter Bank)
  49.     Tel: (040)5223955
  50.     FAX: (040)5263307
  51.     BBS: (040)5267185 300-14400 Baud, 8N1, MNP, V32bis, V42bis, HST
  52.  
  53. Über unsere Mailbox kann man auch Updates von HyperText downloaden.
  54. Registrierte Konverter-Besitzer erhalten neben Updates für den Konverter
  55. auch Unterstützung bei Problemen.
  56.  
  57.  
  58.  
  59. 2. Die Bedienung
  60. ================
  61.  
  62. Der Anfang ist einfach: Starten Sie HyperText als Programm, oder installieren
  63. Sie es als Accessory. Das Programm kann in beiden Modi verwendet werden; nur
  64. die Extension ist entsprechend zu ändern.
  65.  
  66. Nach dem Start öffnet HyperText ein Fenster, in dem die Startseite zu sehen
  67. ist. Oben am Rand sehen Sie eine Reihe von Buttons, auch unten können
  68. sogenannte Bill-Buttons erscheinen. Diese werden in den folgenden Abschnitten
  69. behandelt.
  70.  
  71. Kurz grundlegendes zum Konzept von HyperText:
  72.  
  73. Jeder Hilfetext besteht aus einer Reihe von Seiten. Diese ist nicht unbedingt
  74. identisch mit einer Bildschirm- oder Druckerseite, sondern es ist nur eine
  75. logische Unterteilung. Auf dem Bildschirm sehen Sie jeweils die aktuelle Seite,
  76. auf der ein Stichwort erklärt wird. In dieser Erklärung können weitere
  77. Stichwörter auftauchen, die auf anderen Seiten beschrieben sind. Diese Wörter
  78. erkennen Sie daran, da₧ sie fett geschrieben sind.
  79.  
  80. Wenn Sie nähere Erläuterungen zu einem dieser weiteren Stichwörter wünschen,
  81. klicken Sie einfach mit der linken Maustaste auf das fett geschriebene Wort
  82. --- und es wird zu der entsprechenden Seite verzweigt. Das Stichwort, da₧ auf
  83. der aktuellen Seite erklärt wird, ist fett und unterstrichen dargestellt; auf
  84. dieses können Sie nicht klicken.
  85.  
  86. Haben Sie die "tieferliegende" Erklärung nun durchgelesen und möchten zur
  87. "darüberliegenden" zurück, so drücken Sie einfach die Undo-Taste
  88. oder klicken Sie mit der rechten Maustaste auf eine beliebige Stelle. Wenn
  89. Sie dieses mehrfach ausführen, können Sie bis zu 20 Ebenen zurückblättern.
  90.  
  91.  
  92. 2.1 Der "Atari"-Button
  93.  
  94. Der Button oben links ruft die Info-Box auf. Sie gibt Ihnen Auskunft
  95. darüber, welchen Text Sie gerade lesen und von wem er vertrieben wird. Mit
  96. "OK" können Sie diese Box wieder verlassen, die "Info"-Box führt zu der
  97. Σ-Soft Info-Box.
  98.  
  99. 2.2 Die Pfeil-Buttons und die Seitenzahl
  100.  
  101. Rechts daneben sehen Sie zwei Pfeile mit einer Zahl dazwischen. Die Zahl
  102. stellt die Nummer der aktuellen Seite dar; mit den Pfeilen können Sie
  103. unabhängig von irgendwelchen Verweisen vor- bzw. zurückblättern.
  104.  
  105. 2.3 Einstellungen
  106.  
  107. Mit diesem Button gelangen Sie zu einer Dialogbox, in der Sie Voreinstellungen
  108. für HyperText tätigen können.
  109.  
  110. Die Prozentangabe legt fest, wieviel von Ihrem Hauptspeicher für HyperText
  111. belegt werden soll. Sie werden sich jetzt vielleicht fragen: "Warum sollte ich
  112. einem Programm mehr Speicher gönnen, als unbedingt nötig?" Die Antwort ist
  113. einfach: Wenn HyperText mehr Speicher bekommt, versucht es, bereits gelesene
  114. Seiten im Speicher zu halten. Falls Sie später auf diese Seite
  115. zurückblättern, mu₧ diese nicht mehr neu von Festplatte oder Diskette
  116. geladen werden. Das spart Zeit, insbesondere bei der Ganztextsuche (wird
  117. später erklärt).
  118.  
  119. Diese Einstellung wird nur beachtet, wenn Sie HyperText als Accessory
  120. installiert haben. Als Programm gestartet, tut es so, als ob Sie 100%
  121. eingestellt hätten.
  122.  
  123. Für technisch Eingeweihte:
  124.  HyperText sieht nach der Grö₧e des grö₧ten Speicherblocks, und bezieht
  125.  darauf die Prozentangabe. Bei einem TT mit Fast- und ST-Ram, führt das dazu,
  126.  da₧ man z. B. 90% einstellt und hinterher immer noch den halben Speicher frei
  127.  hat, weil beispielsweise das Fast-Ram genutzt wurde, das ST-Ram aber frei
  128.  blieb. HyperText belegt natürlich niemals 0% oder wirklich 99,9%, es wird
  129.  immer eine Mindestreserve berücksichtigt.
  130.  
  131. Unter "Diverses" finden Sie Grow/Shrinkboxes; das sind die grö₧er bzw.
  132. kleiner werdenden Kästchen beim öffnen und schlie₧en von Dialogboxen. Wer
  133. sie hübsch findet, kann sie hier einstellen, wer Geschwindigkeitsfanatiker
  134. ist, der stellt sie aus.
  135.  
  136. Darunter befindet sich das sogenannte 8er-Clipping. Wenn dieses eingestellt
  137. ist und Sie das Window von HyperText verschieben, "hüpft" innerhalb einer
  138. 8er-Rasters, lä₧t sich also nur ein bi₧chen ruckeliger bewegen. Dafür wird
  139. aber die Ausgabe aus technischen Gründen schneller, als wenn es an eine
  140. beliebige Position verschoben würde. Je nach Computertyp macht sich dieses
  141. mehr oder weniger stark bemerkbar. Was man nutzen will, ist wieder
  142. Geschmackssache.
  143.  
  144. Mit dem "Speichern"-Button sichert man die Einstellungen. Achtung wenn Sie
  145. mehrere HyperTexte haben: Die Einstellungen werden in der Hilfe-Datei, nicht
  146. in HyperText gesichert.
  147.  
  148. Der "Protokoll"-Button führt zu einer weiteren Dialogbox:
  149.  
  150. 2.4 Die Protokoll-Dialogbox
  151.  
  152. Hier wird das Kommunikations-Protokoll definiert. Hinweis: Dieser Abschnitt
  153. ist nur für Profis gedacht. Ändern Sie in dieser Dialogbox nichts, wenn Sie
  154. nicht genau wissen, was das bewirkt!
  155.  
  156. HyperText unterstützt sowohl das XAcc- als auch das Turbo-C-Help-Protokoll.
  157. Da beide teilweise die gleichen Messagenummern für unterschiedliche Zwecke
  158. verwenden, kann HyperText leider nicht automatisch entscheiden, welches
  159. Protokoll nun zu nutzen ist.
  160.  
  161. Wenn Sie HyperText zusammen mit einem Programm bekommen haben, wird das
  162. Protokoll, das dieses unterstützt, schon voreingestellt sein. Andernfalls,
  163. oder wenn Sie ein anderes wünschen, können Sie dieses hier ändern. Nach
  164. einem Protokollwechsel sollten Sie möglichst schnell das Accessory neu
  165. starten, da es das XAcc-Protokoll durcheinander bringt, wenn ein Programm
  166. beendet wird, da₧ nie gestartet wurde, und da beim Turbo-C-Protokoll schon
  167. in der Boot-Phase bestimmte Aktionen nötig sind. Achtung: Vergessen
  168. Sie nicht, in der Einstellungsbox zu sichern.
  169.  
  170. Das Turbo-C-Protokoll wird beispielsweise von dem Texteditor "Tempus"
  171. unterstützt, bei dem Sie ein Wort mit CONTROL-# übergeben können.
  172. XAcc unterstützt u. a. "That's Write"; nähere Informationen erhalten Sie
  173. bei Konrad Hinsen (übers MausNet erreichbar).
  174.  
  175. Rechts neben dem Protokoll kann die Suchart eingestellt werden.
  176. Normalerweise interpretiert HyperText das Wort, das ihm per Protokoll übergeben
  177. wurde, als Stichwort; wenn es das Wort nicht findet, wird die Synonymsuche
  178. aktiviert. Sie können hier aber auch einstellen, da₧ mit dem Wort eine
  179. Ganztextsuche durchgeführt werden soll.
  180.  
  181. 2.5 Suchen
  182.  
  183. Wenn Sie Hilfe zu einem Thema suchen, zu dem Sie momentan kein Stichwort auf
  184. dem Bildschirm sehen, können Sie es über diese Suchfunktion aufspüren. Wenn
  185. Sie auf den Button klicken, erscheint eine Dialogbox, in der Sie einfach den
  186. Suchbegriff eintippen. Mit "OK" wird die Suche gestartet.
  187.  
  188. Ist der Begriff genauso irgendwo definiert, wie Sie ihn eingegeben haben, so
  189. springt HyperText sofort zu dieser Seite. Vielfach ist man sich aber unsicher,
  190. wie der Begriff nun geschrieben wird oder vertippt sich. Dann werden alle
  191. vorhandenen Stichwörter mit dem eingegebenen verglichen. Die acht
  192. ähnlichsten werden Ihnen in einer weiteren Dialogbox präsentiert. Diesen
  193. Vorgang nennt man Synonymsuche.
  194.  
  195. Bei kleinen Abweichungen befindet sich der gesuchte Begriff fast immer unter
  196. diesen ersten acht; Sie können den richtigen mit dem davorstehenden Button
  197. anwählen, dann wird zu der entsprechenden Seite gesprungen. Wenn Sie doch
  198. keinen davon meinen, können Sie mit dem Button "Suchen" eine erneute Suche
  199. starten oder stattdessen abbrechen.
  200.  
  201. Wenn Sie einen Text suchen, der kein Stichwort ist, können Sie den ganzen
  202. Text nach dem Wort durchsuchen lassen. Drücken Sie dazu statt "OK" auf
  203. "Ganztext". Diese Suchart dauert natürlich wesentlich länger, als wenn nur
  204. die Stichwörter durchsucht werden müssen, geht aber trotzdem schneller, als
  205. wenn Sie so etwas per Hand in einem Buch durchexerzieren --- auch hier zeigt
  206. sich ein Vorteil des HyperText-Konzepts.
  207.  
  208. Sie können in der Dialogbox noch einstellen, wo bei der Ganztextsuche
  209. begonnen werden soll. Dies ist für den Fall gedacht, da₧ Sie einen Begriff
  210. an mehreren Stellen im Hilfetext haben, aber nur eine bestimmte Stelle
  211. suchen. Im Normalfall sollten Sie die Ganztextsuche beim ersten mal "ab
  212. Textanfang" starten und, wenn Sie weitersuchen wollen, "ab der nächten
  213. Seite" fortsetzen.
  214.  
  215. Für die Profis gibt es noch die Möglichkeit, das Verhalten der Synonymsuche
  216. zu beeinflussen (betrifft nur die Stichwort-, aber nicht die Ganztextsuche).
  217. Im Normalfall ist dies wohl nicht nötig, die Autoren haben schon recht lange
  218. an den Werten herumexperimentiert, so da₧ möglichst brauchbare Resultate
  219. erreicht werden. Wer mit diesen Werten zufrieden ist, kann den Rest dieses
  220. Abschnittes ruhig überlesen.
  221.  
  222. Erst einmal eine Erklärung, wie die Synonymsuche Überhaupt funktioniert.
  223. HyperText vergleicht der Reihe nach alle Stichwörter mit dem eingegebenen.
  224. Zwischen den beiden wird eine sogenannte Levenshtein-Distanz berechnet und
  225. erst einmal gespeichert. Am Ende werden die Distanzen sortiert und die acht
  226. Einträge mit der geringsten Distanz ausgegeben.
  227.  
  228. Was ist nun eine Levenshtein-Distanz? HyperText überführt das eingegebene Wort
  229. in das jeweilige Stichwort, indem er folgende Aktionen durchführt:
  230.  
  231. - Ändern von Gro₧/Kleinschrift
  232. - Einfügen eines Buchstabens
  233. - Löschen eines Buchstabens
  234. - Austauschen eines Buchstabens gegen einen anderen
  235.  
  236. Diese Aktionen werden solange wiederholt, bis die Wörter identisch sind. Für
  237. jede dieser Aktionen gibt es "Strafpunkte", die addiert werden. Die
  238. Endsumme aller Strafpunkte ist dann die Levenshtein-Distanz. Sie können in
  239. der Suchbox unter "Synonyme" oder in der Vorschlagsbox unter "Distanz
  240. ändern" eine Dialogbox erreichen, in der Sie die Strafpunktvergabe ändern
  241. können. Auch diese Werte können unter "Einstellungen" gesichert werden.
  242.  
  243. Unter den Strafpunkten können Sie angeben, was in der Vorschlagsbox
  244. angezeigt werden soll. Normalerweise sind dies die gefundenen Stichwörter.
  245. Wenn Sie gerade mit Levenshtein-Werten herumexperimentieren, kann es
  246. sinnvoll sein, davor die Distanzen mit auszugeben. Mit etwas nachdenken lä₧t
  247. sich dann sehr schön nachvollziehen, wie HyperText die Umformungen durchgeführt
  248. hat. Danach können Sie sich auch noch die Nummer der Seite anzeigen lassen,
  249. auf der das jeweilige Stichwort erklärt ist.
  250.  
  251. 2.6 Drucken
  252.  
  253. Mit diesem Button können Sie die aktuelle Seite ausdrucken. Dazu wird (wenn
  254. vorhanden) ein 1st-Word-kompatibler Druckertreiber benutzt. Dieser mu₧
  255. HYPER.CFG hei₧en und im gleichen Verzeichnis wie HyperText liegen. Wenn
  256. Sie schon 1st-Word benutzen, kopieren Sie einfach Ihren Druckertreiber.
  257. Sonst können Sie einen der mitgelieferten Treiber benutzen. Kopieren Sie den
  258. passenden für Ihren Drucker und benennen Sie ihn um. Wenn kein
  259. Druckertreiber vorhanden ist, druckt HyperText ohne aus; dann werden
  260. verschiedene Textattribute nicht berücksichtigt, sondern nur reiner ASCII-Text
  261. ausgedruckt.
  262.  
  263. Achtung: Bei Atari-Laserdruckern mu₧ ein Druckeremulator wie der
  264. Diablo-Treiber oder der FX-80-Emulator geladen werden!
  265.  
  266. Wenn für Ihren Drucker kein passender Treiber beiliegt, können Sie eine für
  267. einen ähnlichen Drucker nehmen und diese modifizieren. Laden Sie dazu eine
  268. .HEX-Datei in einen Texteditor. Sie sehen links in (fast) jeder Zeile
  269. ein Steuerbyte für jede Steuerzeichensequenz (z. B. "Fett ein" o. ä.;
  270. dieses braucht HyperText bzw. 1st-Word), rechts daneben Hexadezimalzahlen, die
  271. dem Drucker signalisieren, was zu tun ist (diese werden also zu passender
  272. Gelegenheit an den Drucker gesendet). Welche Steuerzeichen welchem Vorgang
  273. entsprechen, entnehmen Sie bitte Ihrem Druckerhandbuch oder fragen Sie Ihren
  274. Händler. Ändern Sie die entsprechenden Steuerzeichen ab und speichern Sie
  275. die .HEX-Datei erneut. Danach können Sie daraus mit dem
  276. mitgelieferten Konverterprogramm MAKE_CFG eine .CFG-Datei
  277. erzeugen.
  278.  
  279. HyperText benötigt folgende Steuerzeichensequenzen:
  280.  
  281.   No. Name & Bedeutung
  282.  --------------------------------------------------
  283.   20  Vortext & Wird am Anfang ausgegeben
  284.   1F  Vorzeile & Wird vor jeder Zeile ausgegeben
  285.    1  Nachzeile & Normalerweise Cr/Lf
  286.   21  Nachtext & Wird zum Schlu₧ ausgegeben
  287.    6  Bold & Fettschrift einschalten
  288.    7  No Bold & Fettschrift ausschalten
  289.    E  Light & Helle Schrift einschalten
  290.    F  No Light & Helle Schrift ausschalten
  291.    A  Italics & Kursivschrift einschalten
  292.    B  No Italics & Kursivschrift ausschalten
  293.   1A  Underline & Unterstreichung einschalten
  294.   1B  No Underline & Unterstreichung ausschalten
  295.   2A  Elite & Outline ein = Elite
  296.   28  Pica & Outline aus = Pica
  297.  
  298.  
  299. 2.7 Die Bill-Buttons
  300.  
  301. Neben der oberen Buttonleiste kann auch am unteren Rand eine Reihe von
  302. Buttons erscheinen. Darin stehen Stichwörter von verwandten Kapiteln oder
  303. anderen wichtigen Abschnitten. Klicken Sie einfach auf einen dieser Buttons;
  304. Sie springen damit zu der entsprechenden Seite, als ob das Stichwort (fett)
  305. im laufenden Text gestanden hätte.
  306.  
  307.  
  308. 3. Erstellung von HyperText-Dokumenten
  309. ======================================
  310.  
  311. Dieser Abschnitt ist nur für Entwickler von Hilfstexten für HyperText gedacht;
  312. im Gegensatz zu dem vorigen Teil sollte er auch nur diesen zugänglich gemacht
  313. werden, wenn man HyperText in eigenen Programmen erklärt und obigen Text
  314. teilweise oder komplett in die Anleitung zum eigenen Programm übernimmt.
  315. Wichtig: Wer HyperText in eigenen Programmen verwendet, mu₧ den Standard-
  316. About-Dialog von Σ-Soft unterstützen!
  317.  
  318. 3.1 Das Diskettenformat
  319.  
  320. Die Hilfstext-Dateien von HyperText haben ein eigenes Format; diese Dateien
  321. tragen die Extension .HYP. Die Datei besteht aus drei Teilen:
  322.  
  323. 1. Einem Header mit Dateikennung und Versionsnummer
  324. 2. Einem Datenteil, in dem alle Seiten u. ä. gespeichert sind; dieser
  325.    Teil ist codiert
  326. 3. Einem Directory, das auf die einzelnen Datenteile zeigt.
  327.  
  328. Dieses bedeutet runtimemäßig folgendes:
  329.  
  330. Der Header und das Directory werden ständig im Speicher gehalten. Zur
  331. Speicherplatzabschätzung: Eine Seite belegt momentan 12 Bytes im Directory.
  332. Der Header ist nur ein paar Bytes lang.
  333.  
  334. 3.2 Die Speicherverwaltung
  335.  
  336. HyperText beinhaltet eine eigene Speicherverwaltung, die nicht Pointer auf
  337. Speicherblöcke verwaltet, sondern Handles (Pointer auf Pointer). Sie kann
  338. deshalb, im Gegensatz zu der des TOS, die Speicherblöcke frei verschieben
  339. und auch nachträglich vergrößern. HyperText holt nur beim Start einmal mit
  340. Malloc einen Speicherblock (entsprechend des Einstellungsmenüs), den es nie
  341. wieder freigibt. Dieser wird von der eigenen Speicherverwaltung zerteilt, um
  342. einzelne Seiten möglichst optimal buffern zu können.
  343.  
  344. Alle Seiten werden bei Bedarf in den Speicher geladen und erst bei
  345. Speicherplatzmangel wieder gelöscht. Die Seiten werden gepackt im RAM
  346. gehalten und nur die aktuelle wird entpackt. Bei jedem Aufruf einer Seite
  347. wird ein interner Zähler, die "Seitenwichtigkeit", erhöht. Dadurch wird
  348. erreicht, daß die Seiten, die am häufigsten benötigt werden, zuletzt gelöscht
  349. werden. Sie können für "Knotenpunkte", also Seiten, über die viel
  350. hinweggeblättert wird, diesen Zähler schon mit einem Wert vorbelegen (siehe
  351. unten).
  352.  
  353. Die Stichwörter sind in einer Art Delta-Compression abgelegt und belegen
  354. ein eigenes Segment (stehen also nicht im Directory). Dieses wird nur bei
  355. der Stichwortsuche oder bei einem Aufruf von HyperText per Protokoll geladen.
  356. Ein Stichwort-Segment selbst bei längeren Texten i.d.R. nur  wenige KB lang.
  357.  
  358. Durch dieses Speicherverwaltungskonzept haben wir erreicht, daß HyperText schon
  359. auf sehr kleinen Rechnern läuft (bei nicht übergroßen Texten schon ab 512KB),
  360. aber auf größeren Rechnern sinnvoll seine Daten im RAM halten kann.
  361.  
  362. Anmerkung für TT-Besitzer: Da der Speicher mit Malloc geholt wird, können Sie
  363. über die Flags entscheiden, auf welches RAM sich der Einstellungsbereich
  364. bezieht. Wenn Sie HyperText hauptsächlich als Programm starten (wo immer 100%
  365. angenommen wird), haben Sie am meisten Speicher, wenn Sie beispielsweise das
  366. Programm ins ST- und den Buffer in Fast-RAM legen.
  367.  
  368. Wenn in HyperText eine Weile nicht geblättert wird, wird eine Speicher-
  369. reorganisation durchgeführt. Deshalb könnte es in ungünstigen Fällen zu einer
  370. Verzögerung führen, wenn große Speicherbereiche zu verschieben sind, auf
  371. einem 4MB-Rechner haben wir jedoch noch keine störenden "Aussetzer" bemerkt.
  372. Da ein Benutzer typischerweise sowieso mehrere Sekunden zum Lesen einer Seite
  373. benötigt, dürfte dieses aber keine Probleme bereiten. Sie können die
  374. Reorganisation beobachten, wenn Sie HyperText nur einen kleinen Speicher
  375. zubilligen und kontinuierlich blättern; alle paar Seiten stockt es kurz
  376. (das ist dann die Reorganisation).
  377.  
  378. Außerdem gibt es noch eine Blätterverzögerung nach der ersten Seite (nur auf
  379. schnellen Rechnern, beim alten ST fällt's nicht auf), damit man eine einzelne
  380. Seite bei schnellen Rechner treffen kann.
  381.  
  382. 3.3 Der Konverter
  383.  
  384. Wie erstellt man nun einen eigenen Hilfetext?
  385.  
  386. Zuerst einmal braucht man einen reinen ASCII-Text, in dem alle Seiten
  387. hintereinanderweg geschrieben sind. Dann lädt man das ganze in 1st-Word+
  388. und versieht es mit Attributen. Sie können wie gewohnt alle Textattribute
  389. verwenden, nur von der Benutzung der Fettschrift wird dringend abgeraten,
  390. weil dieses nachher nicht von den Stichwörtern auseinanderzuhalten ist.
  391.  
  392. Dann sind alle Seiten durch feste Seitenumbrüche zu trennen. Die von
  393. 1st-Word+ automatisch eingefügten dynamischen werden vom Konverter
  394. ignoriert.
  395.  
  396. Zusätzlich müssen noch besondere Markierungen enthalten sein:
  397.  
  398. 3.3.1 Die Steuerzeichen für den Konverter
  399.  
  400. Alle Stichwortdefinitionen müssen von Klammeraffen umschlossen werden.
  401. Also, wenn Sie ein Stichwort auf einer Seite erklären, dann schreiben Sie ein
  402. @ davor und dahinter. Alle Stichwortreferenzen werden vom Konverter
  403. automatisch erkannt und markiert. Achten Sie deshalb darauf, daß Sie nicht
  404. unsinnig kurze Stichwörter verwenden; z. B. die Sprache "C", weil dann
  405. alle großen C in Ihrem Text markiert werden.
  406.  
  407. Nach einer Stichwortdefinition können noch mehrere Bill-Button-Einträge stehen,
  408. die durch Komma getrennt werden. Die Bill-Button erscheinen dann auf der Seite,
  409. wo das betreffende Stichwort erklärt ist. Beispiel: @Bconin,BIOS,XBIOS@
  410. Wenn der angegebene Eintrag nicht existiert, wird kein Bill-Button generiert.
  411.  
  412. Es gibt noch optionale Befehle:
  413.  
  414. #memo  legt die Voreinstellung für die Speicherbelegung fest. Dahinter
  415.        folgt eine Zahl von 0 bis 1000, die die Belegung in Promille angibt.
  416.  
  417. #impo  legt die Wichtigkeit einer Seite fest (wie im Abschnitt über
  418.        Speicherverwaltung beschrieben). Danach folgt ein Wert von 0 bis 255,
  419.        wobei 0 eine unwichtige Seite (default) und 255 eine sehr wichtige ist.
  420.  
  421. #imde  Ändert die Defaultwichtigkeit. Sie können also vor einer Reihe von
  422.        "Menüseiten" die Defaulteinstellung auf beispielsweise 50 hochsetzen und
  423.        hinterher mit #imde 0 zurückstellen.
  424.  
  425. 3.3.2 Arbeiten mit dem Konverter
  426.  
  427. Nach Erstellung des Textes startet man den Konverter und wählt im File-Selector
  428. das zu konvertierende 1st Word+ Dokument aus. Dieses wird nun in 3 Passes
  429. nach Stichworten durchsucht und gepackt. Der Konverter schafft auf einem
  430. Mega STE etwa 100 Seiten pro Minute zu übersetzen, auf dem TT ist er
  431. entsprechend schneller. Nach dem 2 Pass kann man im File-Selector die Zieldatei
  432. anwählen unter der die gepackten abgelegt werden. Die Extension sollte HYP
  433. sein. Momentan lädt HyperText nur die Datei HYPER.HYP. Dies kann sich jedoch
  434. später noch ändern.
  435.  
  436. Wenn man ein 1st Word+ Dokument direkt auf den Konverter zieht, dann wird
  437. das Dokument _ohne_ weiteren File-Selector übersetzt.
  438.  
  439. Mit der rechten Maustaste kann man eine Konvertierung jederzeit abbrechen.
  440.  
  441. Weitere Möglichkeiten des Konverters:
  442. - Durch Ändern der Datei DEFAULT.RSC ist man in der Lage einen eigenen
  443.   "About"-Dialog unter dem Atari-Symbol einzubinden. Der Button zum Aufruf
  444.   der Σ-Soft-Dialogbox darf dabei NICHT entfernt werden!
  445. - Mit Hilfe der Datei DEFAULT.TXT kann man die Packrate weiter verbessern,
  446.   in diese Datei schreibt man möglichst viele Wörter (maximal etwa 4KB) ohne
  447.   Leerzeichen hintereinander weg. Man sollte nur Wörter verwenden, die auf
  448.   möglichst vielen Seiten vorkommen und die länger als 3 Zeichen sind. Da
  449.   HyperText natürlich nur seitenweise packen kann, kann man die Packrate
  450.   dadurch erhöhen, indem man lange Wörter, die auf vielen Seiten vorkommen
  451.   (Beispiel: "HyperText", "Atari" o.ä.) durch den Konverter einmal packen
  452.   lä₧t und soda₧ diese Worte bereits gepackt in die Seiten eingetragen
  453.   werden. Diese gepackten Wörter kosten natürlich zusätzlich Speicher (i.d.R.
  454.   weniger als 4K, da die Datei gepackt im RAM gehalten wird), der ständig
  455.   durch HyperText belegt bleibt. Wir haben in einem Fall z.B. eine HYPER.HYP
  456.   ohne DEFAULT.TXT von über 800KB auf 620KB reduzieren können. Dies war
  457.   bedingt dadurch, da₧ die vielen Seiten (über 1700) wenig Worte enthielten,
  458.   jedoch sehr lange, die auf fast allen Seiten vorkamen (Die Rede ist vom
  459.   Atari Softwareführer, der mit HyperText realisiert wurde).
  460.  
  461. 3.4 "Unsauberkeiten" von HyperText
  462.  
  463. In HyperText werden drei undokumentierte Features des TOS benutzt, da uns noch
  464. nicht eingefallen ist, wie man dieses anders machen könnte. Alle Features sind
  465. jedoch relativ sauber, soll hei₧en: sie funktionieren auf allen uns bekannten
  466. TOS-Versionen (ST, STE und TT). Wir haben wegen dieser drei Punkte bei Atari
  467. angefragt und uns wurde bestätigt, da₧ diese drei Punkte akzeptabel sind.
  468.  
  469. - In der Hauptschleife fragt HyperText mit einem evnt_multi beide Maustasten
  470.   ab. (256 auf die Flags addiert)
  471.  
  472. - Wenn HyperText als Accessory gestartet wird, ändert es act_pd, da der Malloc
  473.   noch nicht unmittelbar nach dem Start erfolgt (sondern erst nach dem Einlesen
  474.   des Dateiheaders, in dem ja die Speicherwunschgröße steht), und ein Accessory
  475.   ja bekanntlich hinterher keinen Speicher mehr holen darf. Auch mit der später
  476.   geöffneten Datei gibt's sonst Probleme.
  477.  
  478.   Wenn dies später zu Konflikten bei einem Multitasking-TOS führt, kann
  479.   man HyperText ja als Programm starten, Accessorys sollten da eh ihre
  480.   Bedeutung verlieren. (Wenn jemand Abhilfe weiß, dann bitte melden!)
  481.  
  482. - Wenn HyperText auf das Turbo-C-Protokoll reagieren soll, ändert es seinen
  483.   Namen mit einem menu_register(-1) (natürlich nur als Accessory). Dieses ist
  484.   nötig, weil das aufrufende Programm das Accessory nur an seinem Namen
  485.   erkennen kann. Ist zwar nicht schön, aber das Protokoll läßt leider nichts
  486.   anderes zu. Da durch das "neue" Pure-C, da₧ Turbo-C-Help-Accessory auf
  487.   Pure-C-Help umgetauft wurde, was bewirkt, da₧ z.B. Tempus das Pure-C-
  488.   Accessory nicht mehr findet, könnte es in Zukunft Probleme geben, wenn
  489.   Programme auf den Markt kommen, die nicht Turbo-C-Help, sondern Pure-C-Help
  490.   unterstützen. Wir werden dann wohl noch eine zusätzliche Option einbauen:
  491.   "Pure-C-Protokoll". Bis dahin wollen wir die User nicht mit noch mehr
  492.   Optionen belasten.
  493.  
  494.   Wer das Turbo-C-Protokoll ausschaltet und auf XAcc umschaltet, umgeht diese
  495.   Unsauberheit (falls es doch irgendwann mal zu Problemen führt), hat dann
  496.   aber nicht die Möglichkeit z.B. von Tempus aus HyperText aufzurufen.
  497.  
  498. 3.5 Programmierung von HyperText
  499.  
  500. Weil ich immer wieder danach gefragt werde:
  501.  
  502. HyperText ist komplett in Assembler geschrieben (natürlich mit dem TurboAss).
  503. Es ist nur etwa 9000 Zeilen lang und der Programmcode ist etwa 17KB lang.
  504. Dazu kommen noch 7KB Daten (Resourcen der Dialoge) und 7KB BSS-Segment.
  505. HyperText alloziert beim Laden einen Speicherblock, der als Buffer für die
  506. Seiten, das Directory der Datei, etc. dient. Der Speicher wird völlig
  507. dynamisch verwaltet.
  508.  
  509. Der Konverter ist nur etwa 3000 Zeilen lang, auch in Assembler geschrieben
  510. und der Programmcode ist nicht einmal 5KB lang. Dazu kommt noch 1KB Data-
  511. Segment (Resource vom Dialog). Er benötigt jedoch SEHR VIEL Speicher!
  512. Wer nur 512KB hat, kann den Konverter nichtmal starten. Ich habe ihn zwar
  513. so aufgebaut, da₧ er möglichst wenig Daten im RAM hält, soda₧ er auch
  514. Dokumente von einigen MB übersetzen kann (so denn 1st Word+ diese erzeugen
  515. kann :-), aber er benötigt eine statische Struktur für das Directory und
  516. die (noch) ungepackten Stichwörter.
  517.  
  518. Wer noch Ideen für HyperText hat, schicke sie bitte an die Adresse von
  519. Σ-Soft.
  520.  
  521.     Markus Fritze, Σ-Soft
  522.  
  523.