home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / maj / 4405 / hlpdk.hdf < prev    next >
Text File  |  1993-11-03  |  82KB  |  2,351 lines

  1. ;******************************************************************************
  2. ;                                 .linkColor                                  *
  3. ; set link color to lightGreen on blue (lightGreen (10) + 16 * blue (1) )     *
  4. ; and link high color to lightGreen on light gray (10 + 16 * 7)               *
  5. ;******************************************************************************
  6. .linkColor 26
  7. .linkhigh 122
  8.  
  9. ;******************************************************************************
  10. ;                               .titleDefaults                                *
  11. ; default title attributes                                                    *
  12. ;******************************************************************************
  13. .titleDefaults box double
  14.  
  15. ;******************************************************************************
  16. ;                                 .fixedFont                                  *
  17. ; use a fixed font for Windows target ..                                      *
  18. ;******************************************************************************
  19. .fixedFont
  20.  
  21. ;******************************************************************************
  22. ;                                  .graphic                                   *
  23. ; this is a demo of a graphic used in this file!                              *
  24. ;******************************************************************************
  25. .graphic ronPicture ronp.bmp
  26.  
  27. ;******************************************************************************
  28. ;                                  overview                                   *
  29. ; notice - a .top = .topic = .entry                                           *
  30. ;******************************************************************************
  31. .top overview
  32. .title HLPDK System Overview
  33. .titleAttr box none
  34. .keywords contents
  35. .list general
  36.  
  37. .ifdef rtfbased
  38. .par bold on box shadow size 16 font 6 align center
  39. ISoft D&M, POB. 5517, Coralville IA 52241, U.S.A
  40. .endpar
  41. .else
  42. .ifdef os2
  43. .insert code
  44. :cgraphic.
  45. .endif
  46.  ╔══════════════════════════════════════════════════════════════════════════╗
  47.  ║                                                                          ║
  48. .ifdef os2
  49.  ║                                 ISoft D&.M                                ║
  50. .else
  51.  ║                                 ISoft D&M                                ║
  52. .endif
  53.  ║                                 POB. 5517                                ║
  54.  ║                           Coralville IA 52241                            ║
  55.  ║                                   U.S.A                                  ║
  56.  ║                                                                          ║
  57.  ╚══════════════════════════════════════════════════════════════════════════╝ 
  58. .ifdef os2
  59. :ecgraphic.
  60. .end-code
  61. .endif
  62. .endif
  63.  
  64. .par
  65. The Help Engine Development Kit is a system that allows you to create 
  66. hyper-text database help systems with topics and hot links, using a simple
  67. text editor and the help compiler. 
  68. .endpar
  69.  
  70. .par
  71. The help databases can be distributed (free of charge) with the HELPENG or
  72. HE help engine display programs. 
  73. .endpar
  74.  
  75. .par
  76. The help database format is release to the public domain, if you own the 
  77. Paradox Engine you can use the help databases with your own programs. 
  78. .endpar
  79.  
  80. .par
  81. Borland Pascal Users can purchase the Help Engine Source Code even
  82. for Applications that do not use the paradox engine, using the Native Mem
  83. format.
  84. .endpar
  85.  
  86. .par font 13 bold on
  87. The helpC compiler that is part of this development kit includes the
  88. ability to create Windows Help source files from the same source the 
  89. dos help sources are created!. Write your help once, and create help
  90. databases for Dos, Windows, OS/2 and DESQview/X !
  91. .endpar
  92.  
  93. .par box thick italic on color 4
  94. Supported Formats :
  95. Native(PX), Native (Mem), Win30, Win31, QuickHelp, Microsoft Multimedia Viewer,
  96. THELP, TVHC, POPHELP, DESQview/X, OS/2, Text, Word Processors (RTF)
  97. .endpar
  98.  
  99. .par
  100. From the same source you created your hypertext database, you can create
  101. a text document with automatic table of contents and index sections!
  102. .endpar
  103.  
  104. .par
  105. Using the RTF target you can prepare your professional documentation
  106. by generating word processors documents, all from the same source!
  107. .endpar
  108.  
  109. Features :
  110.  
  111. .par
  112. Topics, Popups, Links, Keywords, Text Formats, Navigational and
  113. Structural facilities, Target Code insertion, Multiple module files,
  114. Automatic Pascal/C/C++ reference generation, Exception handling,
  115. Multiple file target databases, Graphics, Sound, Groups, Application
  116. Launch, Automatic exports creation, User defined link templates and more.
  117. .endpar
  118.  
  119.  
  120. .par bold on size 15
  121. Contact ISoft D&M if you want to purchase the WINTEXT UI library for 
  122. Turbo Pascal programs, and use the help engine window in your pascal
  123. programs.
  124. .endpar
  125.  
  126. .par font 13 bold on
  127. Related Topics :
  128. .endpar
  129. ~Registration~register~
  130. ~Contact~contact~
  131. ~File List~fileList~
  132. ~Credits~credits~
  133. ~Help Engine~helpeng~
  134. ~Help Compiler~helpC~
  135. ~Quick Start~quickStart~
  136. ~Related Products~otherProducts~
  137.  
  138. .endtop
  139.  
  140. ;******************************************************************************
  141. ;                                  register                                   *
  142. ;******************************************************************************
  143. .entry register
  144. .title Registration
  145. .keywords contact register
  146. .list general
  147.  
  148. *******************************************************************************
  149. *                 Why Register and registration instructions                  *
  150. *******************************************************************************
  151.  
  152. .par
  153. The Help Engine Development Kit (HLPDK) is a shareware product, if you 
  154. find this product valuable, please register it. 
  155. This section describes the reasons you should register.
  156. .endpar
  157.  
  158. .par
  159. By registering you will receive a complete discussion of the help engine 
  160. features, and many examples of usage. You will receive a diskette with the
  161. latest HLPDK version, and DPMI (DOS protected mode) versions of the help 
  162. compiler and engines!. (The memory version of the help engine can display 
  163. huge databases only in the protected mode version).
  164. .endpar
  165.  
  166. .par
  167. Your registration will help us to create the next versions of HLPDK, that
  168. will include more options, and features, some of them might even be your
  169. enhancement requests!.
  170. .endpar
  171.   
  172. .par
  173. A point to consider - If you want to create Windows Help source files,
  174. you will have to purchase a word processor that can output RTF files,
  175. the WORD for Windows 2.0 package, for example, is listed at around $500!.
  176. .endpar
  177.  
  178. .par box normal align center
  179. To order your registered copy of HLPDK please do one of the following:
  180. .endpar
  181.  
  182.  1.     Order from ISoft D&M:     
  183.  You can order directly from ISoft D&M. Please refer to the supplied 
  184.  HLPDK.REG file. Edit it, print it and mail it (with a check) to: 
  185.         ISoft D&M,  
  186.         POBox 5517
  187.         Coralville Iowa 52241, U.S.A
  188.  
  189.  2.     Order from PsL:
  190.  You can order from Public (software) Library with your MC, Visa, AmEx 
  191.  or Discover card by calling 800-242-4PsL (from overseas: 713-524-6394) or 
  192.  by FAX to 713-524-6398 or by CompuServe to 71355,470. 
  193.  These numbers are for ordering only. ISoft D&M can NOT be reached at those 
  194.  numbers. Please contact ISoft D&M directly for any other type of problem 
  195.  (technical or other), information or request.
  196.                                               
  197. .par font 13 bold on
  198. Related Topics :
  199. .endpar
  200. ~Contact~contact~
  201. ~Overview~overview~
  202. .end-entry
  203.  
  204. ;******************************************************************************
  205. ;                                   Contact                                   *
  206. ;******************************************************************************
  207. .entry Contact
  208. .keywords register contact
  209. .list general
  210.  
  211.   Please contact :
  212.  
  213.   ISoft D&M,  
  214.   P.O.B 5517
  215.   Coralville IA 52241,
  216.   U.S.A
  217.  
  218. .par italic on
  219. ISoft D&M e-mail address : CompuServe - 76350,333
  220. .endpar
  221.  
  222.   To contact the author directly : 
  223.  
  224.   Contact :     Loewy Ron,
  225.                 9 Haneveem st.
  226.                 Herzeliya, 46465
  227.                 ISRAEL.
  228.  
  229. .par italic on
  230. e-mail address : CompuServe - 100274,162
  231. .endpar
  232.  
  233. .par font 13 bold on
  234. Related Topics :
  235. .endpar
  236. ~Regsiteration~register~
  237. ~Overview~overview~
  238. .end-entry
  239.  
  240. ;******************************************************************************
  241. ;                                  fileList                                   *
  242. ;******************************************************************************
  243. .entry fileList
  244. .title HPLDK Distribution File List
  245. .list general
  246.  
  247.  This package contains the following files in the following archives :
  248.  
  249. Archive A :
  250. -----------
  251.  READMEA.HDK    - File List for Archive A.
  252.  HELPC.EXE      - Help Compiler.
  253.  HLPDK.DOC      - This file.
  254.  HELPC.DOC      - Help Compiler documentation
  255.  HLPDK.REG      - Registration file.
  256.  HLPDK.HDF      - Help Development Kit hypertext help database source.
  257.  HLPDK.HLP      - WinHelp Version of the hlpdk hypertext source.
  258.  HLPDK.INF      - OS/2 IPF Version of the HLPDK hypertext source.
  259.  PROGRAMS.TXT   - ISoft D&M shareware products description.
  260.  HELPDEMO.HDF   - Demo Help Project.
  261.  2NDDEMO.HDF    - Demo Help Project - file 2.
  262.  RONP.BMP       - Bitmap used in HLPDK.HDF
  263.  
  264. Archive B :
  265. -----------
  266.  READMEB.HDK    - File List for Archive B.
  267.  HELPENG.EXE    - Help Engine (Native Paradox).
  268.  HE.EXE         - Help Engine (Native Memory).
  269.  HELPDEMO.HLP   - Demo Help Project file for Windows WINHELP. 
  270.  HLPDK.HDT      - Help Development Kit help database file. (Native Paradox)
  271.  HLPDK.SET      - Help Development Kit help database file.
  272.  HLPDKTOP.DB    - Help Development Kit help database file.
  273.  HLPDKTOP.PX    - Help Development Kit help database file.
  274.  HLPDKLNK.DB    - Help Development Kit help database file.
  275.  HLPDKLNK.PX    - Help Development Kit help database file.
  276.  HLPDKKEY.DB    - Help Development Kit help database file.
  277.  HLPDKKEY.PX    - Help Development Kit help database file.
  278.  MULTI1.HDF     - Multiple file target database demo - 1.
  279.  MULTI2.HDF     - Multiple file target database demo - 2.
  280.  MAKMULTI.BAT   - Demo multiple file target database batch file.
  281.  VWRLIB.HDF     - MMViewer Extention Library for 256 color bitmaps.
  282.  
  283. .par font 13 bold on
  284. Related Topics :
  285. .endpar
  286. ~Overview~overview~
  287. ~Quick Start~quickStart~
  288. .end-entry
  289.  
  290. ;******************************************************************************
  291. ;                                   Credits                                   *
  292. ;******************************************************************************
  293. .entry Credits
  294. .list general
  295.  
  296. .par
  297. .ifdef windows
  298. ~RonP~RonPicture;left~ HLPDK, HELPC, The Help Engines, NewsDB, IL2HDK, NG2HDK, RTF2HDK, RC2HDK and
  299. .else
  300. HLPDK, HELPC, The Help Engines, NewsDB, IL2HDK, NG2HDK, RTF2HDK, RC2HDK and
  301. .endif
  302. other products, were written by Ron Loewy. These products are distributed 
  303. worldwide by ISoft D&M.
  304. .endpar
  305.  
  306. .par
  307. HELPENG, HELPC were written using Turbo Pascal 6.0, and Borland Pascal 7.0,
  308. Paradox Engine 2.0, and Paradox Engine 3.0, 3.01. 
  309. (Trademarks of Borland International).
  310. .endpar
  311.  
  312. .par
  313. Windows, Microsoft, HC and Quick Help are trademarks or copyrights
  314. of Microsoft Corp.
  315. .endpar
  316.  
  317. .par
  318. The HELPENG program was written using the WINTEXT UI library, 
  319. (c) 1991,93 Loewy Ron.
  320. .endpar
  321.  
  322. THELP, HL and TVHC are Trademarks or copyrights Borland International.
  323.  
  324. POPHELP is a copyright of TurboPower Software.
  325.  
  326. TVHC support, and other ideas were suggested by MunLeong Chan.
  327.  
  328. .par
  329. Parts of the Help Engines were generated using Ron Loewy's WTGEN and dbGen
  330. CASE code generators.
  331. .endpar
  332.  
  333. .par
  334. Parts of the Help Compiler were generated using Ron Loewy's dbGen database 
  335. code generator.
  336. .endpar
  337.  
  338. .par
  339. Yaniv Golan helped me with beta-testing, debugging and suggestions.
  340. He is also the  author of the HPCHDK and POPHDK packages.
  341. .endpar
  342.  
  343. .par
  344. John Murphy notified me of the paragraph formatting difficulties that
  345. lead to the .PARAGRAPH .END-PARAGRAPH formatting capabilities.
  346. .endpar
  347.  
  348. DESQview/X is a trademark of Quarterdeck Office Systems.
  349.  
  350. .par
  351. MDVXHELP is a copyright (1992) of Daniel J. Bodoh. I have used his
  352. excelent documentation of DESQview/X help format to generate code
  353. to this environment.
  354. .endpar
  355.  
  356. .par
  357. The HC31 problem with characters with ordinal values biggen than 127
  358. was solved thanks to Mr. Lars Fosdal of Norway.
  359. .endpar
  360.  
  361. OS/2 is a registered trademark of International Bussiness Machines.
  362.  
  363. .par
  364. The Text Cursor restore problem in the help engines was reported by Prof.
  365. Timo Salmi of the Univ. of VAASA, Finland.
  366. .endpar
  367.  
  368. .par
  369. D.J. Murdoch suggested the Cross Reference Report enhancements, and winhelp
  370. Go To Search list box title problem.
  371. .endpar
  372.  
  373. Word for Windows is a trademark of Microsoft corp.
  374.  
  375. WordPerfect, WordPerfect for Windows are trademarks of WordPerfect corporation.
  376.  
  377. Lotus, AMI PRO are trademarks of Lotus corp.
  378.  
  379. Reuben Halevi from ISoft D&M did a lot to make this product real.
  380.  
  381. .par
  382. Slren Pingel Dalsgaard notified me of the small scroll box bug in helpeng, as
  383. well as some spelling mistakes in helpC.
  384. .endpar
  385.  
  386. .par font 13 bold on
  387. Related Topics :
  388. .endpar
  389. ~Overview~overview~
  390. .end-entry
  391.  
  392. ;******************************************************************************
  393. ;                                 quickStart                                  *
  394. ;******************************************************************************
  395. .entry quickStart
  396. .title Quick Start
  397. .keywords operation
  398.  
  399. From the command line enter HELPC HELPDEMO to compile the demo help database.
  400.  
  401. .par
  402. After the compilation process is ended, enter HELPENG HELPDEMO to browse the
  403. demo help database.
  404. .endpar
  405.  
  406. If you want to compile for windows :
  407.  
  408. from the command line enter HELPC HELPDEMO /W31
  409. and after that HC31 HELPDEMO
  410. (HC31 is the Microsoft Help Compiler)
  411. .par
  412. from windows, open the HELPDEMO.HLP file from the windows help engine.
  413. (Notice - if you do not have the HC help compiler from windows, we have
  414. included a compiled version of HELPDEMO (HELPDEMO.HLP) so you will be
  415. able to feel the quality of the output that can be generated, and decide
  416. if you want to purchase the HC31 program (Included with the SDK, BC++, 
  417. TPW, BP and probably some other packages), or download it from one of the
  418. sites Microsoft had uploaded it to).
  419. .endpar
  420.  
  421. .par
  422. If you use windows 3.0, or want your help file to be compatible with
  423. winHelp 3.0 use :
  424. .endpar
  425.         HELPC /W30 HELPDEMO
  426.         HC HELPDEMO
  427.  
  428. To compile for THELP use : 
  429.         HELPC /TH+ HELPDEMO
  430.         HL -x -e100 -p -i -oHELPDEMO.TPH HELPDEMO.HL
  431.  
  432. To compile for QuickHelp : 
  433.         HELPC /QH+ HELPDEMO
  434.         HELPMAKE -e15 -oHELPDEMO.QH HELPDEMO.SRC
  435.  
  436. To compile for TVHC :
  437.         HELPC /TV+ HELPDEMO
  438.         TVHC HELPDEMO.TXT
  439.  
  440. To compile for POPHELP :
  441.         HELPC /PH+ HELPDEMO
  442.         MAKEHELP /Q HELPDEMO
  443.  
  444. To compile for DESQview/X :
  445.         HELPC /XD+ HELPDEMO
  446.         MDVXHELP HELPDEMO.HLP @HELPDEMO.LST
  447.         COPY HELPDEMO.HLP d:\DVX\HELP
  448.  
  449. To compile for Native Mem Format :
  450.        HELPC /MT+ HELPDEMO
  451. (Use HE HELPDEMO to view that database).
  452.  
  453. To compile for IPF (OS/2) format :
  454.        HELPC /OS2 HELPDEMO 
  455.        Switch to an OS/2 session.
  456.        IPFC /INF HELPDEMO
  457. (Use the VIEW Command to browse the database).
  458.  
  459. To compile for the Microsoft Multimedia Viewer 2.0 :
  460.        HELPC /MMV HELPDEMO
  461.        Open the MMViewer compiler (WMVC.EXE)
  462.        File|Open HELPDEMO.MVP
  463.        Compile (F5)
  464. (Use the VIEWER2.EXE program to browse the database).
  465.  
  466. To create a text document with table of contents, glossary and index :
  467.        HELPC /TXT HELPDEMO
  468.  
  469. To create a word processor document with table of contents, 
  470. glossary and index :
  471.        HELPC /RTF HELPDEMO
  472.        import helpdemo.rtf to your word-processor, and update fields.
  473.        (e.g. Microsoft WinWord : File|Open to open the document
  474.                                  Answer Yes to convert from Rich Text Format
  475.                                  Press F9 to update embedded format fields
  476.                                  somewhere in the first page (after the 
  477.                                  Table Of Contents title), and in the last 
  478.                                  page (after the index title).)
  479. .par font 13 bold on
  480. Related Topics :
  481. .endpar
  482. ~Overview~overview~
  483. ~File List~filelist~
  484. .end-entry
  485.  
  486. ;******************************************************************************
  487. ;                                   helpeng                                   *
  488. ;******************************************************************************
  489. .entry helpeng
  490. .title The Help Engine
  491. .keywords operation
  492.  
  493. .par
  494. To start the help engine program enter HELPENG on the command line, and 
  495. choose the help database you want to view from the list box. Use the Tab key
  496. to cycle between hot-link words, and press Enter to go to that link.
  497. .endpar
  498.  
  499. .par
  500. If you know the name of the SET file of the database you want to activate, you
  501. can enter it on the command line, and the help engine will display it.
  502. .endpar
  503.  
  504. .par
  505. If you have a mouse, you can use it to point at the hi-lighted links, and 
  506. activate them by pressing the left mouse button.
  507. .endpar
  508.  
  509. .par
  510. Press the ALT-T key combination to choose from a list of TOPICS in the 
  511. database, Press ALT-B to go back to the previous displayed TOPIC, Press
  512. ALT-X to exit the help engine.
  513. .endpar
  514.  
  515. The exit command can be given by pressing the right mouse button.
  516.  
  517. .par
  518. Use F10 to open the menu bar, and use the arrow keys to navigate the 
  519. options. When you find the option you are interested in, Use the Enter
  520. key to execute it, or the Esc key to cancel. The menu bar can be navigated
  521. using the mouse as well.
  522. .endpar
  523.  
  524. .par
  525. To create a new help database please refer to the ~HELPC~helpc~ documentation
  526. file.
  527. .endpar
  528.  
  529. .par
  530. If you want to use the Native Mem Format Databases, Please use the supplied
  531. HE.EXE program. 
  532. .endpar
  533.  
  534. .par font 13 bold on
  535. Related Topics :
  536. .endpar
  537. ~Trouble Shooting~Trouble~
  538. ~Overview~overview~
  539. .end-entry
  540.  
  541. ;******************************************************************************
  542. ;                                   Trouble                                   *
  543. ;******************************************************************************
  544. .entry Trouble
  545. .title Trouble Shooting
  546. .keywords operation
  547.  
  548. .par
  549. If you receive some kind of an error message while using the help development
  550. kit please refer to this section.
  551. .endpar
  552.  
  553. tableOps: xxxx error message :
  554. .par
  555. This message is generated by the Paradox Engine if an internal error occurs,
  556. if you receive a message that is not understood (e.g. Table is busy), 
  557. please try one of the following :
  558. .endpar
  559.  1. Try running the Help Compiler or the Help Engine with another input and 
  560.     notice if the problem exists, if it does, turn to the next entry,
  561.     otherwise try to see what the difference between the inputs is.
  562.  2. Check your free memory, try to move some TSR's from memory, or use the
  563.     protected mode compiler/engine available with the registered version.
  564.  3. Check if you have loaded dos SHARE program, it is advised to use SHARE
  565.     with programs that use the Paradox Engine. If you receive a table busy
  566.     error, try to see if you have another program that uses the same table 
  567.     in another session (Windows/DESQview etc..).
  568.  4. PANIC - Please contact the distibuter/author for additional help.
  569.  
  570. Microsoft's HC31 help compiler will generate a error in RTF file error :
  571.  
  572.  1. Re-compile using HELPC 4.0+. This should solve the problem, if the problem
  573.     still exists - please try steps 2 and 3, and notify the author. 
  574.  2. Use a binary disk editor to look at the character at the position x - 1
  575.     in the RTF file (where x is the error position reported by HC31).
  576.  3. Try to replace that charqacter from a special PC oem character to a 
  577.     "standard" ascii character (such as *). If the problem still occurs,
  578.     please contact ISoft D&M/The author, otherwise - you probably came 
  579.     accross a character that HC31 can not handle. In that case - try using
  580.     HC300b (the one that generates winHelp 3.0 format), or delete these 
  581.     characters from your source HDF file.
  582.  
  583. Borland's HL help linker will generate a FE02: Out Of Memory error :
  584.  1. Re-compile using HELPC V3.0+, to include ;INDEX directives after the
  585.     screen's definitions.
  586.  
  587. Borland's HL help linker will complain about undefined context numbers :
  588.  1. You probably have a contents.h file in the current directory, that hl
  589.     tries to use to bind the help topics to Borland's IDE on-line help,
  590.     try renaming this file, and re-compile with HL.
  591.  
  592. HelpC will not create the database when compiling to Native Mem (/MT+) :
  593.  1. Try compiling with report generation on (/R+) to Native Paradox
  594.     (/PX+) format. If there are errors, consult the HELPC.LST file, fix 
  595.     them, and re-try.
  596.  2. If the database is BIG, you might not have enough memory - Remember that
  597.     Native Mem tables are generated in memory. You will have to use the
  598.     HelpCX protected mode compiler (Available with the registered version).
  599.  
  600. HelpEng/HE will complain on an old-database when trying to open a help
  601. database with it :
  602.  1. Re-Compile the database using helpC.
  603.  
  604. HelpEng/HE will complain on un-supported database format, when trying to
  605. open a database :
  606.  1. HelpEng can not display Native Mem databases, and HE can not display
  607.     Native PX databases. Use the other help engine supplied.
  608.  
  609. HE will not be able to open a Native Mem database :
  610.  1. Use the protected mode HEX help engine. (Available for registered users).
  611.  
  612. Where is HL - Borland's Help Linker :
  613.  1. HL is not included with Borland C++ or Borland Pascal, Borland sells an
  614.     additional package called Borland Open Architecture (and Borlad OA for 
  615.     Pascal) that include among other things - the THELP help linker.
  616.  
  617. .par
  618. HelpEng/HE will complain on an old-database when tring to open a help
  619. database with it :
  620. .endpar
  621.  1. Re-Compile the database using helpC.
  622.  
  623. .par
  624. HelpEng/HE will complain on un-supported database format, when trying to
  625. open a database :
  626. .endpar
  627.  1. HelpEng can not display Native Mem databases, and HE can not display
  628.     Native PX databases. Use the other help engine supplied.
  629.  
  630. HE will not be able to open a Native Mem database :
  631.  1. Use the protected mode HEX help engine. (Available for registered users).
  632.  
  633. .par
  634. We have encountered some users that ran into problems, because they did 
  635. not use the dos SHARE program. We advise that you will always load the 
  636. SHARE program in your AUTOEXEC.BAT file.
  637. .endpar
  638.  
  639. .par font 13 bold on
  640. Related Topics :
  641. .endpar
  642. ~Overview~overview~
  643. ~Help Engine~helpeng~
  644. ~Help Compiler~helpC~
  645. .end-entry
  646.  
  647. ;******************************************************************************
  648. ;                                    helpC                                    *
  649. ;******************************************************************************
  650. .entry helpC
  651. .title Help Compiler
  652. .keywords operation
  653.  
  654. .par
  655. The HELPC help compiler is a dos command line program that receives a 
  656. help definition file (.HDF) and produce a help database. 
  657. .endpar
  658.  
  659.   The helpC command line is :
  660.  
  661.  HELPC source.fil [/NT:topic-table-name]
  662.                   [/NL:link-table-name] 
  663.                   [/ND:data-file-name] 
  664.                   [/NK:keywords-table-name] 
  665.                   [/D:conditional-define]
  666.                   [/ED=P|C|+]
  667.                   [/EL=x]
  668.                   [/FC+]
  669.                   [/EA+]
  670.                   [/R+]  [/ST-] [/CS+] [/EP+] [/WD-] [/RM-]
  671.                   [/W+]  [/W30] [/W31] [TH+] [/QH+] [/TV+] [/PH+] [/XD+]
  672.                   [/PX+] [/MT+] [/OS2] [/TXT] [/RTF] [/PP+] [/MMV]
  673. .par
  674. When the target of the compiler is one of the native help engines
  675. the output of the compiler is a set data file called source.SET, that
  676. includes the names of the other help database components. 
  677. .endpar
  678.  
  679. .par
  680. Please Notice - if the /W+ /W30 or /W31 switch is defined, the compiler 
  681. will generate a .HPJ and .RTF files that can be used with the Microsoft 
  682. HC (v3.00b) or HC31 help compiler, and output a .HLP windows help file!. 
  683. .endpar
  684.  
  685. .par
  686. By default the help compiler does not produces a help cross reference 
  687. report on the topics/links used in the database, if the /R+ switch is set, 
  688. a cross-reference report will be generated, and database integrity indicators 
  689. will be given. Notice, however, that with the /R+ switch HELPC is much
  690. slower than with /R-.
  691. .endpar
  692.  
  693. .par
  694. IMPORTANT - Scan the output cross reference report for links defined, that
  695. are not defined as topics!
  696. .endpar
  697.  
  698. .par
  699. Notice - An additional switch is available that instructs the help compiler
  700. to indicate it's parse and code generation progress. Use the /EP+ switch to
  701. see that the helpC compiler is active. Please understand that the compile
  702. process can take a long time, on complex help databases. This switch does
  703. nothing more that ensure to you that the help compiler is alive. 
  704. .endpar
  705.  
  706. .par
  707. The /ST switch defines if the topic name defined in the .TOPIC command
  708. can include embeded spaces. By default this switch is set to /ST- (No
  709. embedded spaces).
  710. .endpar
  711.  
  712. .par
  713. The /CS switch turns Topics and Links case sensativity to ON. Use this
  714. switch with care - Only if you must have a lower/mixed case index in THELP
  715. or POPHELP use this switch. Notice that help databases that compile fine
  716. with case sensativity set to off, might fail to do so in case sensativity
  717. on. By deafult this switch is set to off (-).
  718. .endpar
  719.  
  720. .par
  721. The /XD switch generates code to the MDVXHELP help compiler, available
  722. free in the file DVXHLP10.ZIP on the Internet. When this switch is given,
  723. a set of cover and section files is generated, as well as a response
  724. file that should be used to compile the help database.
  725. .endpar
  726.  
  727. .par
  728. The /OS2 switch generates IPF source code. You must compile the generated code 
  729. with IPFC, from within an OS/2 session (window or full screen).
  730. .endpar
  731.  
  732. .par
  733. The /WD switch controls Warning Display. By default Warning Display is On, if
  734. you do not want to see the Warnings issued by the compiler when a topic name 
  735. or link are found to be incompatible with the target source, and helpC 
  736. translate them to be syntax compatible with the target.
  737. .endpar
  738.  
  739. .par
  740. Use the /RTF switch to create a word-processor ready RTF file, import this
  741. file (and update the fields e.g.- F9 in WinWord) to create a professional
  742. formatted documentation from the same source code!.
  743. .endpar
  744.  
  745. .par
  746. Use the /TXT switch to create a text file document from your .HDF source.
  747. With this feature you can create on-line help and printed documentation
  748. from the same source!.
  749. .endpar
  750.  
  751. .par
  752. The /RM- switch uses disk cross-reference report tables. Usage of this 
  753. option will allow the creation of cross-reference report for huge databases.
  754. This options will slow the creation of reports, use it only for databases
  755. so big that the report can not be generated using memory tables.
  756. .endpar
  757.  
  758. .par
  759. The /ED= switch creates the external references (if any are defined) in one
  760. of the following formats : /ED=P (Default) creates the external definitions
  761. in a pascal unit, /ED=C creates the external definitions in a C header 
  762. file, and /ED=+ creates a C++ header file.
  763. .endpar
  764.  
  765. .par
  766. The /EL= switch sets the Error Level used. This switch can be overriden
  767. by the .ERRORLEVEL statement. The acceptable error levels are :
  768. .endpar
  769.  
  770.       0    No Check  - (Default) - No action is taken.
  771.       1    Trap      - The link is replaced to a special topic named ERROR.
  772.       2    Strip     - The link is replaced by the Text part only.
  773.       3    Delete    - The text and link parts are deleted.
  774.       9    Abort     - helpC will abort with an error message, indicating the 
  775.                        line number.
  776. .par
  777. Please refer to the ~Exception Handling~exceptHandle~ section below about helpC error
  778. processing.
  779. .endpar
  780.  
  781. .par
  782. The /FC+ switch forces topic collection, even if the error level is 0, that
  783. does not require collection.
  784. .endpar
  785.  
  786. .par
  787. Use the /PP+ switch to create an export file, to be used in multiple database
  788. target files projects.
  789. .endpar
  790.  
  791. .par
  792. The /EA+ switch is used to export all topics in a database, durin a 
  793. PreProcess target generation, compared to exporting only topics that
  794. have the .EXPORT attributes.
  795. .endpar
  796.  
  797. .par
  798. The /MMV switch is used to generate Microsoft Multimedia Viewer 2.0 code,
  799. You must use the WMVC.EXE program that came with your copy of the  Multimedia
  800. Publishing ToolKit (MM PTK) to compile this code.
  801. .endpar
  802.  
  803. .par font 13 bold on
  804. Related Topics :
  805. .endpar
  806. ~Overview~overview~
  807. ~Command Line~commandline~
  808. ~Help Engine~helpeng~
  809. ~Technical Documentation~techdoc~
  810. .end-entry
  811.  
  812. ;******************************************************************************
  813. ;                                 commandline                                 *
  814. ;******************************************************************************
  815. .topic commandline
  816. .title Command Line
  817. .keywords operation
  818.  
  819. .par
  820. The compiler switches are defined on the command line. These switches can
  821. be placed before and after the source file name. The compiler will look for
  822. a file named HELPC.CFG in the current directory, and process it before any
  823. command line switches are processed. 
  824. .endpar
  825.  
  826. .par
  827. Switches on the command line will over-ride switches set before them, on the
  828. command line or in one of the lines of the response options file(s).
  829. .endpar
  830.  
  831. Response option files can be specified by prefixing their name with a @ sign.
  832.  
  833.  
  834.  Examples :
  835.  
  836.  If our HELPC.CFG file, in the current directory is :
  837.  
  838. /W31
  839. /R-
  840.  
  841.  And we compile using HELPC HELPDEMO
  842.  
  843.  The helpdemo.hdf file will be compiled, with the target set to winhelp 3.1
  844.  and no cross-reference report.
  845.  
  846.  Compile using HELPC HELPDEMO /r+
  847.  
  848.  Will create winhelp 3.1 sources, but a report will be generated.
  849.  
  850.  Compile using HELPC /w- HELPDEMO
  851.  
  852.  Will generate native format help database, no report is generated.
  853.  
  854.  If we have a file called MYSWITCH.CFG with the following lines :
  855.  
  856. /TH+
  857. /ST-
  858. /CS+
  859.  
  860.  And we compile using HELPC @MYSWITCH.CFG HELPDEMO
  861.  
  862.  A THELP source, using Long Topic Names, with case sensitivity will be 
  863.  generated, no cross reference report is generated. (HELPC.CFG contains /r-)
  864.  
  865. .par font 13 bold on
  866. Related Topics :
  867. .endpar
  868. ~Overview~Overview~
  869. ~Help Compiler~helpc~
  870.  
  871.  
  872. .end-topic
  873.  
  874. ;******************************************************************************
  875. ;                                   techDoc                                   *
  876. ;******************************************************************************
  877. .entry techDoc
  878. .title Technical Documentation
  879. .keywords programming
  880.  
  881. .par
  882. The Help Engine database is a combination of text that is read by the user,
  883. and a Topic and Links database that allows the user to view the topics
  884. he is interested in, using hyper-text methods.
  885. .endpar
  886.  
  887. .par
  888. This document describes the HLPDK language syntax, HELPC compiler operation
  889. and the native databases structure.
  890. .endpar
  891.  
  892. .par font 13 bold on
  893. Related Topics :
  894. .endpar
  895. ~Help Compiler~helpC~
  896. ~Help Engine~HelpEng~
  897. ~Help Definition Format~hdf~
  898. ~Native Format Structure~nativeFormat~
  899.  
  900. .end-topic
  901.  
  902. ;******************************************************************************
  903. ;                                nativeFormat                                 *
  904. ;******************************************************************************
  905. .topic nativeFormat
  906. .title Native Database Structure
  907. .keywords programming
  908.  
  909.   Each help database is built of 5 components : 
  910.  
  911.  1. Help Data File    - this file contains the raw text data.
  912.  2. Topic Index       - a database table that contains the topic names, and
  913.                         the references to the topics in the Data File.
  914.  3. Links Index       - a database table that contains the list of links 
  915.                         defined for each topic, and positional data.
  916.  4. Keywords Index    - a database table that contains the list of keywords,
  917.                         and the topics that have these keywords.
  918.  5. Set Data File     - a database configuration file that contains the
  919.                         names of the 3 components defined above, and some 
  920.                         additional information.
  921.  
  922. .par
  923. Version 1.x is the bare-bones version that includes only the basic
  924. operations needed from a hyper-text database, this version is implemented
  925. using the Paradox Engine V3.0 to manage the Topic and Link index tables.
  926. .endpar
  927.  
  928. .par
  929. Version 2.x has a new field in the topic table - the title field, help
  930. databases that were compiled with V1.x will not be executed by version
  931. 2.x, they will have to be re-compiled!.
  932. .endpar
  933.  
  934. .par
  935. Version 3.x fields have different length - the databases have to be 
  936. re-compiled.
  937. .endpar
  938.  
  939. .par
  940. Version 5.0+ has a new entry in the help set file, database have to be
  941. re-compiled, or the value 128 should be added in the last line of the help
  942. set file, and the version number should be changed to 5.0.
  943. .endpar
  944.  
  945. .par
  946. Version 6.0+ has added the keyword support - a new database table is added,
  947. and a new set format is defined. Help databases will have to be re-compiled
  948. for Natice targets.
  949. .endpar
  950.  
  951. .par
  952. In Version 7.0 the title field has been expanded once more - to 70 
  953. characters. Help databases will have to be re-compiled.
  954. .endpar
  955.  
  956. .par
  957. In Version 8.0 the tType field was added to the Topics database. Old databases
  958. will have to be re-compiled.
  959. .endpar
  960.  
  961. .par
  962. The format of the help database is released to the public domain, if
  963. you implement a database viewer on this database structure, I would be
  964. happy to receive a copy ..
  965. .endpar
  966.  
  967. .par font 13 bold on
  968. Related Topics :
  969. .endpar
  970. ~Help Compiler~helpC~
  971. ~Help Engine~HelpEng~
  972. ~Help Definition Format~hdf~
  973. ~Topic Index Format~tif~
  974. ~Links Index Format~lif~
  975. ~Keywords Index Format~kif~
  976. ~Set File Format~sff~
  977.  
  978. .end-entry
  979.  
  980. ;******************************************************************************
  981. ;                                     hdf                                     *
  982. ;******************************************************************************
  983. .entry hdf
  984. .title Help Definition Format
  985. .keywords programming
  986. .list hdf
  987.  
  988.   The help definition file format is as follows :
  989.  
  990. | remarks ...
  991. | remarks ...
  992. | .ENTRY topic-name
  993. | [.TITLE optional title for topic]
  994. | [.TITLEATTR paragraph attributes]
  995. | [.KEYWORDS optional keywords for topic]
  996. | [.GROUPS group1 [group2 ..]]
  997. | [.LIST optional browse list for topic]
  998. | [.EXPORT]
  999. | topic text and link reference .. 
  1000. | topic text and link reference .. 
  1001. | topic text and link reference .. 
  1002. | topic text and link reference .. 
  1003. | .END-ENTRY 
  1004. | remarks ...
  1005. | .ENTRY topic2-name
  1006. | [.KEYWORDS keyword1 keyword2 ..]
  1007. | [.GROUPS group3 [group2 ..]]
  1008. | [.PARAGRAPH [paragraph attributes]]
  1009. | topic 2 text and link reference .. 
  1010. | topic 2 text and link reference .. 
  1011. | topic 2 text and link reference .. 
  1012. | [.END-PARAGRAPH]
  1013. | additional topic2 text ...
  1014. | .END-ENTRY 
  1015. |
  1016. | .POPUP popup-name
  1017. | [.TITLE optional title for popup]
  1018. |   definition for some reference
  1019. |   ...
  1020. | .END-POPUP
  1021.  
  1022.   As can be seen - lines between the .ENTRY and .END-ENTRY keywords are
  1023.  the lines processed by the help compiler, to create the help database, 
  1024.  every other line is considered a remark, and is not parsed or evaluated by
  1025.  the help compiler.
  1026.  
  1027.   The topic text and link reference lines are simple text lines, with
  1028.  special link marks.
  1029.  
  1030.   A sample will provide the details :
  1031.  
  1032. This is a text help line that includes one ~~link~~link-topic-name~~ in it.
  1033.  
  1034.   This line will be displayed in the help engine program as :
  1035.  
  1036. This is a text help line that includes one link in it.
  1037.  
  1038.   The word "link" will be in a different color then the rest of the line, 
  1039.  to indicate that this is a link. If the user hi-lights the link, and
  1040.  presses Enter (or points the mouse cursor and clicks), the help engine will
  1041.  look for a topic called "link-topic-name", and display it.
  1042.  
  1043.   Browse the HELPDEMO.HDF file for a demo of a help database definition file.
  1044.  
  1045.  Notes :
  1046.  
  1047.  1. The keywords .TOPIC and .END-TOPIC can be used instead of .ENTRY and
  1048.   .  .END-ENTRY respectively.
  1049.  
  1050.     An equivalent pair of keywords are .TOP and .ENDTOP .
  1051.  
  1052.     You can use .EXT-TOPIC instead of .TOPIC/.ENTRY etc.. - topics created
  1053.     with that statement are the same as regular topics, only - an external
  1054.     reference is created for them to be linked to a pascal/C/C++ program.
  1055.  
  1056.  2. Keywords are NOT case sensitive. (.topic = .TOPIC = .eNTry)
  1057.  
  1058.  3. The .TITLE keyword is optional. If no title is defined, the topic name
  1059.     is used as a title. The .TITLEATTR keyword is used to describe the
  1060.     title text attributes. The syntax is the same as the .PARAGRAPH text
  1061.     attributes. Please refer to the Text Attributes section below for further
  1062.     discussion of the optional paragraph attributes.
  1063.  
  1064.  4. If you want the ~~ sign to appear in your help database, use ~~~~ in your
  1065.     help source file. (e.g. "This is a ~~~~" will be "This is a ~~" in the final
  1066.     help database.).
  1067.  
  1068.  5. The Optional .PARAGRAPH and .END-PARAGRAPH commands in the help topic text,
  1069.     specify the start and the end of a paragraph. This feature is currently 
  1070.     supported only for MMViewer, winhelp, RTF and IPF sources. This feature is 
  1071.     important if you want to create long paragraphs that will wrap correctly 
  1072.     when a user resizes the help window. Please refer to the 
  1073.     ~Text Attributes~textAttr~ section below for further discussion of the optional 
  1074.     paragraph attributes.
  1075.  
  1076.     The .PAR and .ENDPAR keywords can be used instead of the .PARAGRAPH 
  1077.     and .END-PARAGRAPH keywords.
  1078.  
  1079.  6. When a .PARAGRAPH is issued, a .END-PARAGRAPH MUST be specified at the
  1080.     end of the paragraph. These commands must appear as the first words in
  1081.     a line. The text after the .PARAGRAPH command is NOT part of the text 
  1082.     of the help topic.
  1083.  
  1084.  
  1085.  7. The optional .KEYWORDS command can appear after the .TITLE command
  1086.     (If there is one), or the .TOPIC header (otherwise), Use this command
  1087.     to help the user search for sets of topics that are connected to a 
  1088.     specific keyword. The syntax of this command is :
  1089.     .KEYWORDS keyword-1 keyword-2 ... 
  1090.     Multiple .KEYWORDS lines are allowed, if there are a lot of KEYWORDS,
  1091.     that will not fit on a single line, multiple .KEYWORDS lines can be
  1092.     used. (NewsDB - The usenet hypertext generator uses that feature).
  1093.  
  1094.  8. .POPUP and .END-POPUP (or .ENDPOP) are used to define popup topics that 
  1095.     are displayed on the same screen as the original topic that includes the
  1096.     link to them. Popup entries allow the user to consult a glossary, and 
  1097.     not lose the topic he was reading. Popups are supported in the winhelp,
  1098.     OS/2 IPF, Native PX/Mem and MMViewer formats. In the other formats Popups are 
  1099.     used as standard topics.
  1100.  
  1101.  9. In the Text/RTF targets .POPUP entries will be automatically included in a 
  1102.     Glossary file that you can add as an appendix to your documentation.
  1103.  
  1104. 10. The .GROUPS statement associate a topic with several groups, you can 
  1105.     create topics with menus to groups of other topics using the statement
  1106.     ".INSERT GROUP group-name" in your topic text. Please refer to the 
  1107.     ~Groups~GroupsDoc~ section of this document for additional discussion of this
  1108.     function.
  1109.     Multiple .GROUPS lines are allowed, if there are a lot of GROUPS,
  1110.     that will not fit on a single line, multiple .GROUPS lines can be
  1111.     used.
  1112.  
  1113. 11. The .LIST attribute associates a topic to a browse sequence, in this
  1114.     name. The topic will be after the previous topic that belongs to this
  1115.     list, and before the next topic that belongs to this list. The list
  1116.     browse sequences are currently supported in the WINHELP and MMViewer
  1117.     targets only.
  1118.  
  1119. 12. Graphic support is available by using a Graphic Link, a Graphic Link,
  1120.     is a link that has the following format :
  1121.     ~~Text to display if not a graphic target~~graphic-name~~
  1122.     Where graphic-name is the name of a graphic object defined with the
  1123.     .GRAPHIC statement. Please refer to the ~Graphics~graphics~ Section below for more
  1124.     information.
  1125.  
  1126. 13. If the .EXPORT attribute is specified, HELPC will automatically create
  1127.     a reference to the topic in an export file. This function can be useful
  1128.     when you create a multiple file target database. This command can be very
  1129.     useful when you have to create a complex multi file database, and use a
  1130.     'make' utility to maintain the project. For more information about this
  1131.     attribute, please refer to the ~Complex Projects~complexProj~ section below.
  1132.  
  1133. 14. Sound support is available by using a Sound link. This link will play a 
  1134.     sound file, when the user clicks the link. The link has the following
  1135.     format :  ~~Text-That-Will-Appear~~soundLinkName~~
  1136.     Where Text-That-Will-Appear will be displayed on the screen, and whem the
  1137.     text will be clicked, the sound object defined as soundLinkName will be
  1138.     played. Please refer to the ~Sound~sound~ section below.
  1139.  
  1140. 15. Applications can be launced from the help database by clicking a link, that
  1141.     was defined as an application. The syntax is : ~~Text~~application-link~~
  1142.     where Text is the text that will appear to the user, and application-link
  1143.     is the identifier of the application that will be executed, as defined in
  1144.     the .APPLICATION statement. Please refer to the ~Application Launch~appLaunch~ section
  1145.     below for more information.
  1146.  
  1147. 16. User defined links can be created and used in the topic text, please refer
  1148.     to the ~Links~links~ section below for discussion of this feature.
  1149.  
  1150. .par bold on
  1151. Additional commands include :
  1152. .endpar
  1153.  
  1154. | .TEXTCOLOR, .LINKCOLOR and .LINKHIGH - VGA colors of text and links in normal 
  1155. and high (selected) states in the native help formats.
  1156.  
  1157. The syntax of these commands is :
  1158.  
  1159. | .TEXTCOLOR w 
  1160.  
  1161. or
  1162.  
  1163. | .LINKCOLOR x
  1164.  
  1165. or
  1166.  
  1167. | .LINKHIGH y
  1168.  
  1169. Where w, x and y are the color of the text/link, which is a combination of the 
  1170. color of the foreground with the color of the background multiplied by 16.
  1171.  
  1172. The colors that can be used for both fore and background are :
  1173.  
  1174.   Black     = 0
  1175.   Blue      = 1
  1176.   Green     = 2
  1177.   Cyan      = 3
  1178.   Red       = 4
  1179.   Magenta   = 5
  1180.   Brown     = 6
  1181.   LightGray = 7
  1182.  
  1183. The colors that can be used only for the foreground are :
  1184.  
  1185.   DarkGray     = 8
  1186.   LightBlue    = 9
  1187.   LightGreen   = 10
  1188.   LightCyan    = 11
  1189.   LightRed     = 12
  1190.   LightMagenta = 13
  1191.   Yellow       = 14
  1192.   White        = 15
  1193.  
  1194. For example : to set the normal color of a link to light green on blue, use
  1195.  
  1196. | .LINKCOLOR 26
  1197.  
  1198. where 26 = 10 + 16 * 1. (10 = light green, 1 = blue).
  1199.  
  1200. .par bold on
  1201. Creating Multiple Source Projects :
  1202. .endpar
  1203.  
  1204. Use the .INCLUDE commands in the source of your .HDF file, to include an
  1205. additional source file. .INCLUDE is not supported in the middle of a topic.
  1206.  
  1207. For Example :
  1208.  
  1209.  .. some stuff 
  1210.  
  1211. | .include 2ndfile.hdf
  1212.  
  1213.  .. additional stuff
  1214.  
  1215. will process 2NDFILE.HDF in the middle of our source file.
  1216.  
  1217. Please notice - .INCLUDE commands can be nested in your source file,
  1218. it is however not recommended to nest them too deep, helpC does not
  1219. close the input file when a .INCLUDEd file is processed, in order to
  1220. minimize help generation time - there is however, a limit on the number
  1221. of open files that can be used by a program - this is a limit set by dos.
  1222.  
  1223. .par bold on
  1224. Code Insertion :
  1225. .endpar
  1226.  
  1227. Use the .INSERT CODE statement to insert target code that will not be 
  1228. translated by helpC. helpC will send un-translated code to the output target
  1229. until a .END-CODE statement is found.
  1230.  
  1231. For example - creating a small table in winhelp format :
  1232. | .. normal code
  1233. | .ifdef windows
  1234. | .insert code
  1235. | \pard{\tab column1\tab column2\tab column3}\par
  1236. | \pard{\par col1data\tab col2data ..}\par
  1237. | .end-code
  1238. | .endif
  1239.  
  1240. .par bold on
  1241. GUI Font based targets :
  1242. .endpar
  1243.  
  1244. The .FIXEDFONT command is used to define a non proportional font as the 
  1245. default font of the help database. Currently the only targets affected
  1246. by this command are MMViewer, winHelp, RTF. If you find that your help 
  1247. databases are not aligned after they are converted to winHelp format, use 
  1248. this command and re-compile. This command has no effect on targets that are 
  1249. different from the targets mentioned above.
  1250.  
  1251. The .PCFONT command is used to define a font that has the standard pc 
  1252. character set (Terminal - in windows). If you convert a text based 
  1253. database that uses the PC's special characters, use this command to
  1254. set the default font. This command has no effect on targets that are 
  1255. different from the targets mentioned above.
  1256.  
  1257. .par bold on
  1258. Text targets :
  1259. .endpar
  1260.  
  1261. The .PAGELENGTH and .PAGEWIDTH statements set the printed page length in
  1262. rows, and width in columns. The syntax is .PAGELENGTH xx or .PAGEWIDTH yy .
  1263.  
  1264. .par bold on
  1265. Font Pallete :
  1266. .endpar
  1267.  
  1268. Use the .SETFONT command to change or add fonts to the font palette, The 
  1269. syntax is : .SETFONT font-number 'Font-Name-In-The-Target-Language'. If
  1270. for example we would like to change font number 3 in the windows target
  1271. to be a font X of family Y we would write : 
  1272. | .SETFONT 3 'Y X'
  1273.  
  1274. .par bold on
  1275. Text Attributes :
  1276. .endpar
  1277.  
  1278. Use the .TITLEDEFAULTS statement to set the default text attributes of the
  1279. topics titles in the help database. These defaults can be over-ridden with
  1280. the .TITLEATTR statement in the topic definition. Please refer to the Text
  1281. Attributes section below for discussion of paragraph text attributes.
  1282.  
  1283. Use the .ATTRDEFAULTS statement to set the default text attributes of 
  1284. paragraph text in the database. Please refer to the Text Attributes section 
  1285. below.
  1286.  
  1287. .par bold on
  1288. Error Handling :
  1289. .endpar
  1290.  
  1291. Use the .ERRORLEVEL command to set the error level. The syntax is .ERRORLEVEL x
  1292. where x is one of the following :
  1293.  
  1294.       0    No Check  - (Default) - No action is taken.
  1295.       1    Trap      - The link is replaced to a special topic named ERROR.
  1296.       2    Strip     - The link is replaced by the Text part only.
  1297.       3    Delete    - The text and link parts are deleted.
  1298.       9    Abort     - helpC will abort with an error message, indicating the 
  1299.                        line number.
  1300. .par
  1301. Please refer to the ~Exception Handling~exceptHandle~ section below about helpC error
  1302. processing.
  1303. .endpar
  1304.  
  1305. .par bold on
  1306. Alias Topics :
  1307. .endpar
  1308.  
  1309. .par
  1310. Use the .ALIAS command to substitute a Popup/Topic name with another name. The
  1311. syntax is .ALIAS newname origname. Whenever a newname link is found, the alias
  1312. of origname is used. This can be very useful when you want to give multiple
  1313. names to a topic, or when HLPDK source is the target of an incremental 
  1314. compiler.
  1315. .endpar
  1316.  
  1317. .par bold on
  1318. Graphic Support :
  1319. .endpar
  1320.  
  1321. .par
  1322. Use the .GRAPHIC statement to define a graphic object, that can be referenced
  1323. elsewhere in your document. 
  1324. The syntax is :
  1325. .endpar
  1326. | .GRAPHIC graphic-name path-to-graphic-file
  1327. Please refer to the ~Graphics~graphics~ section below, for further information.
  1328.  
  1329. .par bold on
  1330. External Links :
  1331. .endpar
  1332.  
  1333. .par
  1334. Use the .EXTLINK command to define links in external database file. With this 
  1335. command you can create multiple file target database projects. Please refer to
  1336. the ~Links~links~ section below for more information about this feature.
  1337. .endpar
  1338.  
  1339. .par bold on
  1340. Sound Support :
  1341. .endpar
  1342.  
  1343. .par
  1344. Use the .SOUND command statement to define a sound object, that can be used as
  1345. a Sound link elsewhere in your document.
  1346. The syntax is :
  1347. .endpar
  1348. | .SOUND sound-name sound-file-name
  1349. Please refer to the Sound section below for more information about this feature.
  1350.  
  1351. .par bold on
  1352. Application Launch :
  1353. .endpar
  1354.  
  1355. .par 
  1356. The .APPLICATION statement is used to define an application object that can be
  1357. launced by an application-launch-link. The syntax is :
  1358. .endpar
  1359. | .APPLICATION application-identifer application-definition
  1360. .par
  1361. where application-identifer is the identifer that will be used in 
  1362. application-launch-links, and application-definition is the path to the
  1363. application. If the application needs to get parameters, the path and the
  1364. parameters are specified in quotes. Please refer to the ~Application Launch~appLaunch~
  1365. section below for additional information.
  1366. .endpar
  1367.  
  1368. .par bold on
  1369. External Routines Support :
  1370. .endpar
  1371.  
  1372. .par
  1373. The .ROUTINE statement can be used to define external routines that can be 
  1374. called from the help database. The syntax is :
  1375. .endpar
  1376. | .ROUTINE routine-name module-name parameter-definition
  1377. .par
  1378. Where routine-name is the name of the procedure/function to be called, 
  1379. module-name is the name of the library/DLL that the routine resides in (No need
  1380. to add the .DLL extention), and parameter-definition is the definition of the
  1381. parameters that the routine receives.
  1382. The parameter definitions is a string with one character describing each
  1383. parameters type. The following definitions are used :
  1384. .endpar
  1385.  
  1386. char    C definition               Pascal definition
  1387.  
  1388. u    unsigned short (WORD)      Word
  1389. U    unsigned long  (DWORD)     Longint
  1390. i    short int                  byte
  1391. I    int                        integer
  1392. s    near char * (PSTR)         PChar
  1393. S    far char * (LPSTR)         PChar
  1394. v    void 
  1395.  
  1396. .par bold on
  1397. Embedding Files :
  1398. .endpar
  1399.  
  1400. .par
  1401. Use the .EMBEDD statement to add files to your help database. The files defined
  1402. as embedded will appear in the [baggage] section of your winHelp/MMViewer 
  1403. project definition and will be stored with the rest of the database.
  1404. .endpar
  1405.  
  1406. The syntax is :
  1407.  
  1408. | .EMBEDD file-id path-to-file
  1409.  
  1410. .par
  1411. Where file-id is the name the file will be referenced by, and path-to-file is
  1412. the path to the file on the author's machine.
  1413. .endpar
  1414.  
  1415. .par font 13 bold on
  1416. Related Topics :
  1417. .endpar
  1418. ~Technical Documentation~TechDoc~
  1419. ~Conditional Defines~condefine~
  1420. ~Groups~GroupsDoc~
  1421. ~Text Attributes~textAttr~
  1422. ~Graphics~graphics~
  1423. ~Sound~sound~
  1424. .end-entry
  1425.  
  1426. ;******************************************************************************
  1427. ;                                    links                                    *
  1428. ;******************************************************************************
  1429. .topic links
  1430. .title Links - internal/external and special
  1431. .keywords programming links
  1432. .list hdf
  1433.  
  1434. .par
  1435. Links are the special "commands" embedded in a topic text, that provide
  1436. special functionality in the target database.
  1437. .endpar
  1438.  
  1439. .par
  1440. All links are described in the topic text as a combination of text that will
  1441. appear, and a link identifier.
  1442. .endpar
  1443.  
  1444. The syntax, in a topic text for a link is :
  1445.  
  1446.  .. Some Standard Text .. ~~Link Text~~Link Id~~ .. some more text ..
  1447.  
  1448. Link Id is a unique identifier that describe this link.
  1449.  
  1450. .par
  1451. The most common link, is a topic link, this link allows the user to click on
  1452. the Link Text, that is usually in a different color than the rest of the text,
  1453. and by clicking on this texst, the topic in the help engine window is replaced,
  1454. with the topic that has the same identifier as the Link Id specified in the
  1455. identifier.
  1456. (A Topic is defined by a .topic statement somewhere else in the source file).
  1457. .endpar
  1458.  
  1459. .par
  1460. Another type of link, is the Popup link. When the Link Id is the Id of a popup,
  1461. clicking on the link will display the popup text in a window, and retain the 
  1462. original topic in the help engine window. 
  1463. (A Popup is defined by a .popup statement somewhere else in the source file).
  1464. .endpar
  1465.  
  1466. .par
  1467. Links can be used, to embedd non-textual information in the topic text. A 
  1468. common non-textual is a graphic link, when the Link Id is the Id of a graphic
  1469. object (defined by a .graphic statement somewhere else in our source), the
  1470. place of the link will be replaced by a graphic picture, in targets that 
  1471. support graphics (such as WINHELP and OS/2 IPF), and remain the Link Text
  1472. in targets that do not supprot graphics.
  1473. .endpar
  1474.  
  1475. .par
  1476. Another non-textual link is a sound link. A sound link plays a sound file 
  1477. when a sound object (defined with the .SOUND statement) is clicked by the
  1478. user. 
  1479. .endpar
  1480.  
  1481. .par
  1482. Applications can be lauched from a link, when the link key is the identifer of
  1483. an application defined with the .APPLICATION statement.
  1484. .endpar
  1485.  
  1486. .par
  1487. Other links can be created using "User Defined Link Templates", with this 
  1488. feature a link template can be created to support additional code translations.
  1489. Please refer to the ~Extending HDF~extendingHDF~ section below for additional information
  1490. on User defined links.
  1491. .endpar
  1492.  
  1493. .par
  1494. When HELPC recognizes a link, the following sequence of
  1495. link recognition occurs -
  1496. .endpar
  1497. 1. Try to match link with a graphic object.
  1498. 2. If failed - try to match link with a sound object.
  1499. 3. If failed - try to match link with an application object.
  1500. 4. If failed - try to match link with a user defined link.
  1501. 5. If failed - try to match link with a popup.
  1502. 6. If failed - try to match link with a topic.
  1503. 7. If failed - try to match link with an external topic. (.EXTLINK)
  1504. 8. If failed - opearate according to the current error-level.
  1505.  
  1506. .par font 13 bold on
  1507. Related Topics :
  1508. .endpar
  1509. ~Application Launch~appLaunch~
  1510. ~Graphics~graphics~
  1511. ~Sound~Sound~
  1512. ~Exception Handling~exceptHandle~
  1513. ~Technical Documentation~TechDoc~
  1514. ~.HDF Syntax~hdf~
  1515. ~Help Compiler~helpc~
  1516. .end-topic
  1517.  
  1518. ;******************************************************************************
  1519. ;                                  conDefine                                  *
  1520. ;******************************************************************************
  1521. .topic conDefine
  1522. .title Conditional Defines
  1523. .keywords programming conditional
  1524. .list hdf
  1525.  
  1526. .par
  1527. The helpC compiler supports conditional define directives that allow you to
  1528. tailor your source according to define symbols that are known to the compiler.
  1529. .endpar
  1530.  
  1531. .par
  1532. You can use the .ifdef, .ifndef, .else and .endif directives to test the
  1533. target of your compile and do different things according to this target.
  1534. .endpar
  1535.  
  1536. .par
  1537. If for example you have a Windows bitmap you want to include in your generated
  1538. RTF file, when you compile to winhelp format, but, you would like to use a
  1539. statement in other targets that do not support graphics, you could do the 
  1540. following :
  1541. .endpar
  1542.  
  1543. | .ifdef windows
  1544. |   some text {\bmc mybmp.bmp\} some more text
  1545. | .else 
  1546. |   some text AND STATEMENT HERE some more text
  1547. | .endif
  1548.  
  1549. .par
  1550. When the compiler will generate the code, the RTF command \bmc will be 
  1551. inserted in the output of the compiler for windows targets (/W30, /W31), 
  1552. and a simple text statement will be inserted otherwise.
  1553. .endpar
  1554.  
  1555. The conditional directives supported are :
  1556.  
  1557. | .ifdef  SYMBOL - Compile code only if SYMBOL is defined.
  1558. | .ifndef SYMBOL - Compile code only if SYMBOL is NOT defined.
  1559. | .endif         - Any .ifdef/.ifndef should be terminated by a .endif .
  1560. | .else          - Reverse the previous .ifdef/.ifndef
  1561.  
  1562. The following SYMBOLS are automatically defined by the compiler :
  1563.  
  1564. Symbol          When Defined
  1565. ------          ------------
  1566. DEF             /PX+
  1567. W31             /W31
  1568. W30             /W30
  1569. THS             /TH+
  1570. QHS             /QH+
  1571. TVH             /TV+
  1572. PHS             /PH+
  1573. DVX             /XD+
  1574. MEM             /MT+
  1575. OS2             /OS2
  1576. TXT             /TXT
  1577. WINDOWS         /W30, /W31
  1578. THELP           /TH+
  1579. QUICKHELP       /QH+
  1580. TVHC            /TV+
  1581. NATIVEPARADOX   /PX+
  1582. POPHELP         /PH+
  1583. DESQVIEW/X      /XD+
  1584. NATIVEMEMORY    /MT+
  1585. VERx.y          When Compiling with helpC Vx.y 
  1586. NATIVE          /PX+, /MT+
  1587. DOCUMENT        /TXT, /RTF
  1588. RTFBASED        /W+, /RTF, /W30, /W31, /MMV
  1589. PRP             /PP+
  1590. PREPROCESS      /PP+
  1591. MMV             /MMV
  1592. MMVIEWER        /MMV
  1593. VIEWER          /MMV
  1594.  
  1595. .par
  1596. You can define your own conditional defines on the command line using the /D:
  1597. switch of helpC.
  1598. .endpar
  1599.  
  1600. e.g.
  1601.  
  1602. Source :
  1603.  
  1604. | ... some text ..
  1605. | .ifdef mydef
  1606. |   Special Text for mydef situation
  1607. | .endif
  1608. | ... more text
  1609.  
  1610. and you compile using HELPC /D:MYDEF the special text will be included.
  1611.  
  1612. .par font 13 bold on
  1613. Related Topics :
  1614. .endpar
  1615. ~Technical Documentation~techDoc~
  1616. ~Help Definition~hdf~
  1617.  
  1618. .end-topic
  1619.  
  1620. ;******************************************************************************
  1621. ;                                  textAttr                                   *
  1622. ;******************************************************************************
  1623. .topic textAttr
  1624. .title Text Attributes
  1625. .keywords programming attributes text
  1626. .list hdf
  1627.  
  1628. .par 
  1629. Topic's text can receive visual attributes such as a font, size, bold, 
  1630. italic etc.. by using the paragraph attributes on the .PARAGRAPH (.par)
  1631. line. Text attributes are currently supported in the MMViewer, winhelp and rtf 
  1632. targets.
  1633. .endpar
  1634.  
  1635. The attributes that can be applied to text are :
  1636.  
  1637. Font            - The font the text will be displayed in.
  1638. Bold            - The text is displayed in bold characters.
  1639. Italic          - The text is displayed in italic characters.
  1640. Underline       - The text is displayed in underline characters.
  1641. Size            - The size of the font.
  1642. Box             - The paragraph can be contained in a box.
  1643. Align           - The paragraph can be alligned.
  1644. Color           - The text foreground color.
  1645.  
  1646. The syntax is :
  1647.  
  1648. | .PARAGRAPH [attr1 attr1-parameters [attr2 attr2-parameters [..] ]]
  1649.  
  1650. The allowed parameters to attributes are :
  1651.  
  1652. 1. FONT font-number-in-font-palette : The font number in the font palette, there
  1653. is a standard font palette for MMViewer, winhelp and rtf targets that include 
  1654. the following fonts :
  1655.  
  1656.  0 : Times Roman        (roman Tms Rmn)
  1657.  1 : Symbol             (decor Symbol)
  1658.  2 : Helvetica          (swiss Helv)
  1659.  3 : LinePrinter        (modern LinePrinter)
  1660.  4 : Terminal           (roman Terminal)
  1661.  5 : Times New Roman    (roman Times New Roman)
  1662.  6 : Arial              (swiss Arial)
  1663.  7 : CG Times (WN)      (roman CG Times (WN))
  1664.  8 : Courier            (modern Courier)
  1665.  9 : Modern             (modern Modern)
  1666. 10 : Script             (script Script)
  1667. 11 : Univers (WN)       (swiss Univers (WN))
  1668. 12 : Wingdings          (nil Wingdings)
  1669. 13 : MS Sans Serif      (swiss MS Sans Serif)
  1670.  
  1671. 2. BOLD ON|OFF - Set bold mode to on/off.
  1672.  
  1673. 3. ITALIC ON|OFF - Set italic mode to on/off.
  1674.  
  1675. 4. UNDERLINE ON|OFF - Set underline mode on/off.
  1676.  
  1677. 5. SIZE font-size - Set the size of the font.
  1678.  
  1679. 6. BOX NONE|NORMAL|THICK|SHADOW|DOUBLE - Print paragraph in a box which has one
  1680. of the described borders : NONE is no border at all.
  1681.  
  1682. 7. ALIGN LEFT|RIGHT|CENTER|JUSTIFY - Print the text in the paragraph aligned
  1683. to one of the sides, the center or justified in the paragraph.
  1684.  
  1685. 8. COLOR color-number-in-color-palette - The numbers are the same numbers used
  1686. for dos native systems and described in the help definition format section
  1687. above, regarding the .LINKCOLOR, .TEXTCOLOR and .LINKHIGH statements.
  1688.  
  1689. Example :
  1690.  
  1691. | .PAR BOX SHADOW FONT 13 BOLD ON
  1692. |    ... some text here ..
  1693. | .ENDPAR
  1694.  
  1695. Will display the paragraph in a shadow bordered box, using font 13 in the 
  1696. palette (MS Sans Serif assuming that the original palette is used) with bold
  1697. characters.
  1698.  
  1699. .par font 13 bold on
  1700. Related Topics :
  1701. .endpar
  1702. ~Technical Documentation~techDoc~
  1703. ~Help Definition~hdf~
  1704.  
  1705. .end-topic
  1706.  
  1707. ;******************************************************************************
  1708. ;                                  groupsDoc                                  *
  1709. ;******************************************************************************
  1710. .topic groupsDoc
  1711. .title Groups Definition and Usage
  1712. .keywords programming groups
  1713. .list hdf
  1714.  
  1715. Topics can be associated to groups using the .GROUPS statement in the topic
  1716. heading. Menus to these groups can later be created by using the 
  1717. command .INSERT GROUP group-name in the topic text.
  1718.  
  1719. An example will clarify the use of this function :
  1720.  
  1721. Let us assume that we have a car's collectors database, where the description
  1722. of each car is a topic. We would like to present a hierarchy to the user that
  1723. looks like that : 
  1724.  
  1725. Overview Screen
  1726.    |
  1727.    +--------- Cars by Country
  1728.    |               |
  1729.    |               +------------ U.S.A ... List of cars manufactured in U.S.A
  1730.    |               +------------ U.K.
  1731.    |               +------------ Italy
  1732.    |
  1733.    +--------- Cars by Maker
  1734.    |               |
  1735.    |               +------------ Alfa-Romeo ... List of Alfa-Romeo models
  1736.    |               +------------ GM
  1737.    |               +------------ Mazda
  1738.    |
  1739.    +--------- Cars by type
  1740.                    |
  1741.                    +------------ 4x4 & Jeeps
  1742.                    +------------ Sport Cars
  1743.                    +------------ Family Sedans
  1744.                         
  1745. We will create group references in the topics using the .GROUPS statement,
  1746. The Alfa Romeo Spider 2000 topic will look like :
  1747.  
  1748. | .topic alfa_romeo_spider_2000
  1749. | .title Alfa Romeo Spider 2000
  1750. | .keywords alfa spider convertible sport classic
  1751. | .groups italian alfa sport
  1752. | The Alfa Romeo ... 
  1753. | .end-topic
  1754.  
  1755. The Italian Cars Directory topic will be :
  1756.  
  1757. | .topic italy_directory
  1758. | .title Italian Cars Directory
  1759. | .keywords directory
  1760. | Cars Manufactured in Italy :
  1761. | .insert group italian
  1762. | .end-topic
  1763.  
  1764. If our database includes 3 cars that have a reference to the Italian group
  1765. this will be the equivalent of writing :
  1766.  
  1767. | .topic italy_directory
  1768. | .title Italian Cars Directory
  1769. | .keywords directory
  1770. | Cars Manufactured in Italy :
  1771. | ~~Alfa Romeo Spider 2000~~alfa_romeo_spider_2000~~
  1772. | ~~Ferrari 308 GTS~~Ferrari_308_gts~~
  1773. | ~~Fiat Uno 70S~~fiat_uno_70s~~
  1774. | .end-topic
  1775.  
  1776. .par font 13 bold on
  1777. Related Topics :
  1778. .endpar
  1779. ~Technical Documentation~TechDoc~
  1780. ~.HDF Syntax~hdf~
  1781. ~Conditional Defines~condefine~
  1782. .end-topic
  1783.  
  1784. ;******************************************************************************
  1785. ;                                exceptHandle                                 *
  1786. ;******************************************************************************
  1787. .topic exceptHandle
  1788. .title Exception Handling
  1789. .keywords programming exception
  1790. .list hdf
  1791.  
  1792. .par
  1793. helpC provides mechanism to handle link exceptions. An exception is a link
  1794. to an identifier that is not defined as a Topic or PopUp. In order to help
  1795. you find these errors helpC contains the cross reference report that can
  1796. be produced using the /R+ switch. You can browse the HELPC.LST file generated
  1797. by helpC if a cross reference report is generated, and search for the string
  1798. ERROR that describes undefined links.
  1799. .endpar
  1800.  
  1801. .par
  1802. helpC provides additional exception handling facilities. When an error is found
  1803. during compile helpC can perform on of the following actions :
  1804. .endpar
  1805.  
  1806. 0: No Check - Default - helpC does not do anything. The link is passed as is to
  1807.               the target. The target help engine/compiler will handle the 
  1808.               exception as it is implemented.
  1809.  
  1810. 1: Trap     - helpC will replace the link key with the key ERROR. It is the 
  1811.               responsibility of the help database author to provide such a
  1812.               topic/popup.
  1813.  
  1814. 2: Strip    - helpC will pass the text of the link to the target with no link
  1815.               support. The text will appear as normal text.
  1816.  
  1817. 3: Delete   - Both the text and the link will be deleted and will not appear in
  1818.               the target.
  1819.  
  1820. 9: Abort    - helpC will abort, with an error message, indicating the line the 
  1821.               link is defined. This mode is recommended when you are debugging 
  1822.               your help database.
  1823.  
  1824. You can set the error level using the following techniques :
  1825.  
  1826. - Use the /EL=x switch on the helpC command line.
  1827.  
  1828. - Use the .ERRORLEVEL x .HDF statement.
  1829.  
  1830. .par bold on
  1831. Important Points :
  1832. .endpar
  1833.  
  1834. .par
  1835. 1. When errorLevel = 0 (default) no topic database is created during pass 1,
  1836. if you set .errorlevel somewhere in your source, after some topics/popups
  1837. have been defined, these topics will not be in the symbol table created by
  1838. helpC and will be considered an exception!.
  1839. .endpar
  1840.  
  1841. .par
  1842. 2. You can use the /FC+ switch to "Force Collection" of Topics data, even when
  1843. the ERRORLEVEL is 0.
  1844. .endpar
  1845.  
  1846. .par font 13 bold on
  1847. Related Topics :
  1848. .endpar
  1849. ~Technical Documentation~TechDoc~
  1850. ~.HDF Syntax~hdf~
  1851. ~Help Compiler~helpc~
  1852.  
  1853. .end-topic
  1854.  
  1855. ;******************************************************************************
  1856. ;                                  graphics                                   *
  1857. ;******************************************************************************
  1858. .topic graphics
  1859. .title Native Graphics Support
  1860. .keywords programming graphics
  1861. .list hdf
  1862.  
  1863. .par
  1864. Native Graphic support is provided by graphic "links", and graphic object
  1865. definitions.
  1866. .endpar
  1867.  
  1868. .par
  1869. In order to incorporate graphics into your database, use the .GRAPHIC
  1870. command to define a graphic object. This command associates a graphic file
  1871. with a unique identifier.
  1872. .endpar
  1873.  
  1874. .par
  1875. Whenever you want to use the graphic image in one of your topics, you should
  1876. define a link with the following syntax :
  1877. .endpar
  1878.  
  1879. ~~Link Text in non-graphic targets~~graphic-identifier~~
  1880.  
  1881. .par
  1882. If the target of the compiler has no HELPC native graphic support, the 
  1883. "Link Text in non-graphic targets" sentance will be used, if the target 
  1884. is supported, the graphic-identifier will be displayed.
  1885. .endpar
  1886.  
  1887. .par
  1888. In this version of HLPDK native graphics support is provided for WINHELP,
  1889. Microsoft Multimedia Viewer (MMViewer) and OS/2 IPF Bitmaps.
  1890. .endpar
  1891.  
  1892. .par
  1893. Notice that the graphic-identifier must be unique, and must not be identical
  1894. to a topic/popup/sound name. Please refer to the ~Links~links~ section for
  1895. link recognition sequence information.
  1896. .endpar
  1897.  
  1898. .par
  1899. Link Modifiers are attributes that are defined after the link name, separated
  1900. with the ";" character.
  1901. .endpar
  1902.  
  1903. The following modifiers are defined for Graphic support :
  1904.  
  1905. Left   : Align the graphic object to the left of the window.
  1906. Right  : Align the graphic object to the right of the window.
  1907. Center : Align the graphic object to the center of the window.
  1908.  
  1909. .par
  1910. Please refer to one of the standard documentation examples that are supplied
  1911. with the HLPDK package, for demos of graphic use.
  1912. .endpar
  1913.  
  1914. .par font 13 bold on
  1915. Related Topics :
  1916. .endpar
  1917. ~Technical Documentation~TechDoc~
  1918. ~.HDF Syntax~hdf~
  1919. ~Help Compiler~helpc~
  1920. ~Links~links~
  1921. .end-topic
  1922.  
  1923. ;******************************************************************************
  1924. ;                                    sound                                    *
  1925. ;******************************************************************************
  1926. .topic sound
  1927. .title Native Sound Support
  1928. .keywords programming sound
  1929. .list hdf
  1930.  
  1931. Sound support is provided by sound "links", and sound object definition.
  1932.  
  1933. .par
  1934. In order to incorporate sound into your database, use the .SOUND command
  1935. to define a sound object. This command associates a sound file (WAV in windows)
  1936. with a unique identifier.
  1937. .endpar
  1938.  
  1939. .par
  1940. Whenever you want to use the sound object in one of your topics, you have to
  1941. define a link with the following syntax :
  1942. .endpar
  1943.  
  1944. ~~Text To Be Clicked On~~sound-identifier~~
  1945.  
  1946. .par
  1947. Currently, Sound support is available only in the MMViewer and winHelp targets.
  1948. The name of the sound object in this version should be a WAV file, that 
  1949. is in the \WINDOWS directory. The WINDOWS MMSYSTEM multi-media support looks
  1950. for the sound file in this directory!.
  1951. .endpar
  1952.  
  1953. .par font 13 bold on
  1954. Related Topics :
  1955. .endpar
  1956. ~Technical Documentation~TechDoc~
  1957. ~.HDF Syntax~hdf~
  1958. ~Help Compiler~helpc~
  1959. ~Links~links~
  1960. .end-topic
  1961.  
  1962. ;******************************************************************************
  1963. ;                                  appLaunch                                  *
  1964. ;******************************************************************************
  1965. .topic appLaunch
  1966. .title Application Launch
  1967. .keywords programming application launch
  1968. .list hdf
  1969.  
  1970. .par
  1971. Applications can be launched from the help database using application launch 
  1972. links, and application definitions.
  1973. .endpar
  1974.  
  1975. .par
  1976. An application has to be defined using the .APPLICATION statement that uses the
  1977. following syntax :
  1978. | .APPLICATION application-id 'application-activation-code'
  1979. Where application-id is the identifier to the application that will be used 
  1980. in application launch links, and the application-activation-code is the 
  1981. [optional] path to the application and the application executable. If 
  1982. parameters should be specified, the application-activation-code should be
  1983. surrounded by quotes, with a space separating the path to the application from
  1984. the parameters.
  1985. .endpar
  1986.  
  1987. .par
  1988. When you want to include an application launch in the topic text, the 
  1989. application-id should be used as the key of a link.
  1990. .endpar
  1991. e.g. ~~Press Here To Run XXX.EXE~~application-id~~
  1992.  
  1993.  
  1994. .par font 13 bold on
  1995. Related Topics :
  1996. .endpar
  1997. ~Technical Documentation~TechDoc~
  1998. ~.HDF Syntax~hdf~
  1999. ~Help Compiler~helpc~
  2000. ~Links~links~
  2001. .end-topic
  2002.  
  2003. ;******************************************************************************
  2004. ;                                 complexProj                                 *
  2005. ;******************************************************************************
  2006. .topic complexProj
  2007. .title Complex Projects (Multiple file target databases)
  2008. .keywords programming
  2009. .list hdf
  2010.  
  2011. .par
  2012. HELPC supports multiple file target databases, with the use of the following
  2013. HDF statements : .EXTLINK, and .EXPORT .
  2014. .endpar
  2015.  
  2016. .par
  2017. When a link that exists in an external database is needed, the .EXTLINK 
  2018. statement is used to define the properties and attributes of that link.
  2019. .endpar
  2020.  
  2021. .par
  2022. The most important property - is the database name, that defines which 
  2023. database should be called. Other attributes include the title, keywords,
  2024. numeric references and groups this external topic should be associated with.
  2025. .endpar
  2026.  
  2027. .par
  2028. If we have a "simple" complex project, with only 2 databases, and links 
  2029. between them, we might not find it difficult to define the "public" links
  2030. of database 1 in database 2, and vice versa, but - if the project involves
  2031. more databases, we might find it hard to create these public references to
  2032. all external database, in each database. We can, however, define .EXTLINK
  2033. statements of the public links of each database, in a separate file, and
  2034. use the .INCLUDE statement to include them, in the other statements.
  2035. .endpar
  2036.  
  2037. .par
  2038. HELPC can be used, with the /PP+ switch, to create these "reference" export
  2039. files, with the name of database.EXP when we use the following command :
  2040. .endpar
  2041. HELPC /PP+ database-name
  2042. .par
  2043. If we want a .EXTLINK statement to be created for a topic, we have to
  2044. add the .EXPORT attribute to the topic defintion. Amn alternative is to use
  2045. the /EA+ switch of the HELPC compiler, that exports all topics in the database,
  2046. in a PreProcess target compile (/PP+).
  2047. .endpar
  2048.  
  2049. The .EXTLINK statement has the following syntax :
  2050.  
  2051. | .EXTLINK database 'topic-identifier'
  2052. | [.TITLE topic-title]
  2053. | [.REFERENCE topic-numeric-reference]
  2054. | [.KEYWORDS keyword [keyword ..] ]
  2055. | [.GROUPS group [group ..] ]
  2056. | .END-EXTLINK
  2057.  
  2058. .par
  2059. Where database is the name of the external database that the link is in,
  2060. topic-identifier is the id of the link in the external database, title, 
  2061. keywords and groups have the same meaning as in the .TOPIC definition, and
  2062. the topc-numeric-reference is a numeric reference associated with the 
  2063. topic, in the external database, if this is needed.
  2064. .endpar
  2065.  
  2066. .par font 13 bold on
  2067. Related Topics :
  2068. .endpar
  2069. ~Technical Documentation~TechDoc~
  2070. ~.HDF Syntax~hdf~
  2071. ~Help Compiler~helpc~
  2072. .end-topic
  2073.  
  2074. ;******************************************************************************
  2075. ;                                  extendHDF                                  *
  2076. ;******************************************************************************
  2077. .topic extendingHDF
  2078. .title Extending HDF
  2079. .keywords programming userlink
  2080. .list hdf
  2081.  
  2082. .par
  2083. The HDF syntax can be extended by creating "User Defined Link Templates", 
  2084. with these templates special links can be created, that can be used to support
  2085. additional link types.
  2086. .endpar
  2087.  
  2088. In order to create a user link template, use the following statement :
  2089.  
  2090. | .USERLINK userlink-id template
  2091.  
  2092. .par
  2093. Where userlink-id is the name of the template, and template defines the way
  2094. the link will be translated.
  2095. .endpar
  2096.  
  2097. The template can include the following substitution characters :
  2098.  
  2099. %%              - Replace with a %
  2100. %t              - Replace with the text of the link
  2101. %k              - Replace with the key of the link
  2102. %1, %2, .. %5   - Replace with parameter #x
  2103. %o              - Replace with target (output) database name.
  2104. %c              - Replace with context-id (topic name) of current topic.
  2105. %g1, %g2, ..    - Replace with the graphic object whose id is in parameter x.
  2106. %s1, %s2, ..    - Replace with the sound object whose id is in parameter x.
  2107. %a1, %a2, ..    - Replace with the application object, whose id is in parm x.
  2108. %e1, %e2, ..    - Replace with the embedded object, whose name is in parm x. 
  2109.                   Notice, that only the file name and extention are returned,
  2110.                   while in the %gx, %sx and %ax, the entire path is returned.
  2111.  
  2112. User links can be used in the topic text with the following syntax :
  2113.  
  2114.    .. some text ~~link-text~~userlink-id(param1 param2 ..)~~ .. more text
  2115.  
  2116. .par
  2117. Use this command to extend the HDF syntax. You can even create special 
  2118. libraries to support video/animation etc.. from the help databases, with these
  2119. extentions.
  2120. .endpar
  2121.  
  2122. .par
  2123. e.g. - To create a link to a topic, with a graphic bitmap, we could define
  2124. the following User Link : (Example for winHelp/MMViewer)
  2125. .endpar
  2126.  
  2127. .ifndef rtfbased
  2128. | .userlink graphicJump '{\uldb \{bmc %g1\} %t}{\v %2}'
  2129. .else 
  2130. | .userlink graphicJump '{\uldb \{bmX %g1\} %t}{\v %2}'
  2131.  
  2132. Where X in  \{bmX is r, l or c
  2133. .endif
  2134.  
  2135. And assuming we defined a graphic object as 
  2136.  
  2137. | .graphic mypicture ronp.bmp
  2138.  
  2139. We could create a graphic links such as :
  2140.  
  2141.   Click ~~Ron Loewy~~graphicJump(mypicture ronTopic)~~ to know about the author.
  2142.  
  2143. In the target RTF this will be translated to :
  2144.  
  2145. .ifdef rtfBased
  2146.   Click {\uldb \{bmX ronp.bmp\} Ron Loewy}{\v ronTopic} to know about the author.
  2147. .else
  2148.   Click {\uldb \{bmc ronp.bmp\} Ron Loewy}{\v ronTopic} to know about the author.
  2149. .endif
  2150.  
  2151. .par font 13 bold on
  2152. Related Topics :
  2153. .endpar
  2154. ~Technical Documentation~TechDoc~
  2155. ~Links~links~
  2156. ~.HDF Syntax~hdf~
  2157. ~Help Compiler~helpc~
  2158. .end-topic
  2159.  
  2160. ;******************************************************************************
  2161. ;                                     tif                                     *
  2162. ;******************************************************************************
  2163. .entry tif
  2164. .title Topic Index Format
  2165. .keywords programming
  2166.  
  2167.   The topic index table format is as follows :
  2168.  
  2169.   TOPIC     - 40 characters string key - this is the topic "name".
  2170.   FILENAME  - 38 characters string field - includes the name of the
  2171.               help raw data file. (Notice - V1.0 ignores the value of this 
  2172.               field, it is here for future expansion).
  2173.   START     - longint (long) field that contains the offset from the data file
  2174.               start, to the start of the topics text data, in bytes.
  2175.   LEN       - longint (long) field that contains the length (in bytes) of the 
  2176.               text data of the topic.
  2177.   TITLE     - 70 characters string key - the title of the topic.
  2178.   TTYPE     - 1 character - topic type. Currently supported types are :
  2179.               'T' = Topic.
  2180.               'P' = Popup.
  2181.  
  2182. .par font 13 bold on
  2183. Related Topics :
  2184. .endpar
  2185. ~Technical Documentation~TechDoc~
  2186. ~Links Index Format~lif~
  2187. ~Keywords Index Format~kif~
  2188. ~Set File Format~sff~
  2189. .end-entry
  2190.  
  2191. ;******************************************************************************
  2192. ;                                     lif                                     *
  2193. ;******************************************************************************
  2194. .entry lif
  2195. .title Links Index Format
  2196. .keywords programming
  2197.  
  2198.   The links index table format is as follows :
  2199.  
  2200.   TOPIC     - 40 characters string key - the name of the topic that 
  2201.               has the link.
  2202.   SEQ       - integer (int) key - contains the sequential number of 
  2203.               the link in the topic. (This way you can assign the links
  2204.               order in the topic).
  2205.   LINK      - 40 characters string key - the name of the link topic to
  2206.               display if the link is chosen.
  2207.   LINE      - integer (int) field - the line (from the start of the topic) 
  2208.               this link is displayed on.
  2209.   COL       - integer (int) field - the column this link is displayed on.
  2210.   TXT       - 70 characters string field - the text to display on the line.
  2211.  
  2212. .par font 13 bold on
  2213. Related Topics :
  2214. .endpar
  2215. ~Technical Documentation~TechDoc~
  2216. ~Topic Index Format~tif~
  2217. ~Keywords Index Format~kif~
  2218. ~Set File Format~sff~
  2219. .end-entry
  2220.  
  2221. ;******************************************************************************
  2222. ;                                     sff                                     *
  2223. ;******************************************************************************
  2224. .entry sff
  2225. .title Set File Format
  2226. .keywords programming
  2227.  
  2228.   The set file is a text file that contains one entry in each line, using
  2229.  the following format :
  2230.  
  2231. help-database-engine
  2232. version-of-generating-compiler
  2233. topic-index-table name
  2234. links-index-table name
  2235. keywords-index-table name
  2236. help-raw-data-file name
  2237. number-of-topics
  2238. length-of-file
  2239. link-normal-color
  2240. link-high-color
  2241. text-normal-color
  2242.  
  2243. .par
  2244. The help-database-engine values available today are DEF=Paradox and 
  2245. MEM=memory Tables.
  2246. .endpar
  2247.  
  2248. .par font 13 bold on
  2249. Related Topics:
  2250. .endpar
  2251. ~Technical Documentation~TechDoc~
  2252. ~Topic Index Format~tif~
  2253. ~Links Index Format~lif~
  2254. ~Keywords Index Format~kif~
  2255. .end-entry
  2256.  
  2257. ;******************************************************************************
  2258. ;                                     kif                                     *
  2259. ;******************************************************************************
  2260. .topic kif
  2261. .title Keywords Index Format
  2262. .keywords programming
  2263.  
  2264.   The keywords index table format is as follows :
  2265.  
  2266.   KEYWORD   - 40 characters string key - the keyword.
  2267.   TOPIC     - 40 characters string key - the topic name that this keyword is 
  2268.               assigned to.
  2269.  
  2270.   Notice - the database will include a row for each keyword, that has the 
  2271.   TOPIC field blank. This is used to display the first list of keywords, that
  2272.   if chosen, will display the 2nd list of topics that have the chosen keyword
  2273.   in their .KEYWORDS definition.
  2274.  
  2275. .par font 13 bold on
  2276. Related Topics:
  2277. .endpar
  2278. ~Technical Documentation~TechDoc~
  2279. ~Topic Index Format~tif~
  2280. ~Links Index Format~lif~
  2281. ~Set File Format~sff~
  2282. .end-topic
  2283.  
  2284. ;******************************************************************************
  2285. ;                                otherProducts                                *
  2286. ;******************************************************************************
  2287. .topic otherProducts
  2288. .title Related Products
  2289. .keywords contact
  2290.  
  2291. The following products/packages provide additional HLPDK functionality :
  2292.  
  2293. 1. Name         : IL2HDK - Interrupt List (Ralf Brown) 2 HLPDK convert program. 
  2294.    Version      : 2.3
  2295.    Availability : IL2HDK22.ZIP.
  2296.    Status       : Free. 
  2297.    Author       : Ron Loewy.
  2298.  
  2299. 2. Name         : HPCHDK - HelpPC 2 HLPDK convert program.
  2300.    Version      : 1.0
  2301.    Availability : HPCHDK10.ZIP.
  2302.    Status       : Free.
  2303.    Author       : Yaniv Golan (s2942275@tech02.technion.ac.il)
  2304.  
  2305. 3. Name         : SCANHELP - Turbo Pascal Scanner to help.
  2306.    Version      : 3.13
  2307.    Availability : SCANH313.ZIP (Contact Author)
  2308.    Status       : Shareware.
  2309.    Author       : Duncan J. Murdoch (dmurdoch@mast.QueensU.CA)
  2310.  
  2311. 4. Name         : NG2HDK - Norton Guides 2 HLPDK convert program.
  2312.    Version      : 1.0
  2313.    Availability : NG2HDK10.ZIP
  2314.    Status       : Free.
  2315.    Author       : Ron Loewy.
  2316.  
  2317. 5. Name         : NEWSDB - usenet News Clips Hypertext generator.
  2318.    Version      : 1.0.
  2319.    Availability : NEWSDB10.ZIP
  2320.    Status       : Shareware.
  2321.    Author       : Ron Loewy.
  2322.  
  2323. 6. Name         : POPHDK - POPHELP 2 HLPDK convert program.
  2324.    Version      : 1.0
  2325.    Availability : POPHDK10.ZIP.
  2326.    Status       : Free.
  2327.    Author       : Yaniv Golan (s2942275@tech02.technion.ac.il)
  2328.  
  2329. 7. Name         : JARG2HDK - Jargon File to HLPDK convert program.
  2330.    Version      : 1.0
  2331.    Availability : ? (Contact Author)
  2332.    Status       : ?
  2333.    Author       : Slren Pingel Dalsgaard (pingel@daimi.aau.dk)
  2334.  
  2335. Currently under development : RTF2HDK, RC2HDK, HDKLIB and more ..
  2336.  
  2337. .end-topic
  2338.