home *** CD-ROM | disk | FTP | other *** search
-
- ╔══════════════════════════════════════════════════════════════════════════╗
- ║ ║
- ║ ISoft D&M ║
- ║ P.O.Box 5517 ║
- ║ Coralville IA 52241 ║
- ║ U.S.A ║
- ║ ║
- ╚══════════════════════════════════════════════════════════════════════════╝
-
- *******************************************************************************
- * HELPC Help Engine Technical specification and compiler user guide *
- * LAST UPDATE - Sep. 27, 1993. (c) 1992,93 - Loewy Ron. *
- *******************************************************************************
-
- *******************************************************************************
- * General Overview *
- *******************************************************************************
-
- The Help Engine database is a combination of text that is read by the user,
- and a Topic and Links database that allows the user to view the topics
- he is interested in, using hyper-text methods.
-
- This document describes the HLPDK language syntax, HELPC compiler operation
- and the native databases structure.
-
- *******************************************************************************
- * Compiler Usage *
- *******************************************************************************
-
- The helpC help compiler is a DOS command line program that receives a
- help definition file (.HDF) and produce a help database.
-
- The helpC command line is :
-
- HELPC source.fil [/NT:topic-table-name]
- [/NL:link-table-name]
- [/ND:data-file-name]
- [/NK:keywords-table-name]
- [/D:conditional-define]
- [/ED=P|C|+]
- [/EL=x]
- [/R-] [/ST-] [/CS+] [/EP+] [/WD-][/RM-]
- [/W+] [/W30] [/W31] [TH+] [/QH+] [/TV+] [/PH+] [/XD+]
- [/PX+] [/MT+] [/OS2] [/TXT] [/RTF]
-
- The output of the compiler is a set data file called source.SET, that
- includes the names of the other help database components.
-
- Please Notice - if the /W+ /W30 or /W31 switch is defined, the compiler
- will generate a .HPJ and .RTF files that can be used with the Microsoft
- HC (v3.00b) or HC31 help compiler, and output a .HLP windows help file!.
-
- By default the help compiler produces a help cross reference report on the
- topics/links used in the database, if the /R- switch is set, no cross-reference
- report will be generated, and no database integrity indicators will be
- given.
-
-
- IMPORTANT - Scan the output cross reference report for links defined, that
- are not defined as topics!
-
- Notice - An additional switch is available that instructs the help compiler
- to indicate it's parse and code generation progress. Use the /EP+ switch to
- see that the helpC compiler is active. Please understand that the compile
- process can take a long time, on complex help databases. This switch does
- nothing more that ensure to you that the help compiler is alive.
-
- The /ST switch defines if the topic name defined in the .TOPIC command
- can include embedded spaces. By default this switch is set to /ST- (No
- embedded spaces).
-
- The /CS switch turns Topics and Links case sensitivity to ON. Use this
- switch with care - Only if you must have a lower/mixed case index in THELP
- or POPHELP use this switch. Notice that help databases that compile fine
- with case sensitivity set to off, might fail to do so in case sensitivity
- on. By default this switch is set to off (-).
-
- The /XD switch generates code to the MDVXHELP help compiler, available
- free in the file DVXHLP10.ZIP on the Internet. When this switch is given,
- a set of cover and section files is generated, as well as a response
- file that should be used to compile the help database.
-
- The /OS2 switch generates IPF source code. You must compile the generated code
- with IPFC, from within an OS/2 session (window or full screen).
-
- The /WD switch controls Warning Display. By default Warning Display is On, if
- you do not want to see the Warnings issued by the compiler when a topic name
- or link are found to be incompatible with the target source, and helpC
- translate them to be syntax compatible with the target.
-
- Use the /TXT switch to create a text file document from your .HDF source.
- With this feature you can create on-line help and printed documentation
- from the same source!.
-
- Use the /RTF switch to create a word-processor ready RTF file, import this
- file (and update the fields e.g.- F9 in WinWord) to create a professional
- formatted documentation from the same source code!.
-
- The /RM- switch uses disk cross-reference report tables. Usage of this
- option will allow the creation of cross-reference report for huge databases.
- This options will slow the creation of reports, use it only for databases
- so big that the report can not be generated using memory tables.
-
- The /ED= switch creates the external references (if ant are defined) in one
- of the following formats : /ED=P (Default) creates the external definitions
- in a PASCAL unit, /ED=C creates the external definitions in a C header
- file, and /ED=+ creates a C++ header file.
-
- The /EL= switch sets the Error Level used. This switch can be overridden
- by the .ERRORLEVEL statement. The acceptable error levels are :
-
- 0 No Check - (Default) - No action is taken.
- 1 Trap - The link is replaced to a special topic named ERROR.
- 2 Strip - The link is replaced by the Text part only.
- 3 Delete - The text and link parts are deleted.
- 9 Abort - helpC will abort with an error message, indicating the
- line number.
- Please refer to the Exception Handling section below about helpC error
- processing.
-
- *******************************************************************************
- * Command Line *
- *******************************************************************************
-
- The compiler switches are defined on the command line. These switches can
- be placed before and after the source file name. The compiler will look for
- a file named HELPC.CFG in the current directory, and process it before any
- command line switches are processed.
-
- Switches on the command line will over-ride switches set before them, on the
- command line or in one of the response options file.
-
- Response option files can be specified by prefixing their name with a @ sign.
-
- Examples :
-
- If our HELPC.CFG file, in the current directory is :
-
- /W31
- /R-
-
- And we compile using HELPC HELPDEMO
-
- The helpdemo.hdf file will be compiled, with the target set to winHelp 3.1
- and no cross-reference report.
-
- Compile using HELPC HELPDEMO /r+
-
- Will create winHelp 3.1 sources, but a report will be generated.
-
- Compile using HELPC /w- HELPDEMO
-
- Will generate native format help database, no report is generated.
-
- If we have a file called MYSWITCH.CFG with the following lines :
-
- /TH+
- /ST-
- /CS+
-
- And we compile using HELPC @MYSWITCH.CFG HELPDEMO
-
- A THELP source, using Long Topic Names, with case sensitivity will be
- generated, no cross reference report is generated. (HELPC.CFG contains /r-)
-
- *******************************************************************************
- * Help Definition Format *
- *******************************************************************************
-
- The help definition file format is as follows :
-
- remarks ...
- remarks ...
-
- .ENTRY topic-name
- [.TITLE optional title for topic]
- [.TITLEATTR paragraph attributes]
- [.KEYWORDS optional keywords for topic]
- [.GROUPS group1 [group2 ..]]
- topic text and link reference ..
- topic text and link reference ..
- topic text and link reference ..
- topic text and link reference ..
- .END-ENTRY
-
- remarks ...
-
-
- .ENTRY topic2-name
- [.KEYWORDS keyword1 keyword2 ..]
- [.GROUPS group3 [group2 ..]]
- [.PARAGRAPH [paragraph attributes]]
- topic 2 text and link reference ..
- topic 2 text and link reference ..
- topic 2 text and link reference ..
- [.END-PARAGRAPH]
- additional topic2 text ...
- .END-ENTRY
-
- .POPUP popup-name
- [.TITLE optional title for popup]
- definition for some reference
- ...
- .END-POPUP
-
-
- As can be seen - lines between the .ENTRY and .END-ENTRY keywords are
- the lines processed by the help compiler, to create the help database,
- every other line is considered a remark, and is not parsed or evaluated by
- the help compiler.
-
- The topic text and link reference lines are simple text lines, with
- special link marks.
-
- A sample will provide the details :
-
- This is a text help line that includes one ~link~link-topic-name~ in it.
-
- This line will be displayed in the help engine program as :
-
- This is a text help line that includes one link in it.
-
- The word "link" will be in a different color then the rest of the line,
- to indicate that this is a link. If the user hi-lights the link, and
- presses Enter (or points the mouse cursor and clicks), the help engine will
- look for a topic called "link-topic-name", and display it.
-
- Browse the HELPDEMO.HDF file for a demo of a help database definition file.
-
- Notes :
-
- 1. The keywords .TOPIC and .END-TOPIC can be used instead of .ENTRY and
- .END-ENTRY respectively.
-
- An equivalent pair of keywords are .TOP and .ENDTOP .
-
- You can use .EXT-TOPIC instead of .TOPIC/.ENTRY etc.. - topics created
- with that statement are the same as regular topics, only - an external
- reference is created for them to be linked to a PASCAL/C/C++ program.
-
- 2. Keywords are NOT case sensitive. (.topic = .TOPIC = .eNTry)
-
- 3. The .TITLE keyword is optional. If no title is defined, the topic name
- is used as a title. The .TITLEATTR keyword is used to describe the
- title text attributes. The syntax is the same as the .PARAGRAPH text
- attributes. Please refer to the Text Attributes section below for further
- discussion of the optional paragraph attributes.
-
- 4. If you want the ~ sign to appear in your help database, use ~~ in your
- help source file. (e.g. "This is a ~~" will be "This is a ~" in the final
- help database.).
-
- 5. The Optional .PARAGRAPH and .END-PARAGRAPH commands in the help topic text,
- specify the start and the end of a paragraph. This feature is currently
- supported only for winHelp, RTF and IPF sources. This feature is important
- if you want to create long paragraphs that will wrap correctly when a user
- resizes the help window. Please refer to the Text Attributes section below
- for further discussion of the optional paragraph attributes.
-
- The .PAR and .ENDPAR keywords can be used instead of the .PARAGRAPH and
- .END-PARAGRAPH keywords.
-
- 6. When a .PARAGRAPH is issued, a .END-PARAGRAPH MUST be specified at the
- end of the paragraph. These commands must appear as the first words in
- a line. The text after the .PARAGRAPH command is NOT part of the text
- of the help topic.
-
- 7. The optional .KEYWORDS command can appear after the .TITLE command
- (If there is one), or the .TOPIC header (otherwise), Use this command
- to help the user search for sets of topics that are connected to a
- specific keyword. The syntax of this command is :
- .KEYWORDS keyword-1 keyword-2 ...
-
- 8. .POPUP and .END-POPUP (or .ENDPOP) are used to define popup topics that
- are displayed on the same screen as the original topic that includes the
- link to them. Popup entries allow the user to consult a glossary, and
- not lose the topic he was reading. Popups are supported in the winHelp,
- OS2 IPF, Native PX and Native Mem formats. In the other formats Popups are
- used as standard topics.
-
- 9. In the Text target .POPUP entries will be automatically included in a
- Glossary file that you can add as an appendix to your documentation.
-
- 10. The .GROUPS statement associate a topic with several groups, you can
- create topics with menus to groups of other topics using the statement
- ".INSERT GROUP group-name" in your topic text. Please refer to the
- Groups section of this document for additional discussion of this
- function.
-
- Additional commands include :
-
- .TEXTCOLOR, .LINKCOLOR and .LINKHIGH - VGA colors of text and links in normal
- and high (selected) states in the native help format.
-
- The syntax of these commands is :
-
- .TEXTCOLOR w
-
- or
-
- .LINKCOLOR x
-
- or
-
- .LINKHIGH y
-
- Where w, x and y are the color of the text/link, which is a combination of the
- color of the foreground with the color of the background multiplied by 16.
-
- The colors that can be used for both fore and background are :
-
- Black = 0
- Blue = 1
- Green = 2
- Cyan = 3
- Red = 4
- Magenta = 5
- Brown = 6
- LightGray = 7
-
- The colors that can be used only for the foreground are :
-
- DarkGray = 8
- LightBlue = 9
- LightGreen = 10
- LightCyan = 11
- LightRed = 12
- LightMagenta = 13
- Yellow = 14
- White = 15
-
- For example : to set the normal color of a link to light green on blue, use
-
- .LINKCOLOR 26
-
- where 26 = 10 + 16 * 1. (10 = light green, 1 = blue).
-
- Creating Multiple Source Projects :
-
- Use the .INCLUDE commands in the source of your .HDF file, to include an
- additional source file. .INCLUDE is not supported in the middle of a topic.
-
- For Example :
-
- .. some stuff
-
- .include 2ndfile.hdf
-
- .. additional stuff
-
- will process 2NDFILE.HDF in the middle of our source file.
-
- Please notice - .INCLUDE commands can be nested in your source file,
- it is however not recommended to nest them too deep, helpC does not
- close the input file when a .INCLUDEd file is processed, in order to
- minimize help generation time - there is however, a limit on the number
- of open files that can be used by a program - this is a limit set by DOS.
-
- Use the .INSERT CODE statement to insert target code that will not be
- translated by helpC. helpC will send un-translated code to the output target
- until a .END-CODE statement is found.
-
- For example - creating a small table in winHelp format :
- .. normal code
- .ifdef windows
- .insert code
- \pard{\tab column1\tab column2\tab column3}\par
- \pard{\par blabla\tab blabli ..}\par
- .end-code
- .endif
-
- GUI Font based targets :
-
- The .FIXEDFONT command is used to define a non proportional font as the
- default font of the help database. Currently the only targets affected
- by this command are windows winHelp v3.x. If you find that your help
- databases are not aligned after they are converted to winHelp format, use
- this command and re-compile. This command has no effect on targets that are
- different from the targets mentioned before.
-
- The .PCFONT command is used to define a font that has the standard PC
- character set (Terminal - in windows). If you convert a text based
- database that uses the PC's special characters, use this command to
- set the default font. This command has no effect on targets that are
- different from the targets mentioned before.
-
- Text targets :
-
- The .PAGELENGTH and .PAGEWIDTH statements set the printed page length in
- rows, and width in columns. The syntax is .PAGELENGTH xx or .PAGEWIDTH yy .
-
- Use the .SETFONT command to change or add fonts to the font palette, The
- syntax is : .SETFONT font-number 'Font-Name-In-The-Target-Language'. If
- for example we would like to change font number 3 in the windows target
- to be a font X of family Y we would write :
- .SETFONT 3 'Y X'
-
- A good way to find in RTF how to describe the font you are interested in,
- is to open a new document in your word processor, write a line in the
- font you are interested, save the document as a RTF document, and see the
- way the word processor described the font in the RTF font table.
-
- Use the .TITLEDEFAULTS statement to set the default text attributes of the
- topics titles in the help database. These defaults can be over-ridden with
- the .TITLEATTR statement in the topic definition. Please refer to the Text
- Attributes section below for discussion of paragraph text attributes.
-
- Use the .ATTRDEFAULTS statement to set the default text attributes of
- paragraph text in the database. Please refer to the Text Attributes section
- below.
-
- Use the .ERRORLEVEL command to set the error level. The syntax is .ERRORLEVEL x
- where x is one of the following :
-
- 0 No Check - (Default) - No action is taken.
- 1 Trap - The link is replaced to a special topic named ERROR.
- 2 Strip - The link is replaced by the Text part only.
- 3 Delete - The text and link parts are deleted.
- 9 Abort - helpC will abort with an error message, indicating the
- line number.
- Please refer to the Exception Handling section below about helpC error
- processing.
-
- Use the .ALIAS command to substitute a popup/topic name with another name. The
- syntax is .ALIAS newname origname. Whenever a newname link is found, the alias
- of origname is used. This can be very useful when you want to give multiple
- names to a topic, or when HLPDK source is the target of an incremental
- compiler.
-
- *******************************************************************************
- * Conditional Defines *
- *******************************************************************************
-
- The helpC compiler supports conditional define directives that allow you to
- tailor your source according to define symbols that are known to the compiler.
-
- You can use the .ifdef, .ifndef, .else and .endif directives to test the
- target of your compile and do different things according to this target.
-
- If for example you have a Windows bitmap you want to include in your generated
- RTF file, when you compile to winHelp format, but, you would like to use a
- statement in other targets that do not support graphics, you could do the
- following :
-
- .ifdef windows
- some text {\bmc mybmp.bmp} some more text
- .else
- some text AND STATEMENT HERE some more text
- .endif
-
- When the compiler will generate the code, the RTF command \bmc will be
- inserted in the output of the compiler for windows targets (/W30, /W31),
- and a simple text statement will be inserted otherwise.
-
- The conditional directives supported are :
-
- .ifdef SYMBOL - Compile code only if SYMBOL is defined.
- .ifndef SYMBOL - Compile code only if SYMBOL is NOT defined.
- .endif - Any .ifdef/.ifndef should be terminated by a .endif .
- .else - Reverse the previous .ifdef/.ifndef
-
- The following SYMBOLS are automatically defined by the compiler :
-
- Symbol When Defined
- ------ ------------
- DEF /PX+
- W31 /W31
- W30 /W30
- THS /TH+
- QHS /QH+
- TVH /TV+
- PHS /PH+
- DVX /XD+
- MEM /MT+
- OS2 /OS2
- TXT /TXT
- WINDOWS /W30, /W31
- THELP /TH+
- QUICKHELP /QH+
- TVHC /TV+
- NATIVEPARADOX /PX+
- POPHELP /PH+
- DESQVIEW/X /XD+
- NATIVEMEMORY /MT+
- VERx.y When Compiling with helpC Vx.y
- NATIVE /PX+, /MT+
- DOCUMENT /TXT, /RTF
-
- You can define your own conditional defines on the command line using the /D:
- switch of helpC.
-
- e.g.
-
- Source :
-
- ... some text ..
- .ifdef mydef
- Special Text for mydef situation
- .endif
- ... more text
-
- and you compile using HELPC /D:MYDEF the special text will be included.
-
- *******************************************************************************
- * Groups *
- *******************************************************************************
-
- Topics can be associated to groups using the .GROUPS statement in the topic
- heading. Menus to these groups can later be created by using the command
- .INSERT GROUP group-name in the topic text.
-
- An example will clarify the use of this function :
-
- Let us assume that we have a car's collectors database, where the description
- of each car is a topic. We would like to present a hierarchy to the user that
- looks like that :
-
- Overview Screen
- |
- +--------- Cars by Country
- | |
- | +------------ U.S.A ... List of cars manufactured in U.S.A
- | +------------ U.K.
- | +------------ Italy
- |
- +--------- Cars by Maker
- | |
- | +------------ Alfa-Romeo ... List of Alfa-Romeo models
- | +------------ GM
- | +------------ Mazda
- |
- +--------- Cars by type
- |
- +------------ 4x4 & Jeeps
- +------------ Sport Cars
- +------------ Family Sedans
-
- We will create group references in the topics using the .GROUPS statement,
- The Alfa Romeo Spider 2000 topic will look like :
-
- .topic alfa_romeo_spider_2000
- .title Alfa Romeo Spider 2000
- .keywords alfa spider convertible sport classic
- .groups Italian alfa sport
-
- The Alfa Romeo ...
-
-
- .end-topic
-
- The Italian Cars Directory topic will be :
-
- .topic Italy_directory
- .title Italian Cars Directory
- .keywords directory
-
- Cars Manufactured in Italy :
-
- .insert group Italian
-
- .end-topic
-
- If our database includes 3 cars that have a reference to the Italian group
- this will be the equivalent of writing :
-
- .topic Italy_directory
- .title Italian Cars Directory
- .keywords directory
-
- Cars Manufactured in Italy :
-
- ~Alfa Romeo Spider 2000~alfa_romeo_spider_2000~
- ~Ferrari 308 GTS~Ferrari_308_gts~
- ~Fiat Uno 70S~fiat_uno_70s~
-
- .end-topic
-
- *******************************************************************************
- * Text Attributes *
- *******************************************************************************
-
- Topic's text can receive visual attributes such as a font, size, bold,
- italic etc.. by using the paragraph attributes on the .PARAGRAPH (.par)
- line. Text attributes are currently supported in the winHelp and RTF targets.
-
- The attributes that can be applied to text are :
-
- Font - The font the text will be displayed in.
- Bold - The text is displayed in bold characters.
- Italic - The text is displayed in italic characters.
- Underline - The text is displayed in underline characters.
- Size - The size of the font.
- Box - The paragraph can be contained in a box.
- Align - The paragraph can be aligned.
- Color - The text foreground color.
-
- The syntax is :
-
- .PARAGRAPH [attr1 attr1-parameters [attr2 attr2-parameters [..] ]]
-
- The allowed parameters to attributes are :
-
- 1. FONT font-number-in-font-palette : The font number in the font palette, there
- is a standard font palette for winHelp and RTF targets that include the
- following fonts :
-
- 0 : Times Roman (roman Tms Rmn)
- 1 : Symbol (decor Symbol)
- 2 : Helvetica (swiss Helv)
- 3 : LinePrinter (modern LinePrinter)
- 4 : Terminal (roman Terminal)
- 5 : Times New Roman (roman Times New Roman)
- 6 : Arial (swiss Arial)
- 7 : CG Times (WN) (roman CG Times (WN))
- 8 : Courier (modern Courier)
- 9 : Modern (modern Modern)
- 10 : Script (script Script)
- 11 : Univers (WN) (swiss Univers (WN))
- 12 : Wingdings (nil Wingdings)
- 13 : MS Sans Serif (swiss MS Sans Serif)
-
- 2. BOLD ON|OFF - Set bold mode to on/off.
-
- 3. ITALIC ON|OFF - Set italic mode to on/off.
-
- 4. UNDERLINE ON|OFF - Set underline mode on/off.
-
- 5. SIZE font-size - Set the size of the font.
-
- 6. BOX NONE|NORMAL|THICK|SHADOW|DOUBLE - Print paragraph in a box which has one
- of the described borders : NONE is no border at all.
-
- 7. ALIGN LEFT|RIGHT|CENTER|JUSTIFY - Print the text in the paragraph aligned
- to one of the sides, the center or justified in the paragraph.
-
- 8. COLOR color-number-in-color-palette - The numbers are the same numbers used
- for DOS native systems and described in the help definition format section
- above, regarding the .LINKCOLOR, .TEXTCOLOR and .LINKHIGH statements.
-
- Example :
-
- .PAR BOX SHADOW FONT 13 BOLD
- ... some text here ..
- .ENDPAR
-
- Will display the paragraph in a shadow bordered box, using font 13 in the
- palette (MS Sans Serif assuming that the original palette is used) with bold
- characters.
-
- *******************************************************************************
- * Exception Handling *
- *******************************************************************************
-
- helpC provides mechanism to handle link exceptions. An exception is a link
- to an identifier that is not defined as a topic or popup. In order to help
- you find these errors helpC contains the cross reference report that can
- be produced using the /R+ switch. You can browse the HELPC.LST file generated
- by helpC if a cross reference report is generated, and search for the string
- ERROR that describes undefined links.
-
- helpC provides additional exception handling facilities. When an error is found
- during compile helpC can perform on of the following actions :
-
- 0: No Check - Default - helpC does not do anything. The link is passed as is to
- the target. The target help engine/compiler will handle the
- exception as it is implemented.
-
- 1: Trap - helpC will replace the link key with the key ERROR. It is the
- responsibility of the help database author to provide such a
- topic/popup.
-
- 2: Strip - helpC will pass the text of the link to the target with no link
- support. The text will appear as normal text.
-
- 3: Delete - Both the text and the link will be deleted and will not appear in
- the target.
-
- 9: Abort - helpC will abort, with an error message, and the line the link
- is defined. This mode is recommended when you are debugging
- your help database.
-
- You can set the error level using the following techniques :
-
- - Use the /EL=x switch on the helpC command line.
-
- - Use the .ERRORLEVEL x .HDF statement.
-
- Important Points :
-
- 1. When errorLevel = 0 (default) no topic database is created during pass 1,
- if you set .errorlevel somewhere in your source, after some topics/popups
- have been defined, these topics will not be in the symbol table created by
- helpC and will be considered an exception!.
-
- *******************************************************************************
- * Native Databases Structure *
- *******************************************************************************
-
- Each help database is built of 5 components :
-
- 1. Help Data File - this file contains the raw text data.
- 2. Topic Index - a database table that contains the topic names, and
- the references to the topics in the Data File.
- 3. Links Index - a database table that contains the list of links
- defined for each topic, and positional data.
- 4. Keywords Index - a database table that contains the list of keywords,
- and the topics that have these keywords.
- 5. Set Data File - a database configuration file that contains the
- names of the 3 components defined above, and some
- additional information.
-
- Version 1.x is the bare-bones version that includes only the basic
- operations needed from a hyper-text database, this version is implemented
- using the Paradox Engine V3.0 to manage the Topic and Link index tables.
-
- Version 2.x has a new field in the topic table - the title field, help
- databases that were compiled with V1.x will not be executed by version
- 2.x, they will have to be re-compiled!.
-
- Version 3.x fields have different length - the databases have to be
- re-compiled.
-
- Version 5.0+ has a new entry in the help set file, database have to be
- re-compiled, or the value 128 should be added in the last line of the help
- set file, and the version number should be changed to 5.0.
-
- Version 6.0+ has added the keyword support - a new database table is added,
- and a new set format is defined. Help databases will have to be re-compiled
- for Native targets.
-
- In Version 7.0 the title field has been expanded once more - to 70
- characters. Help databases will have to be re-compiled.
-
- In Version 8.0 the TTYPE field was added to the Topics database. Old databases
- will have to be re-compiled.
-
- The format of the help database is released to the public domain, if
- you implement a database viewer on this database structure, I would be
- happy to receive a copy ..
-
-
- *******************************************************************************
- * Topic Index Format *
- *******************************************************************************
-
- The topic index table format is as follows :
-
- TOPIC - 40 characters string key - this is the topic "name".
- FILENAME - 38 characters string field - includes the name of the
- help raw data file. (Notice - V1.0 ignores the value of this
- field, it is here for future expansion).
- START - longint (long) field that contains the offset from the data file
- start, to the start of the topics text data, in bytes.
- LEN - longint (long) field that contains the length (in bytes) of the
- text data of the topic.
- TITLE - 70 characters string key - the title of the topic.
- TTYPE - 1 character - topic type. Currently supported types are :
- 'T' = Topic.
- 'P' = Popup.
-
- *******************************************************************************
- * Links Index Format *
- *******************************************************************************
-
- The links index table format is as follows :
-
- TOPIC - 40 characters string key - the name of the topic that
- has the link.
- SEQ - integer (int) key - contains the sequential number of
- the link in the topic. (This way you can assign the links
- order in the topic).
- LINK - 40 characters string key - the name of the link topic to
- display if the link is chosen.
- LINE - integer (int) field - the line (from the start of the topic)
- this link is displayed on.
- COL - integer (int) field - the column this link is displayed on.
- TXT - 70 characters string field - the text to display on the line.
-
- *******************************************************************************
- * Keywords Index Table *
- *******************************************************************************
-
- The keywords index table format is as follows :
-
- KEYWORD - 40 characters string key - the keyword.
- TOPIC - 40 characters string key - the topic name that this keyword is
- assigned to.
-
- Notice - the database will include a row for each keyword, that has the
- TOPIC field blank. This is used to display the first list of keywords, that
- if chosen, will display the 2nd list of topics that have the chosen keyword
- in their .KEYWORDS definition.
-
- *******************************************************************************
- * Set File Format *
- *******************************************************************************
-
- The set file is a text file that contains one entry in each line, using
- the following format :
-
- help-database-engine
- version-of-generating-compiler
- topic-index-table name
- links-index-table name
- keyword-index-table-name
- help-raw-data-file name
- number-of-topics
- length-of-file
- link-normal-color
- link-high-color
- text-normal-color
-
- The help-database-engine values available today are DEF=Paradox and
- MEM=memory Tables.
-
- *******************************************************************************
- * Implementation *
- *******************************************************************************
-
- Notice - The Paradox tables (Topic, Links) include one additional field
- (wtGeneration) for future expansion purpose only.
-
- *******************************************************************************
- * Distribution *
- *******************************************************************************
-
- To distribute a database of your creation, compile the help definition
- file, and include the HELPENG.EXE file with the .DB, .PX files, and the
- .HDT file created by the compiler.
-
- If you use the Native Mem Format, compile using the /MT+ switch, and
- distribute HE.EXE with the .SET, .HDT and .HDX files created.
-
- If you generated the Windows (/W30, /W31) help file, you can compile the
- .HPJ and .RTF generated file, and distribute the resulting .HLP .
-
- If you generate QH, THELP, POPHELP or TVHC use these packages compilers to
- compile you sources into native binary codes. (helpMake, HL, makeHelp and TVHC)
-
- To Generate Help databases for DESQview/X, use the MDVXHELP compiler
- that can be found on the Internet in the file DVXHLP10.ZIP.
-
- Distribute the .INF files that IPFC creates from the .IPF sources generated,
- if you compile to OS/2.
-
- For examples on these compiler's command lines please refer to the quick
- start section of HLPDK.DOC, or to your compiler's documentation.
-