Benutzer:Ferdinand f./HELPMAKE
Microsoft Help File Maintenance Utility | |
---|---|
Basisdaten
| |
Entwickler | Microsoft Corporation |
Erscheinungsjahr | 1990 |
Aktuelle Version | 1.08 |
Betriebssystem | MS-DOS |
Kategorie | MS-DOS-Kommandozeilen-Programm |
HELPMAKE ist ein von Microsoft entwickeltes MS-DOS-basiertes Werkzeug zum Erstellen von Hilfedateien. Die erstellten Dateien können beispielsweise von QuickHelp, QuickBasic oder dem MS-DOS-Editor als Hilfe verwendet werden. Zudem können bereits existierende .hlp-Dateien dekodiert, d. h in ihre ursprüngliche Version zurückversetzt werden, um sie beispielsweise zu bearbeiten.
Erstellen einer Hilfedatei
Zum Erstellen einer Quelldatei stehen einem drei Formate zur Verfügung. Dies kann mit jedem beliebigen Textverarbeitungsprogramm wie beispielsweise Microsoft Word oder dem Windows-Editor geschehen. HELPMAKE kann die Quelldateien nur kompilieren, d. h. sie in ein anderes Format verwandeln. Zur Erstellung stehen einem eine Vielzahl von Optionen zur Verfügung.
Ein Thema definieren
Das Thema ist ein wichtiger Bestandteil der Hilfe-Information. Jedes Thema beginnt mit einem oder mehreren aufeinander folgenden .context mit den dazugehörigen Definitionen. Ein Thema hört erst mit dem nächten .context auf. Der Name steht hinter den .context und wird vom Reader als Titel angezeigt. Definiert wird ein Thema wie folgt:
.context string
Der String kann mehrere Wörter umfassen, je nach Reader. QuickBasic zum Beispiel unterstützt nur ein Wort, während PWB mehrere unterstützt. Der String darf aber nur einmal in der gesamten Hilfedatei vorhanden sein.
Links zu anderen Themen
Ein Thema kann auch einen Link zu einem anderen Thema (sowohl in einer Hilfedatenbank als auch eine eine andere Hilfedatei oder eine Textdatei) enthalten. Solch ein Link kann in unterschiedlicher Weise angezeigt werden.
Es gibt zwei Arten von Links:
- Explizit (Code)
- Implizit (Ohne Codierung)
Diese können auch noch unterteilt werden:
- Globaler Kontext (Sichtbar im gesamten Hilfesystem)
- Lokaler Kontext (Sichtbar nur in einer Datenbank)
Explizite Links
Explizite Links werden mit in der Hilfedatei unsichtbarem Code gekennzeichnet, d. h. der Reader zeigt nur den Linktext an, nicht aber den Code. Um den unsichtbaren Text sichtbar zu machen benutzt man folgende Syntax:
string\vtext\v
Wenn der String mehrere Wörter enthält, muss man \a benutzen:
\astring\vtext\v
\v umschließt den sichtbaren Teil des Links. Es gibt hier vier Arten des Textes:
- contextstring
- helpfile!contextstring
- filename! (Zeigt eine Textdatei (.TXT) als eigenes Thema an.
- !command (Führt den Befehl hinter dem Ausrufezeichen aus. Dabei wird zwischen Groß- und Kleinschreibung unterschieden. Die Befehle sind anwendungsspezifisch, zum Beispiel zeigt bei QuickHelp der Command !B das zuvor angesehene Thema an.
Beispiel:
\bSiehe auch:\p Beispiel\vopen.ex\v
Angezeigt wird es so:
Siehe auch: Beispiel
Wenn man nun auf Example klickt, dann wird man automatisch zum Thema (Definiert mit: .context open.ex) open.ex weitergeleitet.
Um mehrere Links in einer Zeile anzuzeigen, muss man folgenden Code benutzen:
\bSiehe auch:\p \aBeispiel 1\vopen.ex1\v, \aBeispiel 2\vopen.ex2\v
Implizite Links
Ein impliziter Link ist ein Thema, das vom Hilfesystem als Link angesehen wird (zum Beispiel bei der Suche).
Lokaler Kontext
Ein lokaler Kontext beginnt immer mit einem @. (Um ein Thema zu erstellen, das mit einem @ beginnt, muss man ein \ davorsetzen: \@Thema. Lokale Kontexte benötigen weniger Speicher und sind schneller. Das liegt daran, dass HELPMAKE statt eines Strings eine Zahl generiert.
Beispiel:
.context Global
Dies ist ein ganz normales Thema mit einem Link zu einem lokalen Kontext.
Link: \aA Local Topic\v@Local\v
.context @Local
Dieses Thema kann nur durch den obigen Link oder die Suche gefunden werden.
Formatieren eines Textes
Formatierungsattribut | Aktion |
---|---|
\a | Markiert einen expliziten Link |
\b, \B | Fett schreiben |
\i, \I | Kursiv schreiben |
\p, \P | Alle Attribute beenden (Bis auf \v) |
\u, \U | Unterstreichen |
\v, \V | Text unsichtbar machen |
\\ | Einen Backslash (\) schreiben |
Beispiel
Dieses Beispiel ist in QuickHelp geschrieben.
.context Beispiel
.context @Beispiel
.topic Demonstration von HELPMAKE
.length 20
.freeze 3
\i\p\aZurück\v!B\v\i\p
----------------------------------------------------
Man kann den Hilfetext mit verschiedenen Grafischen Elementen ausschmücken:
\bAttribute\p \bQuickHelp Code\p
\iKursiv\p \\i
\bFett\p \\b
\uUnterstrichen\p \\u
Wie der obige Text nun angezeigt wird, hängt vom Hilfereader ab.
\bSiehe:\p
Programmierung, Ausdrücke, Grammatik, Schlüsselwörter, Syntax
\i\p\aSeite2\v@Seite2\v\i\p
\i\p\aReadme:\v$DOC:README.DOC!\v\i\p
.context @Seite2
.topic Beispielhife: Seite 2
.length 8
.freeze 3
\i\p\aZurück\v!B\v\i\p
----------------------------------------------------
Hier ist ein zweiter Hilfeschirm.
Der Explizite Link: \i\p\aBeispiel\v@Beispiel\v\i\p
Der Implizite Link: Beispiel
Dot and Colon Commands
Dot and Colon Commands sind Informationen für den Hilfereader. Um diese zu verwenden muss man die \T Option beim erstellen angeben. Es gibt folgende Dot and Colon Commands:
Dot Command | Colon Command | Action |
---|---|---|
.category string | :c | Ordnet ein Thema in eine Kategorie ein. Dieser Command wird nur von QuickHelp unterstützt. |
.command | :x | Interne Informationen für den Reader. |
.comment string .. string |
Gibt es nicht. | Der String ist nur in der Quelldatei enthalten und wird bein erstellen gelöscht. |
.context string | Gibt es nicht. | Definiert ein Thema. |
.end | :e | Beendet eine „paste section“ (siehe .past) |
.execute | :y | Führt einen spezifischen command aus. Beispiel: .execute Pmark context
|
.freeze numlines | :z | Sperrt die ersten numlines. Diese werden nicht bewegt, wenn gescrollt wird. |
.length topiclength | :l | Setzt die größe des Fensters vom Reader in Zeilen. |
.line number | Gibt es nicht. | Setzt die Zeilennummern am Anfang. Diese werden bei Fehlermeldungen angezeigt. Dieser Befehl wird nicht beim decodieren übernommen. |
.list | :i | Zeigt an, dass das Thema eine Liste mehrerer Themen enthält. |
.mark name | :m | Definiert eine Marke unmittelbar vor der folgenden Textzeile. Die markierte Zeile zeigt einen Skriptbefehl, wenn die Anzeige eines Themas beginnt. Der Name identifiziert die Marke. Wird nur von QuickHelp unterstützt. |
.next context | :> | Zeigt das nächste Thema (context) an. Das ist gut um .command und .popup Themen zu überspringen. |
.paste pastename | :p | Beginnt eine paste Selection. Diese wird im QuickHelp Paste -Menü angezeigt und wird auch nur von QuickHelp unterstützt. |
.popup | :g | Wird nur bei QuickHelp unterstützt. Das Thema wird dann anders angezeigt. |
.previous context | :< | Zeigt das vorherige Thema (context) an. Das ist gut um .command und .popup Themen zu überspringen. |
.raw | :u | Schaltet die besondere Verarbeitung bestimmter Zeichen aus. |
.ref topic [, topic] | :r | Listet das Thema im Referenzmenü auf. Dabei muss .ref am Anfang der Zeile stehen. Wenn der Reader (nur QuickHelp) kein .ref findet, sucht er nach phrasen wie „see:“ oder „See also“. |
.source filename | Gibts nicht. | Sagt dem Reader, dass das Thema aus der Datei filname kommt. Diese wird nicht beim erstellen in die .hlp Datei eingefügt. |
.topic text | :n | Definiert den Titel des Themas. |
Aufbau einer DOS-Hilfedatei
Das Wichtigste in einer MS-DOS Hilfedatei ist die Hilfedatenbank, die von HELPMAKE erstellt wird. Sie enthält die Informationen für das Leseprogramm (zum Beispiel QuickHelp). Die Datenbank hat immer denselben Namen wie der Dateiname auf dem Speichermedium (Festplatte etc.). Die Hilfedatei (.HLP) kann eine einzige oder mehrere Hilfedatenbanken (Hilfesysteme) enthalten. Um dies zu erreichen, kann man den MS-DOS-Befehl COPY benutzen:
COPY help1.hlp /b + help2.hlp /b + help3.hlp /b myhelp.hlp
Mit Helpmake kann man aber auch aus einer physikalischen Hilfedatei wieder die Hilfedatenbanken extrahieren, um zum Beispiel eine Hilfedatei zu dekompilieren. Jedoch ist eine einzelne Hilfedatenbank vom Reader besser zu durchsuchen als ein Hilfesystem.
Formate für Helpmake
HELPMAKE unterstützt drei Formate:
- QuickHelp Format
- Rich Text Format (.RTF)
- Minimal formatiertes ASCII
Ein Hilfesystem kann alle drei Formate gleichzeitig verwenden.
Bedienung
Syntax
HELPMAKE {/E[n] | /D[c] | /H | /?} [options] sourcefiles Options
Optionen[1]
Option | Wirkung | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/Ac | Gibt c als applikations-spezifische Steuerzeichen für die Hilfe-Datenbank, das die Zeile markiert, die spezielle Informationen für den internen Gebrauch durch die Anwendung enthält. | ||||||||||||||||||
/C | Zeigt an, dass bei den contex-Strings zwischen Groß-und Kleinschreibung unterschieden wird, sodass während der Laufzeit bei der Suche auch zwischen Groß-und Kleinschreibung unterschieden wird. | ||||||||||||||||||
/D | Dekompiliert die Hilfedatenbank vollständig. | ||||||||||||||||||
/DS | Teilt die verkettete, komprimierte Hilfe-Datenbank in ihre Komponenten, mit deren ursprünglichen Namen. | ||||||||||||||||||
/DU | Dekompiliert eine Datenbank und entfernt alle Formationen und Querverweise. | ||||||||||||||||||
/E[n] | Erstellt („kompiliert“) eine Hilfe-Datenbank aus einer bestimmten Text-Datei (oder mehreren Dateien). Die optionale Variable n gibt die Stärke der Kompression an. Der Wert n ist eine Zahl im Bereich von 0 bis 15. Wenn keine Zahl angegeben ist, wird so viel wie möglich komprimiert.
Die Elemente können auch kombiniert werden (Run-length compression (1) + Keyword compression (2) = 3) | ||||||||||||||||||
/H[ELP] | Ruft QuickHelp auf. Wenn QuickHelp nicht gefunden werden kann, zeigt Helpmake eine Zusammenfassung der Command-line-Syntax an. | ||||||||||||||||||
/Kfilename | Gibt eine Datei mit Wort-Trennzeichen an. Diese Datei muss eine Zeile der Zeichen enthalten, die die Wörter voneinander trennen. ASCII-Zeichen zwischen 0 und 32 (einschließlich Leerzeichen) und das Zeichen 127 sind immer Separatoren. Wenn die /K-Option nicht angegeben ist, sind die folgenden Zeichen ebenfalls Separatoren: !"#&'()*+-,/:;<=>?@[ \ ]^_`{ \) ~ | ||||||||||||||||||
/L | Schützt die Datei, sodass sie später nicht mehr von Helpmake dekompiliert werden kann. | ||||||||||||||||||
/NOLOGO | Unterdrückt die Copyright-Hinweise | ||||||||||||||||||
/Ooutfile | outfile ist der Name der zu erstellenden Hilfedatei. Der Name outfile ist optional mit der /D-Option | ||||||||||||||||||
/Sn | Bestimmt den Typ der Quelldatei:
| ||||||||||||||||||
/T | Während des Kompilierens werden dot commands zu programmspezifischen Befehlen übersetzt. Während des Dekompilierens werden programmspezifische befehle zu dot commands übersetzt. Diese Option benötigt die /A:-Option. | ||||||||||||||||||
/V[n] | Legt die Ausführlichkeit der Diagnose- und Informations-Ausgabe, je nach dem Wert von n fest. Der Wert von n liegt im Bereich von 0 bis 6.
| ||||||||||||||||||
/Wwidth | Hier können Sie die feste Breite der sich daraus ergebenden Hilfe-Text in Anzahl von Zeichen festlegen. Der Wert der Breite kann von 11 bis 255 reichen. | ||||||||||||||||||
/? | Gibt eine Zusammenfassung aller Optionen aus. |
Quellenangaben
- ↑ Optionen von HELPMAKE (englisch)
Weblinks
- PDF zu Helpmake – PDF Datei zu HELPMAKE (Optionen, erstellung, Infos) (Englisch)
- Optionen zu Helpmake Optionen zu HELPMAKE zusammen mit anderen Tools von Microsoft (Englisch)
- Ausführliche Anleitung Ausführliche Anleitung zu HELPMAKE (Englisch)
[[Kategorie:Microsoft]] [[Kategorie:DOS-Software]] [[Kategorie:Programmierwerkzeug]] [[Kategorie:Programmierung]]