home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / progs / help / hlpdk.inf (.txt) < prev    next >
OS/2 Help File  |  1993-09-27  |  41KB  |  1,850 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. HLPDK System Overview ΓòÉΓòÉΓòÉ
  3.  
  4.  ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù 
  5.  
  6.  Γòæ                                      Γòæ 
  7.  
  8.  Γòæ                 ISoft D&M                 Γòæ 
  9.  
  10.  Γòæ                 POB. 5517                 Γòæ 
  11.  
  12.  Γòæ              Coralville IA 52241               Γòæ 
  13.  
  14.  Γòæ                  U.S.A                  Γòæ 
  15.  
  16.  Γòæ                                      Γòæ 
  17.  
  18.  ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥ 
  19.  
  20. The Help Engine Development Kit is a system that allows you to create 
  21. hyper-text database help systems with topics and hot links, using a simple text 
  22. editor and the help compiler. 
  23.  
  24. The help databases can be distributed (free of charge) with the HELPENG or HE 
  25. help engine display programs. 
  26.  
  27. The help database format is release to the public domain, if you own the 
  28. Paradox Engine you can use the help databases with your own programs. 
  29.  
  30. Borland Pascal Users can purchase the Help Engine Source Code even for 
  31. Applications that do not use the paradox engine, using the Native Mem format. 
  32.  
  33. The helpC compiler that is part of this development kit includes the ability to 
  34. create Windows Help source files from the same source the dos help sources are 
  35. created!. Write your help once, and create help databases for Dos, Windows, 
  36. OS/2 and DESQview/X ! 
  37.  
  38. Supported Formats : Native(PX), Native (Mem), Win30, Win31, QuickHelp, THELP, 
  39. TVHC, POPHELP, DESQview/X, OS/2, Text, Word Processors (RTF) 
  40.  
  41. From the same source you created your hypertext database, you can create a text 
  42. document with automatic table of contents and index sections! 
  43.  
  44. Using the RTF target you can prepare your professional documentation by 
  45. generating word processors documents, all from the same source! 
  46.  
  47. Contact ISoft D&M if you want to purchase the WINTEXT UI library for Turbo 
  48. Pascal programs, and use the help engine window in your pascal programs. 
  49.  
  50. Related Topics : 
  51.  
  52. Registration 
  53.  
  54. Contact 
  55.  
  56. File List 
  57.  
  58. Credits 
  59.  
  60. Help Engine 
  61.  
  62. Help Compiler 
  63.  
  64. Quick Start 
  65.  
  66. Related Products 
  67.  
  68.  
  69. ΓòÉΓòÉΓòÉ 2. Registration ΓòÉΓòÉΓòÉ
  70.  
  71. ******************************************************************************* 
  72.  
  73. *         Why Register and registration instructions          * 
  74.  
  75. ******************************************************************************* 
  76.  
  77. The Help Engine Development Kit (HLPDK) is a shareware product, if you find 
  78. this product valuable, please register it. This section describes the reasons 
  79. you should register. 
  80.  
  81. By registering you will receive a complete discussion of the help engine 
  82. features, and many examples of usage. You will receive a diskette with the 
  83. latest HLPDK version, and DPMI (DOS protected mode) versions of the help 
  84. compiler and engines!. (The memory version of the help engine can display huge 
  85. databases only in the protected mode version). 
  86.  
  87. Your registration will help us to create the next versions of HLPDK, that will 
  88. include more options, and features, some of them might even be your enhancement 
  89. requests!. 
  90.  
  91. A point to consider - If you want to create Windows Help source files, you will 
  92. have to purchase a word processor that can output RTF files, the WORD for 
  93. Windows 2.0 package, for example, is listed at around $500!. 
  94.  
  95. To order your registered copy of HLPDK please do one of the following: 
  96.  
  97.  1.   Order from ISoft D&M: 
  98.  
  99.  You can order directly from ISoft D&M. Please refer to the supplied 
  100.  
  101.  HLPDK.REG file. Edit it, print it and mail it (with a check) to: 
  102.  
  103.     ISoft D&M, 
  104.  
  105.     POBox 5517 
  106.  
  107.     Coralville Iowa 52241, U.S.A 
  108.  
  109.  2.   Order from PsL: 
  110.  
  111.  You can order from Public (software) Library with your MC, Visa, AmEx 
  112.  
  113.  or Discover card by calling 800-242-4PsL (from overseas: 713-524-6394) or 
  114.  
  115.  by FAX to 713-524-6398 or by CompuServe to 71355,470. 
  116.  
  117.  These numbers are for ordering only. ISoft D&M can NOT be reached at those 
  118.  
  119.  numbers. Please contact ISoft D&M directly for any other type of problem 
  120.  
  121.  (technical or other), information or request. 
  122.  
  123. Related Topics : 
  124.  
  125. Contact 
  126.  
  127. Overview 
  128.  
  129.  
  130. ΓòÉΓòÉΓòÉ 3. CONTACT ΓòÉΓòÉΓòÉ
  131.  
  132.  Please contact : 
  133.  
  134.  ISoft D&M, 
  135.  
  136.  P.O.B 5517 
  137.  
  138.  Coralville IA 52241, 
  139.  
  140.  U.S.A 
  141.  
  142. ISoft D&M e-mail address : CompuServe - 76350,333 
  143.  
  144.  To contact the author directly : 
  145.  
  146.  Contact :   Loewy Ron, 
  147.  
  148.         9 Haneveem st. 
  149.  
  150.         Herzeliya, 46465 
  151.  
  152.         ISRAEL. 
  153.  
  154. e-mail address : CompuServe - 100274,162 
  155.  
  156. Related Topics : 
  157.  
  158. Regsiteration 
  159.  
  160. Overview 
  161.  
  162.  
  163. ΓòÉΓòÉΓòÉ 4. HPLDK Distribution File List ΓòÉΓòÉΓòÉ
  164.  
  165.  This package contains the following files in the following archives : 
  166.  
  167. Archive A : 
  168.  
  169. ----------- 
  170.  
  171.  READMEA.HDK   - File List for Archive A. 
  172.  
  173.  HELPC.EXE    - Help Compiler. 
  174.  
  175.  HLPDK.DOC    - This file. 
  176.  
  177.  HELPC.DOC    - Help Compiler documentation 
  178.  
  179.  HLPDK.REG    - Registration file. 
  180.  
  181.  HLPDK.HDF    - Help Development Kit hypertext help database source. 
  182.  
  183.  HLPDK.HLP    - WinHelp Version of the hlpdk hypertext source. 
  184.  
  185.  HLPDK.INF    - OS/2 IPF Version of the HLPDK hypertext source. 
  186.  
  187.  PROGRAMS.TXT  - ISoft D&M shareware products description. 
  188.  
  189.  HELPDEMO.HDF  - Demo Help Project. 
  190.  
  191.  2NDDEMO.HDF   - Demo Help Project - file 2. 
  192.  
  193. Archive B : 
  194.  
  195. ----------- 
  196.  
  197.  READMEB.HDK   - File List for Archive B. 
  198.  
  199.  HELPENG.EXE   - Help Engine (Native Paradox). 
  200.  
  201.  HE.EXE     - Help Engine (Native Memory). 
  202.  
  203.  HELPDEMO.HLP  - Demo Help Project file for Windows WINHELP. 
  204.  
  205.  HLPDK.HDT    - Help Development Kit help database file. (Native Paradox) 
  206.  
  207.  HLPDK.SET    - Help Development Kit help database file. 
  208.  
  209.  HLPDKTOP.*   - Help Development Kit help database files. 
  210.  
  211.  HLPDKLNK.*   - Help Development Kit help database files. 
  212.  
  213.  HLPDKKEY.*   - Help Development Kit help database files. 
  214.  
  215. Related Topics : 
  216.  
  217. Overview 
  218.  
  219. Quick Start 
  220.  
  221.  
  222. ΓòÉΓòÉΓòÉ 5. CREDITS ΓòÉΓòÉΓòÉ
  223.  
  224. HELPENG, HELPC were written using Turbo Pascal 6.0, and Borland Pascal 7.0, 
  225. Paradox Engine 2.0, and Paradox Engine 3.0, 3.01. (Trademarks of Borland 
  226. International). 
  227.  
  228. Windows, Microsoft, HC and Quick Help are trademarks or copyrights of Microsoft 
  229. Corp. 
  230.  
  231. The HELPENG program was written using the WINTEXT UI library, (c) 1991,93 Loewy 
  232. Ron. 
  233.  
  234. THELP, HL and TVHC are Trademarks or copyrights Borland International. 
  235.  
  236. POPHELP is a copyright of TurboPower Software. 
  237.  
  238. TVHC support, and other ideas were suggested by MunLeong Chan. 
  239.  
  240. Parts of the Help Engines were generated using Ron Loewy's WTGEN and dbGen CASE 
  241. code generators. 
  242.  
  243. Parts of the Help Compiler were generated using Ron Loewy's dbGen database code 
  244. generator. 
  245.  
  246. Yaniv Golan helped me with beta-testing, debugging and suggestions. He is also 
  247. the  author of the HPCHDK and POPHDK packages. 
  248.  
  249. John Murphy notified me of the paragraph formatting difficulties that lead to 
  250. the .PARAGRAPH .END-PARAGRAPH formatting capabilities. 
  251.  
  252. DESQview/X is a trademark of Quarterdeck Office Systems. 
  253.  
  254. MDVXHELP is a copyright (1992) of Daniel J. Bodoh. I have used his excelent 
  255. documentation of DESQview/X help format to generate code to this environment. 
  256.  
  257. The HC31 problem with characters with ordinal values biggen than 127 was solved 
  258. thanks to Mr. Lars Fosdal of Norway. 
  259.  
  260. OS/2 is a registered trademark of International Bussiness Machines. 
  261.  
  262. The Text Cursor restore problem in the help engines was reported by Prof. Timo 
  263. Salmi of the Univ. of VAASA, Finland. 
  264.  
  265. D.J. Murdoch suggested the Cross Reference Report enhancements, and winhelp Go 
  266. To Search list box title problem. 
  267.  
  268. Word for Windows is a trademark of Microsoft corp. 
  269.  
  270. WordPerfect, WordPerfect for Windows are trademarks of WordPerfect corporation. 
  271.  
  272. Lotus, AMI PRO are trademarks of Lotus corp. 
  273.  
  274. Reuben Halevi from ISoft D&M did a lot to make this product real. 
  275.  
  276. Slren Pingel Dalsgaard notified me of the small scroll box bug in helpeng, as 
  277. well as some spelling mistakes in helpC. 
  278.  
  279. Related Topics : 
  280.  
  281. Overview 
  282.  
  283.  
  284. ΓòÉΓòÉΓòÉ 6. Quick Start ΓòÉΓòÉΓòÉ
  285.  
  286. From the command line enter HELPC HELPDEMO to compile the demo help database. 
  287.  
  288. After the compilation process is ended, enter HELPENG HELPDEMO to browse the 
  289. demo help database. 
  290.  
  291. If you want to compile for windows : 
  292.  
  293. from the command line enter HELPC HELPDEMO /W31 
  294.  
  295. and after that HC31 HELPDEMO 
  296.  
  297. (HC31 is the Microsoft Help Compiler) 
  298.  
  299. from windows, open the HELPDEMO.HLP file from the windows help engine. (Notice 
  300. - if you do not have the HC help compiler from windows, we have included a 
  301. compiled version of HELPDEMO (HELPDEMO.HLP) so you will be able to feel the 
  302. quality of the output that can be generated, and decide if you want to purchase 
  303. the HC31 program (Included with the SDK, BC++, TPW, BP and probably some other 
  304. packages), or download it from one of the sites Microsoft had uploaded it to). 
  305.  
  306. If you use windows 3.0, or want your help file to be compatible with winHelp 
  307. 3.0 use : 
  308.  
  309.     HELPC /W30 HELPDEMO 
  310.  
  311.     HC HELPDEMO 
  312.  
  313. To compile for THELP use : 
  314.  
  315.     HELPC /TH+ HELPDEMO 
  316.  
  317.     HL -x -e100 -p -i -oHELPDEMO.TPH HELPDEMO.HL 
  318.  
  319. To compile for QuickHelp : 
  320.  
  321.     HELPC /QH+ HELPDEMO 
  322.  
  323.     HELPMAKE -e15 -oHELPDEMO.QH HELPDEMO.SRC 
  324.  
  325. To compile for TVHC : 
  326.  
  327.     HELPC /TV+ HELPDEMO 
  328.  
  329.     TVHC HELPDEMO.TXT 
  330.  
  331. To compile for POPHELP : 
  332.  
  333.     HELPC /PH+ HELPDEMO 
  334.  
  335.     MAKEHELP /Q HELPDEMO 
  336.  
  337. To compile for DESQview/X : 
  338.  
  339.     HELPC /XD+ HELPDEMO 
  340.  
  341.     MDVXHELP HELPDEMO.HLP @HELPDEMO.LST 
  342.  
  343.     COPY HELPDEMO.HLP d:\DVX\HELP 
  344.  
  345. To compile for Native Mem Format : 
  346.  
  347.     HELPC /MT+ HELPDEMO 
  348.  
  349. (Use HE HELPDEMO to view that database). 
  350.  
  351. To compile for IPF (OS/2) format : 
  352.  
  353.     HELPC /OS2 HELPDEMO 
  354.  
  355.     Switch to an OS/2 session. 
  356.  
  357.     IPFC /INF HELPDEMO 
  358.  
  359. (Use the VIEW Command to browse the database). 
  360.  
  361. To create a text document with table of contents, glossary and index : 
  362.  
  363.     HELPC /TXT HELPDEMO 
  364.  
  365. To create a word processor document with table of contents, 
  366.  
  367. glossary and index : 
  368.  
  369.     HELPC /RTF HELPDEMO 
  370.  
  371.     import helpdemo.rtf to your word-processor, and update fields. 
  372.  
  373.     (e.g. Microsoft WinWord : File|Open to open the document 
  374.  
  375.                  Answer Yes to convert from Rich Text Format 
  376.  
  377.                  Press F9 to update embedded format fields 
  378.  
  379.                  somewhere in the first page (after the 
  380.  
  381.                  Table Of Contents title), and in the last 
  382.  
  383.                  page (after the index title).) 
  384.  
  385. Related Topics : 
  386.  
  387. Overview 
  388.  
  389. File List 
  390.  
  391.  
  392. ΓòÉΓòÉΓòÉ 7. The Help Engine ΓòÉΓòÉΓòÉ
  393.  
  394. To start the help engine program enter HELPENG on the command line, and choose 
  395. the help database you want to view from the list box. Use the Tab key to cycle 
  396. between hot-link words, and press Enter to go to that link. 
  397.  
  398. If you know the name of the SET file of the database you want to activate, you 
  399. can enter it on the command line, and the help engine will display it. 
  400.  
  401. If you have a mouse, you can use it to point at the hi-lighted links, and 
  402. activate them by pressing the left mouse button. 
  403.  
  404. Press the ALT-T key combination to choose from a list of TOPICS in the 
  405. database, Press ALT-B to go back to the previous displayed TOPIC, Press ALT-X 
  406. to exit the help engine. 
  407.  
  408. The exit command can be given by pressing the right mouse button. 
  409.  
  410. Use F10 to open the menu bar, and use the arrow keys to navigate the options. 
  411. When you find the option you are interested in, Use the Enter key to execute 
  412. it, or the Esc key to cancel. The menu bar can be navigated using the mouse as 
  413. well. 
  414.  
  415. To create a new help database please refer to the HELPC  documentation file. 
  416.  
  417. If you want to use the Native Mem Format Databases, Please use the supplied 
  418. HE.EXE program. 
  419.  
  420. Related Topics : 
  421.  
  422. Trouble Shooting 
  423.  
  424. Overview 
  425.  
  426.  
  427. ΓòÉΓòÉΓòÉ 8. Trouble Shooting ΓòÉΓòÉΓòÉ
  428.  
  429. If you receive some kind of an error message while using the help development 
  430. kit please refer to this section. 
  431.  
  432. tableOps: xxxx error message : 
  433.  
  434. This message is generated by the Paradox Engine if an internal error occurs, if 
  435. you receive a message that is not understood (e.g. Table is busy), please try 
  436. one of the following : 
  437.  
  438.  1. Try running the Help Compiler or the Help Engine with another input and 
  439.  
  440.   notice if the problem exists, if it does, turn to the next entry, 
  441.  
  442.   otherwise try to see what the difference between the inputs is. 
  443.  
  444.  2. Check your free memory, try to move some TSR's from memory, or use the 
  445.  
  446.   protected mode compiler/engine available with the registered version. 
  447.  
  448.  3. Check if you have loaded dos SHARE program, it is advised to use SHARE 
  449.  
  450.   with programs that use the Paradox Engine. If you receive a table busy 
  451.  
  452.   error, try to see if you have another program that uses the same table 
  453.  
  454.   in another session (Windows/DESQview etc..). 
  455.  
  456.  4. PANIC - Please contact the distibuter/author for additional help. 
  457.  
  458. Microsoft's HC31 help compiler will generate a error in RTF file error : 
  459.  
  460.  1. Re-compile using HELPC 4.0+. This should solve the problem, if the problem 
  461.  
  462.   still exists - please try steps 2 and 3, and notify the author. 
  463.  
  464.  2. Use a binary disk editor to look at the character at the position x - 1 
  465.  
  466.   in the RTF file (where x is the error position reported by HC31). 
  467.  
  468.  3. Try to replace that charqacter from a special PC oem character to a 
  469.  
  470.   "standard" ascii character (such as *). If the problem still occurs, 
  471.  
  472.   please contact ISoft D&M/The author, otherwise - you probably came 
  473.  
  474.   accross a character that HC31 can not handle. In that case - try using 
  475.  
  476.   HC300b (the one that generates winHelp 3.0 format), or delete these 
  477.  
  478.   characters from your source HDF file. 
  479.  
  480. Borland's HL help linker will generate a FE02: Out Of Memory error : 
  481.  
  482.  1. Re-compile using HELPC V3.0+, to include ;INDEX directives after the 
  483.  
  484.   screen's definitions. 
  485.  
  486. Borland's HL help linker will complain about undefined context numbers : 
  487.  
  488.  1. You probably have a contents.h file in the current directory, that hl 
  489.  
  490.   tries to use to bind the help topics to Borland's IDE on-line help, 
  491.  
  492.   try renaming this file, and re-compile with HL. 
  493.  
  494. HelpC will not create the database when compiling to Native Mem (/MT+) : 
  495.  
  496.  1. Try compiling with report generation on (/R+) to Native Paradox 
  497.  
  498.   (/PX+) format. If there are errors, consult the HELPC.LST file, fix 
  499.  
  500.   them, and re-try. 
  501.  
  502.  2. If the database is BIG, you might not have enough memory - Remember that 
  503.  
  504.   Native Mem tables are generated in memory. You will have to use the 
  505.  
  506.   HelpCX protected mode compiler (Available with the registered version). 
  507.  
  508. HelpEng/HE will complain on an old-database when trying to open a help 
  509.  
  510. database with it : 
  511.  
  512.  1. Re-Compile the database using helpC. 
  513.  
  514. HelpEng/HE will complain on un-supported database format, when trying to 
  515.  
  516. open a database : 
  517.  
  518.  1. HelpEng can not display Native Mem databases, and HE can not display 
  519.  
  520.   Native PX databases. Use the other help engine supplied. 
  521.  
  522. HE will not be able to open a Native Mem database : 
  523.  
  524.  1. Use the protected mode HEX help engine. (Available for registered users). 
  525.  
  526. Where is HL - Borland's Help Linker : 
  527.  
  528.  1. HL is not included with Borland C++ or Borland Pascal, Borland sells an 
  529.  
  530.   additional package called Borland Open Architecture (and Borlad OA for 
  531.  
  532.   Pascal) that include among other things - the THELP help linker. 
  533.  
  534. HelpEng/HE will complain on an old-database when tring to open a help database 
  535. with it : 
  536.  
  537.  1. Re-Compile the database using helpC. 
  538.  
  539. HelpEng/HE will complain on un-supported database format, when trying to open a 
  540. database : 
  541.  
  542.  1. HelpEng can not display Native Mem databases, and HE can not display 
  543.  
  544.   Native PX databases. Use the other help engine supplied. 
  545.  
  546. HE will not be able to open a Native Mem database : 
  547.  
  548.  1. Use the protected mode HEX help engine. (Available for registered users). 
  549.  
  550. We have encountered some users that ran into problems, because they did not use 
  551. the dos SHARE program. We advise that you will always load the SHARE program in 
  552. your AUTOEXEC.BAT file. 
  553.  
  554. Related Topics : 
  555.  
  556. Overview 
  557.  
  558. Help Engine 
  559.  
  560. Help Compiler 
  561.  
  562.  
  563. ΓòÉΓòÉΓòÉ 9. Help Compiler ΓòÉΓòÉΓòÉ
  564.  
  565. The HELPC help compiler is a dos command line program that receives a help 
  566. definition file (.HDF) and produce a help database. 
  567.  
  568.  The helpC command line is : 
  569.  
  570.  HELPC source.fil [/NT:topic-table-name] 
  571.  
  572.          [/NL:link-table-name] 
  573.  
  574.          [/ND:data-file-name] 
  575.  
  576.          [/NK:keywords-table-name] 
  577.  
  578.          [/D:conditional-define] 
  579.  
  580.          [/ED=P|C|+] 
  581.  
  582.          [/EL=x] 
  583.  
  584.          [/R-]  [/ST-] [/CS+] [/EP+] [/WD-] [/RM-] 
  585.  
  586.          [/W+]  [/W30] [/W31] [TH+] [/QH+] [/TV+] [/PH+] [/XD+] 
  587.  
  588.          [/PX+] [/MT+] [/OS2] [/TXT] [/RTF] 
  589.  
  590. The output of the compiler is a set data file called source.SET, that includes 
  591. the names of the other help database components. 
  592.  
  593. Please Notice - if the /W+ /W30 or /W31 switch is defined, the compiler will 
  594. generate a .HPJ and .RTF files that can be used with the Microsoft HC (v3.00b) 
  595. or HC31 help compiler, and output a .HLP windows help file!. 
  596.  
  597. By default the help compiler produces a help cross reference report on the 
  598. topics/links used in the database, if the /R- switch is set, no cross-ref 
  599. report will be generated, and no database integrity indicators will be given. 
  600.  
  601. IMPORTANT - Scan the output cross reference report for links defined, that are 
  602. not defined as topics! 
  603.  
  604. Notice - An additional switch is available that instructs the help compiler to 
  605. indicate it's parse and code generation progress. Use the /EP+ switch to see 
  606. that the helpC compiler is active. Please understand that the compile process 
  607. can take a long time, on complex help databases. This switch does nothing more 
  608. that ensure to you that the help compiler is alive. 
  609.  
  610. The /ST switch defines if the topic name defined in the .TOPIC command can 
  611. include embeded spaces. By default this switch is set to /ST- (No embedded 
  612. spaces). 
  613.  
  614. The /CS switch turns Topics and Links case sensativity to ON. Use this switch 
  615. with care - Only if you must have a lower/mixed case index in THELP or POPHELP 
  616. use this switch. Notice that help databases that compile fine with case 
  617. sensativity set to off, might fail to do so in case sensativity on. By deafult 
  618. this switch is set to off (-). 
  619.  
  620. The /XD switch generates code to the MDVXHELP help compiler, available free in 
  621. the file DVXHLP10.ZIP on the Internet. When this switch is given, a set of 
  622. cover and section files is generated, as well as a response file that should be 
  623. used to compile the help database. 
  624.  
  625. The /OS2 switch generates IPF source code. You must compile the generated code 
  626. with IPFC, from within an OS/2 session (window or full screen). 
  627.  
  628. The /WD switch controls Warning Display. By default Warning Display is On, if 
  629. you do not want to see the Warnings issued by the compiler when a topic name or 
  630. link are found to be incompatible with the target source, and helpC translate 
  631. them to be syntax compatible with the target. 
  632.  
  633. Use the /RTF switch to create a word-processor ready RTF file, import this file 
  634. (and update the fields e.g.- F9 in WinWord) to create a professional formatted 
  635. documentation from the same source code!. 
  636.  
  637. Use the /TXT switch to create a text file document from your .HDF source. With 
  638. this feature you can create on-line help and printed documentation from the 
  639. same source!. 
  640.  
  641. The /RM- switch uses disk cross-reference report tables. Usage of this option 
  642. will allow the creation of cross-reference report for huge databases. This 
  643. options will slow the creation of reports, use it only for databases so big 
  644. that the report can not be generated using memory tables. 
  645.  
  646. The /ED= switch creates the external references (if ant are defined) in one of 
  647. the following formats : /ED=P (Default) creates the external definitions in a 
  648. pascal unit, /ED=C creates the external definitions in a C header file, and 
  649. /ED=+ creates a C++ header file. 
  650.  
  651. The /EL= switch sets the Error Level used. This switch can be overriden by the 
  652. .ERRORLEVEL statement. The acceptable error levels are : 
  653.  
  654.    0   No Check  - (Default) - No action is taken. 
  655.  
  656.    1   Trap    - The link is replaced to a special topic named ERROR. 
  657.  
  658.    2   Strip   - The link is replaced by the Text part only. 
  659.  
  660.    3   Delete   - The text and link parts are deleted. 
  661.  
  662.    9   Abort   - helpC will abort with an error message, indicating the 
  663.  
  664.             line number. 
  665.  
  666. Please refer to the Exception Handling  section below about helpC error 
  667. processing. 
  668.  
  669. Related Topics : 
  670.  
  671. Overview 
  672.  
  673. Command Line 
  674.  
  675. Help Engine 
  676.  
  677. Technical Documentation 
  678.  
  679.  
  680. ΓòÉΓòÉΓòÉ 10. Command Line ΓòÉΓòÉΓòÉ
  681.  
  682. The compiler switches are defined on the command line. These switches can be 
  683. placed before and after the source file name. The compiler will look for a file 
  684. named HELPC.CFG in the current directory, and process it before any command 
  685. line switches are processed. 
  686.  
  687. Switches on the command line will over-ride switches set before them, on the 
  688. command line or in one of the response options file. 
  689.  
  690. Response option files can be specified by prefixing their name with a @ sign. 
  691.  
  692.  Examples : 
  693.  
  694.  If our HELPC.CFG file, in the current directory is : 
  695.  
  696. /W31 
  697.  
  698. /R- 
  699.  
  700.  And we compile using HELPC HELPDEMO 
  701.  
  702.  The helpdemo.hdf file will be compiled, with the target set to winhelp 3.1 
  703.  
  704.  and no cross-reference report. 
  705.  
  706.  Compile using HELPC HELPDEMO /r+ 
  707.  
  708.  Will create winhelp 3.1 sources, but a report will be generated. 
  709.  
  710.  Compile using HELPC /w- HELPDEMO 
  711.  
  712.  Will generate native format help database, no report is generated. 
  713.  
  714.  If we have a file called MYSWITCH.CFG with the following lines : 
  715.  
  716. /TH+ 
  717.  
  718. /ST- 
  719.  
  720. /CS+ 
  721.  
  722.  And we compile using HELPC @MYSWITCH.CFG HELPDEMO 
  723.  
  724.  A THELP source, using Long Topic Names, with case sensitivity will be 
  725.  
  726.  generated, no cross reference report is generated. (HELPC.CFG contains /r-) 
  727.  
  728. Related Topics : 
  729.  
  730. Overview 
  731.  
  732. Help Compiler 
  733.  
  734.  
  735. ΓòÉΓòÉΓòÉ 11. Technical Documentation ΓòÉΓòÉΓòÉ
  736.  
  737. The Help Engine database is a combination of text that is read by the user, and 
  738. a Topic and Links database that allows the user to view the topics he is 
  739. interested in, using hyper-text methods. 
  740.  
  741. This document describes the HLPDK language syntax, HELPC compiler operation and 
  742. the native databases structure. 
  743.  
  744. Related Topics : 
  745.  
  746. Help Compiler 
  747.  
  748. Help Engine 
  749.  
  750. Help Definition Format 
  751.  
  752. Native Format Structure 
  753.  
  754.  
  755. ΓòÉΓòÉΓòÉ 12. Native Database Structure ΓòÉΓòÉΓòÉ
  756.  
  757.  Each help database is built of 5 components : 
  758.  
  759.  1. Help Data File   - this file contains the raw text data. 
  760.  
  761.  2. Topic Index    - a database table that contains the topic names, and 
  762.  
  763.             the references to the topics in the Data File. 
  764.  
  765.  3. Links Index    - a database table that contains the list of links 
  766.  
  767.             defined for each topic, and positional data. 
  768.  
  769.  4. Keywords Index   - a database table that contains the list of keywords, 
  770.  
  771.             and the topics that have these keywords. 
  772.  
  773.  5. Set Data File   - a database configuration file that contains the 
  774.  
  775.             names of the 3 components defined above, and some 
  776.  
  777.             additional information. 
  778.  
  779. Version 1.x is the bare-bones version that includes only the basic operations 
  780. needed from a hyper-text database, this version is implemented using the 
  781. Paradox Engine V3.0 to manage the Topic and Link index tables. 
  782.  
  783. Version 2.x has a new field in the topic table - the title field, help 
  784. databases that were compiled with V1.x will not be executed by version 2.x, 
  785. they will have to be re-compiled!. 
  786.  
  787. Version 3.x fields have different length - the databases have to be 
  788. re-compiled. 
  789.  
  790. Version 5.0+ has a new entry in the help set file, database have to be 
  791. re-compiled, or the value 128 should be added in the last line of the help set 
  792. file, and the version number should be changed to 5.0. 
  793.  
  794. Version 6.0+ has added the keyword support - a new database table is added, and 
  795. a new set format is defined. Help databases will have to be re-compiled for 
  796. Natice targets. 
  797.  
  798. In Version 7.0 the title field has been expanded once more - to 70 characters. 
  799. Help databases will have to be re-compiled. 
  800.  
  801. In Version 8.0 the tType field was added to the Topics database. Old databases 
  802. will have to be re-compiled. 
  803.  
  804. The format of the help database is released to the public domain, if you 
  805. implement a database viewer on this database structure, I would be happy to 
  806. receive a copy .. 
  807.  
  808. Related Topics : 
  809.  
  810. Help Compiler 
  811.  
  812. Help Engine 
  813.  
  814. Help Definition Format 
  815.  
  816. Topic Index Format 
  817.  
  818. Links Index Format 
  819.  
  820. Keywords Index Format 
  821.  
  822. Set File Format 
  823.  
  824.  
  825. ΓòÉΓòÉΓòÉ 13. Help Definition Format ΓòÉΓòÉΓòÉ
  826.  
  827.  The help definition file format is as follows : 
  828.  
  829. | remarks ... 
  830.  
  831. | remarks ... 
  832.  
  833.  
  834. | .ENTRY topic-name 
  835.  
  836. | [.TITLE optional title for topic] 
  837.  
  838. | [.TITLEATTR paragraph attributes] 
  839.  
  840. | [.KEYWORDS optional keywords for topic] 
  841.  
  842. | [.GROUPS group1 [group2 ..]] 
  843.  
  844. | topic text and link reference .. 
  845.  
  846. | topic text and link reference .. 
  847.  
  848. | topic text and link reference .. 
  849.  
  850. | topic text and link reference .. 
  851.  
  852. | .END-ENTRY 
  853.  
  854.  
  855. | remarks ... 
  856.  
  857.  
  858.  
  859. | .ENTRY topic2-name 
  860.  
  861. | [.KEYWORDS keyword1 keyword2 ..] 
  862.  
  863. | [.GROUPS group3 [group2 ..]] 
  864.  
  865. | [.PARAGRAPH [paragraph attributes]] 
  866.  
  867. | topic 2 text and link reference .. 
  868.  
  869. | topic 2 text and link reference .. 
  870.  
  871. | topic 2 text and link reference .. 
  872.  
  873. | [.END-PARAGRAPH] 
  874.  
  875. | additional topic2 text ... 
  876.  
  877. | .END-ENTRY 
  878.  
  879.  
  880. | .POPUP popup-name 
  881.  
  882. | [.TITLE optional title for popup] 
  883.  
  884. |  definition for some reference 
  885.  
  886. |  ... 
  887.  
  888. | .END-POPUP 
  889.  
  890.  As can be seen - lines between the .ENTRY and .END-ENTRY keywords are 
  891.  
  892.  the lines processed by the help compiler, to create the help database, 
  893.  
  894.  every other line is considered a remark, and is not parsed or evaluated by 
  895.  
  896.  the help compiler. 
  897.  
  898.  The topic text and link reference lines are simple text lines, with 
  899.  
  900.  special link marks. 
  901.  
  902.  A sample will provide the details : 
  903.  
  904. This is a text help line that includes one ~link~link-topic-name~ in it. 
  905.  
  906.  This line will be displayed in the help engine program as : 
  907.  
  908. This is a text help line that includes one link in it. 
  909.  
  910.  The word "link" will be in a different color then the rest of the line, 
  911.  
  912.  to indicate that this is a link. If the user hi-lights the link, and 
  913.  
  914.  presses Enter (or points the mouse cursor and clicks), the help engine will 
  915.  
  916.  look for a topic called "link-topic-name", and display it. 
  917.  
  918.  Browse the HELPDEMO.HDF file for a demo of a help database definition file. 
  919.  
  920.  Notes : 
  921.  
  922.  1. The keywords .TOPIC and .END-TOPIC can be used instead of .ENTRY and 
  923.  
  924.  .  .END-ENTRY respectively. 
  925.  
  926.   An equivalent pair of keywords are .TOP and .ENDTOP . 
  927.  
  928.   You can use .EXT-TOPIC instead of .TOPIC/.ENTRY etc.. - topics created 
  929.  
  930.   with that statement are the same as regular topics, only - an external 
  931.  
  932.   reference is created for them to be linked to a pascal/C/C++ program. 
  933.  
  934.  2. Keywords are NOT case sensitive. (.topic = .TOPIC = .eNTry) 
  935.  
  936.  3. The .TITLE keyword is optional. If no title is defined, the topic name 
  937.  
  938.   is used as a title. The .TITLEATTR keyword is used to describe the 
  939.  
  940.   title text attributes. The syntax is the same as the .PARAGRAPH text 
  941.  
  942.   attributes. Please refer to the Text Attributes section below for further 
  943.  
  944.   discussion of the optional paragraph attributes. 
  945.  
  946.  4. If you want the ~ sign to appear in your help database, use ~~ in your 
  947.  
  948.   help source file. (e.g. "This is a ~~" will be "This is a ~" in the final 
  949.  
  950.   help database.). 
  951.  
  952.  5. The Optional .PARAGRAPH and .END-PARAGRAPH commands in the help topic text, 
  953.  
  954.   specify the start and the end of a paragraph. This feature is currently 
  955.  
  956.   supported only for winhelp, RTF and IPF sources. This feature is important if 
  957. you 
  958.  
  959.   want to create long paragraphs that will wrap correctly when a user resizes 
  960.  
  961.   the help window. Please refer to the Text Attributes  section below for 
  962. further 
  963.  
  964.   discussion of the optional paragraph attributes. 
  965.  
  966.  6. When a .PARAGRAPH is issued, a .END-PARAGRAPH MUST be specified at the 
  967.  
  968.   end of the paragraph. These commands must appear as the first words in 
  969.  
  970.   a line. The text after the .PARAGRAPH command is NOT part of the text 
  971.  
  972.   of the help topic. 
  973.  
  974.  7. The optional .KEYWORDS command can appear after the .TITLE command 
  975.  
  976.   (If there is one), or the .TOPIC header (otherwise), Use this command 
  977.  
  978.   to help the user search for sets of topics that are connected to a 
  979.  
  980.   specific keyword. The syntax of this command is : 
  981.  
  982.   .KEYWORDS keyword-1 keyword-2 ... 
  983.  
  984.  8. .POPUP and .END-POPUP (or .ENDPOP) are used to define popup topics that 
  985.  
  986.   are displayed on the same screen as the original topic that includes the 
  987.  
  988.   link to them. Popup entries allow the user to consult a glossary, and 
  989.  
  990.   not lose the topic he was reading. Popups are supported in the winhelp, 
  991.  
  992.   OS/2 IPF, Native PX and Native Mem formats. In the other formats Popups are 
  993.  
  994.   used as standard topics. 
  995.  
  996.  9. In the Text target .POPUP entries will be automatically included in a 
  997.  
  998.   Glossary file that you can add as an appendix to your documentation. 
  999.  
  1000. 10. The .GROUPS statement associate a topic with several groups, you can 
  1001.  
  1002.   create topics with menus to groups of other topics using the statement 
  1003.  
  1004.   ".INSERT GROUP group-name" in your topic text. Please refer to the 
  1005.  
  1006. Groups  section of this document for additional discussion of this 
  1007.  
  1008.   function. 
  1009.  
  1010. Additional commands include : 
  1011.  
  1012. | .TEXTCOLOR, .LINKCOLOR and .LINKHIGH - VGA colors of text and links in normal 
  1013.  
  1014. and high (selected) states in the native help format. 
  1015.  
  1016. The syntax of these commands is : 
  1017.  
  1018. | .TEXTCOLOR w 
  1019.  
  1020. or 
  1021.  
  1022. | .LINKCOLOR x 
  1023.  
  1024. or 
  1025.  
  1026. | .LINKHIGH y 
  1027.  
  1028. Where w, x and y are the color of the text/link, which is a combination of the 
  1029.  
  1030. color of the foreground with the color of the background multiplied by 16. 
  1031.  
  1032. The colors that can be used for both fore and background are : 
  1033.  
  1034.  Black   = 0 
  1035.  
  1036.  Blue    = 1 
  1037.  
  1038.  Green   = 2 
  1039.  
  1040.  Cyan    = 3 
  1041.  
  1042.  Red    = 4 
  1043.  
  1044.  Magenta  = 5 
  1045.  
  1046.  Brown   = 6 
  1047.  
  1048.  LightGray = 7 
  1049.  
  1050. The colors that can be used only for the foreground are : 
  1051.  
  1052.  DarkGray   = 8 
  1053.  
  1054.  LightBlue   = 9 
  1055.  
  1056.  LightGreen  = 10 
  1057.  
  1058.  LightCyan   = 11 
  1059.  
  1060.  LightRed   = 12 
  1061.  
  1062.  LightMagenta = 13 
  1063.  
  1064.  Yellow    = 14 
  1065.  
  1066.  White     = 15 
  1067.  
  1068. For example : to set the normal color of a link to light green on blue, use 
  1069.  
  1070. | .LINKCOLOR 26 
  1071.  
  1072. where 26 = 10 + 16 * 1. (10 = light green, 1 = blue). 
  1073.  
  1074. Creating Multiple Source Projects : 
  1075.  
  1076. Use the .INCLUDE commands in the source of your .HDF file, to include an 
  1077.  
  1078. additional source file. .INCLUDE is not supported in the middle of a topic. 
  1079.  
  1080. For Example : 
  1081.  
  1082.  .. some stuff 
  1083.  
  1084. | .include 2ndfile.hdf 
  1085.  
  1086.  .. additional stuff 
  1087.  
  1088. will process 2NDFILE.HDF in the middle of our source file. 
  1089.  
  1090. Please notice - .INCLUDE commands can be nested in your source file, 
  1091.  
  1092. it is however not recommended to nest them too deep, helpC does not 
  1093.  
  1094. close the input file when a .INCLUDEd file is processed, in order to 
  1095.  
  1096. minimize help generation time - there is however, a limit on the number 
  1097.  
  1098. of open files that can be used by a program - this is a limit set by dos. 
  1099.  
  1100. Use the .INSERT CODE statement to insert target code that will not be 
  1101.  
  1102. translated by helpC. helpC will send un-translated code to the output target 
  1103.  
  1104. until a .END-CODE statement is found. 
  1105.  
  1106. For example - creating a small table in winhelp format : 
  1107.  
  1108. | .. normal code 
  1109.  
  1110. | .ifdef windows 
  1111.  
  1112. | .insert code 
  1113.  
  1114. | \pard{\tab column1\tab column2\tab column3}\par 
  1115.  
  1116. | \pard{\par col1data\tab col2data ..}\par 
  1117.  
  1118. | .end-code 
  1119.  
  1120. | .endif 
  1121.  
  1122. GUI Font based targets : 
  1123.  
  1124. The .FIXEDFONT command is used to define a non proportional font as the 
  1125.  
  1126. default font of the help database. Currently the only targets affected 
  1127.  
  1128. by this command are windows winHelp v3.x. If you find that your help 
  1129.  
  1130. databases are not aligned after they are converted to winHelp format, use 
  1131.  
  1132. this command and re-compile. This command has no effect on targets that are 
  1133.  
  1134. different from the targets mentioned before. 
  1135.  
  1136. The .PCFONT command is used to define a font that has the standard pc 
  1137.  
  1138. character set (Terminal - in windows). If you convert a text based 
  1139.  
  1140. database that uses the PC's special characters, use this command to 
  1141.  
  1142. set the default font. This command has no effect on targets that are 
  1143.  
  1144. different from the targets mentioned before. 
  1145.  
  1146. Text targets : 
  1147.  
  1148. The .PAGELENGTH and .PAGEWIDTH statements set the printed page length in 
  1149.  
  1150. rows, and width in columns. The syntax is .PAGELENGTH xx or .PAGEWIDTH yy . 
  1151.  
  1152. Use the .SETFONT command to change or add fonts to the font palette, The 
  1153.  
  1154. syntax is : .SETFONT font-number 'Font-Name-In-The-Target-Language'. If 
  1155.  
  1156. for example we would like to change font number 3 in the windows target 
  1157.  
  1158. to be a font X of family Y we would write : 
  1159.  
  1160. | .SETFONT 3 'Y X' 
  1161.  
  1162. Use the .TITLEDEFAULTS statement to set the default text attributes of the 
  1163.  
  1164. topics titles in the help database. These defaults can be over-ridden with 
  1165.  
  1166. the .TITLEATTR statement in the topic definition. Please refer to the Text 
  1167.  
  1168. Attributes section below for discussion of paragraph text attributes. 
  1169.  
  1170. Use the .ATTRDEFAULTS statement to set the default text attributes of 
  1171.  
  1172. paragraph text in the database. Please refer to the Text Attributes section 
  1173.  
  1174. below. 
  1175.  
  1176. Use the .ERRORLEVEL command to set the error level. The syntax is .ERRORLEVEL x 
  1177.  
  1178. where x is one of the following : 
  1179.  
  1180.    0   No Check  - (Default) - No action is taken. 
  1181.  
  1182.    1   Trap    - The link is replaced to a special topic named ERROR. 
  1183.  
  1184.    2   Strip   - The link is replaced by the Text part only. 
  1185.  
  1186.    3   Delete   - The text and link parts are deleted. 
  1187.  
  1188.    9   Abort   - helpC will abort with an error message, indicating the 
  1189.  
  1190.             line number. 
  1191.  
  1192. Please refer to the Exception Handling  section below about helpC error 
  1193. processing. 
  1194.  
  1195. Use the .ALIAS command to substitute a popup/topic name with another name. The 
  1196. syntax is .ALIAS newname origname. Whenever a newname link is found, the alias 
  1197. of origname is used. This can be very useful when you want to give multiple 
  1198. names to a topic, or when HLPDK source is the target of an incremental 
  1199. compiler. 
  1200.  
  1201. Related Topics : 
  1202.  
  1203. Technical Documentation 
  1204.  
  1205. Conditional Defines 
  1206.  
  1207. Groups 
  1208.  
  1209. Text Attributes 
  1210.  
  1211.  
  1212. ΓòÉΓòÉΓòÉ 14. Conditional Defines ΓòÉΓòÉΓòÉ
  1213.  
  1214. The helpC compiler supports conditional define directives that allow you to 
  1215. tailor your source according to define symbols that are known to the compiler. 
  1216.  
  1217. You can use the .ifdef, .ifndef, .else and .endif directives to test the target 
  1218. of your compile and do different things according to this target. 
  1219.  
  1220. If for example you have a Windows bitmap you want to include in your generated 
  1221. RTF file, when you compile to winhelp format, but, you would like to use a 
  1222. statement in other targets that do not support graphics, you could do the 
  1223. following : 
  1224.  
  1225. | .ifdef windows 
  1226.  
  1227. |  some text {\bmc mybmp.bmp} some more text 
  1228.  
  1229. | .else 
  1230.  
  1231. |  some text AND STATEMENT HERE some more text 
  1232.  
  1233. | .endif 
  1234.  
  1235. When the compiler will generate the code, the RTF command \bmc will be inserted 
  1236. in the output of the compiler for windows targets (/W30, /W31), and a simple 
  1237. text statement will be inserted otherwise. 
  1238.  
  1239. The conditional directives supported are : 
  1240.  
  1241. | .ifdef  SYMBOL - Compile code only if SYMBOL is defined. 
  1242.  
  1243. | .ifndef SYMBOL - Compile code only if SYMBOL is NOT defined. 
  1244.  
  1245. | .endif     - Any .ifdef/.ifndef should be terminated by a .endif . 
  1246.  
  1247. | .else      - Reverse the previous .ifdef/.ifndef 
  1248.  
  1249. The following SYMBOLS are automatically defined by the compiler : 
  1250.  
  1251. Symbol      When Defined 
  1252.  
  1253. ------      ------------ 
  1254.  
  1255. DEF       /PX+ 
  1256.  
  1257. W31       /W31 
  1258.  
  1259. W30       /W30 
  1260.  
  1261. THS       /TH+ 
  1262.  
  1263. QHS       /QH+ 
  1264.  
  1265. TVH       /TV+ 
  1266.  
  1267. PHS       /PH+ 
  1268.  
  1269. DVX       /XD+ 
  1270.  
  1271. MEM       /MT+ 
  1272.  
  1273. OS2       /OS2 
  1274.  
  1275. TXT       /TXT 
  1276.  
  1277. WINDOWS     /W30, /W31 
  1278.  
  1279. THELP      /TH+ 
  1280.  
  1281. QUICKHELP    /QH+ 
  1282.  
  1283. TVHC       /TV+ 
  1284.  
  1285. NATIVEPARADOX  /PX+ 
  1286.  
  1287. POPHELP     /PH+ 
  1288.  
  1289. DESQVIEW/X    /XD+ 
  1290.  
  1291. NATIVEMEMORY   /MT+ 
  1292.  
  1293. VERx.y      When Compiling with helpC Vx.y 
  1294.  
  1295. NATIVE      /PX+, /MT+ 
  1296.  
  1297. DOCUMENT     /TXT, /RTF 
  1298.  
  1299. You can define your own conditional defines on the command line using the /D: 
  1300. switch of helpC. 
  1301.  
  1302. e.g. 
  1303.  
  1304. Source : 
  1305.  
  1306. | ... some text .. 
  1307.  
  1308. | .ifdef mydef 
  1309.  
  1310. |  Special Text for mydef situation 
  1311.  
  1312. | .endif 
  1313.  
  1314. | ... more text 
  1315.  
  1316. and you compile using HELPC /D:MYDEF the special text will be included. 
  1317.  
  1318. Related Topics : 
  1319.  
  1320. Technical Documentation 
  1321.  
  1322. Help Definition 
  1323.  
  1324.  
  1325. ΓòÉΓòÉΓòÉ 15. Text Attributes ΓòÉΓòÉΓòÉ
  1326.  
  1327. Topic's text can receive visual attributes such as a font, size, bold, italic 
  1328. etc.. by using the paragraph attributes on the .PARAGRAPH (.par) line. Text 
  1329. attributes are currently supported in the winhelp and rtf targets. 
  1330.  
  1331. The attributes that can be applied to text are : 
  1332.  
  1333. Font       - The font the text will be displayed in. 
  1334.  
  1335. Bold       - The text is displayed in bold characters. 
  1336.  
  1337. Italic      - The text is displayed in italic characters. 
  1338.  
  1339. Underline    - The text is displayed in underline characters. 
  1340.  
  1341. Size       - The size of the font. 
  1342.  
  1343. Box       - The paragraph can be contained in a box. 
  1344.  
  1345. Align      - The paragraph can be alligned. 
  1346.  
  1347. Color      - The text foreground color. 
  1348.  
  1349. The syntax is : 
  1350.  
  1351. | .PARAGRAPH [attr1 attr1-parameters [attr2 attr2-parameters [..] ]] 
  1352.  
  1353. The allowed parameters to attributes are : 
  1354.  
  1355. 1. FONT font-number-in-font-palette : The font number in the font palette, 
  1356. there 
  1357.  
  1358. is a standard font palette for winhelp and rtf targets that include the 
  1359.  
  1360. following fonts : 
  1361.  
  1362.  0 : Times Roman     (roman Tms Rmn) 
  1363.  
  1364.  1 : Symbol       (decor Symbol) 
  1365.  
  1366.  2 : Helvetica      (swiss Helv) 
  1367.  
  1368.  3 : LinePrinter     (modern LinePrinter) 
  1369.  
  1370.  4 : Terminal      (roman Terminal) 
  1371.  
  1372.  5 : Times New Roman   (roman Times New Roman) 
  1373.  
  1374.  6 : Arial        (swiss Arial) 
  1375.  
  1376.  7 : CG Times (WN)    (roman CG Times (WN)) 
  1377.  
  1378.  8 : Courier       (modern Courier) 
  1379.  
  1380.  9 : Modern       (modern Modern) 
  1381.  
  1382. 10 : Script       (script Script) 
  1383.  
  1384. 11 : Univers (WN)    (swiss Univers (WN)) 
  1385.  
  1386. 12 : Wingdings      (nil Wingdings) 
  1387.  
  1388. 13 : MS Sans Serif    (swiss MS Sans Serif) 
  1389.  
  1390. 2. BOLD ON|OFF - Set bold mode to on/off. 
  1391.  
  1392. 3. ITALIC ON|OFF - Set italic mode to on/off. 
  1393.  
  1394. 4. UNDERLINE ON|OFF - Set underline mode on/off. 
  1395.  
  1396. 5. SIZE font-size - Set the size of the font. 
  1397.  
  1398. 6. BOX NONE|NORMAL|THICK|SHADOW|DOUBLE - Print paragraph in a box which has one 
  1399.  
  1400. of the described borders : NONE is no border at all. 
  1401.  
  1402. 7. ALIGN LEFT|RIGHT|CENTER|JUSTIFY - Print the text in the paragraph aligned 
  1403.  
  1404. to one of the sides, the center or justified in the paragraph. 
  1405.  
  1406. 8. COLOR color-number-in-color-palette - The numbers are the same numbers used 
  1407.  
  1408. for dos native systems and described in the help definition format section 
  1409.  
  1410. above, regarding the .LINKCOLOR, .TEXTCOLOR and .LINKHIGH statements. 
  1411.  
  1412. Example : 
  1413.  
  1414. | .PAR BOX SHADOW FONT 13 BOLD 
  1415.  
  1416. |   ... some text here .. 
  1417.  
  1418. | .ENDPAR 
  1419.  
  1420. Will display the paragraph in a shadow bordered box, using font 13 in the 
  1421.  
  1422. palette (MS Sans Serif assuming that the original palette is used) with bold 
  1423.  
  1424. characters. 
  1425.  
  1426. Related Topics : 
  1427.  
  1428. Technical Documentation 
  1429.  
  1430. Help Definition 
  1431.  
  1432.  
  1433. ΓòÉΓòÉΓòÉ 16. Groups Definition and Usage ΓòÉΓòÉΓòÉ
  1434.  
  1435. Topics can be associated to groups using the .GROUPS statement in the topic 
  1436.  
  1437. heading. Menus to these groups can later be created by using the 
  1438.  
  1439. command .INSERT GROUP group-name in the topic text. 
  1440.  
  1441. An example will clarify the use of this function : 
  1442.  
  1443. Let us assume that we have a car's collectors database, where the description 
  1444.  
  1445. of each car is a topic. We would like to present a hierarchy to the user that 
  1446.  
  1447. looks like that : 
  1448.  
  1449. Overview Screen 
  1450.  
  1451.   | 
  1452.  
  1453.   +--------- Cars by Country 
  1454.  
  1455.   |        | 
  1456.  
  1457.   |        +------------ U.S.A ... List of cars manufactured in U.S.A 
  1458.  
  1459.   |        +------------ U.K. 
  1460.  
  1461.   |        +------------ Italy 
  1462.  
  1463.   | 
  1464.  
  1465.   +--------- Cars by Maker 
  1466.  
  1467.   |        | 
  1468.  
  1469.   |        +------------ Alfa-Romeo ... List of Alfa-Romeo models 
  1470.  
  1471.   |        +------------ GM 
  1472.  
  1473.   |        +------------ Mazda 
  1474.  
  1475.   | 
  1476.  
  1477.   +--------- Cars by type 
  1478.  
  1479.           | 
  1480.  
  1481.           +------------ 4x4 & Jeeps 
  1482.  
  1483.           +------------ Sport Cars 
  1484.  
  1485.           +------------ Family Sedans 
  1486.  
  1487. We will create group references in the topics using the .GROUPS statement, 
  1488.  
  1489. The Alfa Romeo Spider 2000 topic will look like : 
  1490.  
  1491. | .topic alfa_romeo_spider_2000 
  1492.  
  1493. | .title Alfa Romeo Spider 2000 
  1494.  
  1495. | .keywords alfa spider convertible sport classic 
  1496.  
  1497. | .groups italian alfa sport 
  1498.  
  1499.  
  1500. | The Alfa Romeo ... 
  1501.  
  1502.  
  1503.  
  1504. | .end-topic 
  1505.  
  1506. The Italian Cars Directory topic will be : 
  1507.  
  1508. | .topic italy_directory 
  1509.  
  1510. | .title Italian Cars Directory 
  1511.  
  1512. | .keywords directory 
  1513.  
  1514.  
  1515. | Cars Manufactured in Italy : 
  1516.  
  1517.  
  1518. | .insert group italian 
  1519.  
  1520.  
  1521. | .end-topic 
  1522.  
  1523. If our database includes 3 cars that have a reference to the Italian group 
  1524.  
  1525. this will be the equivalent of writing : 
  1526.  
  1527. | .topic italy_directory 
  1528.  
  1529. | .title Italian Cars Directory 
  1530.  
  1531. | .keywords directory 
  1532.  
  1533.  
  1534. | Cars Manufactured in Italy : 
  1535.  
  1536.  
  1537. | ~Alfa Romeo Spider 2000~alfa_romeo_spider_2000~ 
  1538.  
  1539. | ~Ferrari 308 GTS~Ferrari_308_gts~ 
  1540.  
  1541. | ~Fiat Uno 70S~fiat_uno_70s~ 
  1542.  
  1543.  
  1544. | .end-topic 
  1545.  
  1546. Related Topics : 
  1547.  
  1548. Technical Documentation 
  1549.  
  1550. .HDF Syntax 
  1551.  
  1552. Conditional Defines 
  1553.  
  1554.  
  1555. ΓòÉΓòÉΓòÉ 17. Exception Handling ΓòÉΓòÉΓòÉ
  1556.  
  1557. helpC provides mechanism to handle link exceptions. An exception is a link to 
  1558. an identifier that is not defined as a topic or popup. In order to help you 
  1559. find these errors helpC contains the cross reference report that can be 
  1560. produced using the /R+ switch. You can browse the HELPC.LST file generated by 
  1561. helpC if a cross reference report is generated, and search for the string ERROR 
  1562. that describes undefined links. 
  1563.  
  1564. helpC provides additional exception handling facilities. When an error is found 
  1565. during compile helpC can perform on of the following actions : 
  1566.  
  1567. 0: No Check - Default - helpC does not do anything. The link is passed as is to 
  1568.  
  1569.        the target. The target help engine/compiler will handle the 
  1570.  
  1571.        exception as it is implemented. 
  1572.  
  1573. 1: Trap   - helpC will replace the link key with the key ERROR. It is the 
  1574.  
  1575.        responsibility of the help database author to provide such a 
  1576.  
  1577.        topic/popup. 
  1578.  
  1579. 2: Strip   - helpC will pass the text of the link to the target with no link 
  1580.  
  1581.        support. The text will appear as normal text. 
  1582.  
  1583. 3: Delete  - Both the text and the link will be deleted and will not appear in 
  1584.  
  1585.        the target. 
  1586.  
  1587. 9: Abort   - helpC will abort, with an error message, and the line the link 
  1588.  
  1589.        is defined. This mode is recommended when you are debugging 
  1590.  
  1591.        your help database. 
  1592.  
  1593. You can set the error level using the following techniques : 
  1594.  
  1595. - Use the /EL=x switch on the helpC command line. 
  1596.  
  1597. - Use the .ERRORLEVEL x .HDF statement. 
  1598.  
  1599. Important Points : 
  1600.  
  1601. 1. When errorLevel = 0 (default) no topic database is created during pass 1, if 
  1602. you set .errorlevel somewhere in your source, after some topics/popups have 
  1603. been defined, these topics will not be in the symbol table created by helpC and 
  1604. will be considered an exception!. 
  1605.  
  1606. Related Topics : 
  1607.  
  1608. Technical Documentation 
  1609.  
  1610. .HDF Syntax 
  1611.  
  1612. Help Compiler 
  1613.  
  1614.  
  1615. ΓòÉΓòÉΓòÉ 18. Topic Index Format ΓòÉΓòÉΓòÉ
  1616.  
  1617.  The topic index table format is as follows : 
  1618.  
  1619.  TOPIC   - 40 characters string key - this is the topic "name". 
  1620.  
  1621.  FILENAME  - 38 characters string field - includes the name of the 
  1622.  
  1623.        help raw data file. (Notice - V1.0 ignores the value of this 
  1624.  
  1625.        field, it is here for future expansion). 
  1626.  
  1627.  START   - longint (long) field that contains the offset from the data file 
  1628.  
  1629.        start, to the start of the topics text data, in bytes. 
  1630.  
  1631.  LEN    - longint (long) field that contains the length (in bytes) of the 
  1632.  
  1633.        text data of the topic. 
  1634.  
  1635.  TITLE   - 70 characters string key - the title of the topic. 
  1636.  
  1637.  TTYPE   - 1 character - topic type. Currently supported types are : 
  1638.  
  1639.        'T' = Topic. 
  1640.  
  1641.        'P' = Popup. 
  1642.  
  1643. Related Topics : 
  1644.  
  1645. Technical Documentation 
  1646.  
  1647. Links Index Format 
  1648.  
  1649. Keywords Index Format 
  1650.  
  1651. Set File Format 
  1652.  
  1653.  
  1654. ΓòÉΓòÉΓòÉ 19. Links Index Format ΓòÉΓòÉΓòÉ
  1655.  
  1656.  The links index table format is as follows : 
  1657.  
  1658.  TOPIC   - 40 characters string key - the name of the topic that 
  1659.  
  1660.        has the link. 
  1661.  
  1662.  SEQ    - integer (int) key - contains the sequential number of 
  1663.  
  1664.        the link in the topic. (This way you can assign the links 
  1665.  
  1666.        order in the topic). 
  1667.  
  1668.  LINK    - 40 characters string key - the name of the link topic to 
  1669.  
  1670.        display if the link is chosen. 
  1671.  
  1672.  LINE    - integer (int) field - the line (from the start of the topic) 
  1673.  
  1674.        this link is displayed on. 
  1675.  
  1676.  COL    - integer (int) field - the column this link is displayed on. 
  1677.  
  1678.  TXT    - 70 characters string field - the text to display on the line. 
  1679.  
  1680. Related Topics : 
  1681.  
  1682. Technical Documentation 
  1683.  
  1684. Topic Index Format 
  1685.  
  1686. Keywords Index Format 
  1687.  
  1688. Set File Format 
  1689.  
  1690.  
  1691. ΓòÉΓòÉΓòÉ 20. Set File Format ΓòÉΓòÉΓòÉ
  1692.  
  1693.  The set file is a text file that contains one entry in each line, using 
  1694.  
  1695.  the following format : 
  1696.  
  1697. help-database-engine 
  1698.  
  1699. version-of-generating-compiler 
  1700.  
  1701. topic-index-table name 
  1702.  
  1703. links-index-table name 
  1704.  
  1705. keywords-index-table name 
  1706.  
  1707. help-raw-data-file name 
  1708.  
  1709. number-of-topics 
  1710.  
  1711. length-of-file 
  1712.  
  1713. link-normal-color 
  1714.  
  1715. link-high-color 
  1716.  
  1717. text-normal-color 
  1718.  
  1719. The help-database-engine values available today are DEF=Paradox and MEM=memory 
  1720. Tables. 
  1721.  
  1722. Related Topics: 
  1723.  
  1724. Technical Documentation 
  1725.  
  1726. Topic Index Format 
  1727.  
  1728. Links Index Format 
  1729.  
  1730. Keywords Index Format 
  1731.  
  1732.  
  1733. ΓòÉΓòÉΓòÉ 21. Keywords Index Format ΓòÉΓòÉΓòÉ
  1734.  
  1735.  The keywords index table format is as follows : 
  1736.  
  1737.  KEYWORD  - 40 characters string key - the keyword. 
  1738.  
  1739.  TOPIC   - 40 characters string key - the topic name that this keyword is 
  1740.  
  1741.        assigned to. 
  1742.  
  1743.  Notice - the database will include a row for each keyword, that has the 
  1744.  
  1745.  TOPIC field blank. This is used to display the first list of keywords, that 
  1746.  
  1747.  if chosen, will display the 2nd list of topics that have the chosen keyword 
  1748.  
  1749.  in their .KEYWORDS definition. 
  1750.  
  1751. Related Topics: 
  1752.  
  1753. Technical Documentation 
  1754.  
  1755. Topic Index Format 
  1756.  
  1757. Links Index Format 
  1758.  
  1759. Set File Format 
  1760.  
  1761.  
  1762. ΓòÉΓòÉΓòÉ 22. Related Products ΓòÉΓòÉΓòÉ
  1763.  
  1764. The following products/packages provide additional HLPDK functionality : 
  1765.  
  1766. 1. Name     : IL2HDK - Interrupt List (Ralf Brown) 2 HLPDK convert program. 
  1767.  
  1768.   Version    : 2.2 
  1769.  
  1770.   Availability : IL2HDK22.ZIP. 
  1771.  
  1772.   Status    : Free. 
  1773.  
  1774.   Author    : Ron Loewy. 
  1775.  
  1776. 2. Name     : HPCHDK - HelpPC 2 HLPDK convert program. 
  1777.  
  1778.   Version    : 1.0 
  1779.  
  1780.   Availability : HPCHDK10.ZIP. 
  1781.  
  1782.   Status    : Free. 
  1783.  
  1784.   Author    : Yaniv Golan (s2942275@tech02.technion.ac.il) 
  1785.  
  1786. 3. Name     : SCANHELP - Turbo Pascal Scanner to help. 
  1787.  
  1788.   Version    : 3.01 
  1789.  
  1790.   Availability : ? (Contact Author) 
  1791.  
  1792.   Status    : Shareware. 
  1793.  
  1794.   Author    : Duncan J. Murdoch (dmurdoch@mast.QueensU.CA) 
  1795.  
  1796. 4. Name     : NG2HDK - Norton Guides 2 HLPDK convert program. 
  1797.  
  1798.   Version    : 1.0 
  1799.  
  1800.   Availability : NG2HDK10.ZIP 
  1801.  
  1802.   Status    : Free. 
  1803.  
  1804.   Author    : Ron Loewy. 
  1805.  
  1806. 5. Name     : NEWSDB - News Clips Hypertext system. 
  1807.  
  1808.   Version    : Beta. 
  1809.  
  1810.   Availability : Not in GA yet. (I hope it will be around in Oct.). 
  1811.  
  1812.   Status    : To Be Determined. 
  1813.  
  1814.   Author    : Ron Loewy. 
  1815.  
  1816. 6. Name     : POPHDK - POPHELP 2 HLPDK convert program. 
  1817.  
  1818.   Version    : 1.0 
  1819.  
  1820.   Availability : POPHDK10.ZIP. 
  1821.  
  1822.   Status    : Free. 
  1823.  
  1824.   Author    : Yaniv Golan (s2942275@tech02.technion.ac.il) 
  1825.  
  1826. 7. Name     : JARG2HDK - Jargon File to HLPDK convert program. 
  1827.  
  1828.   Version    : 1.0 
  1829.  
  1830.   Availability : ? (Contact Author) 
  1831.  
  1832.   Status    : ? 
  1833.  
  1834.   Author    : Slren Pingel Dalsgaard (pingel@daimi.aau.dk) 
  1835.  
  1836.