1. James Medick
  2. PowerBuilder
  3. Thursday, 30 January 2020 17:32 PM UTC

I would like to create and display a simple help screen (window) for each window in my application, e.g., press F1 and display the appropriate help window for the application current window. 

Is there a preferred method for this?  Or is it simply to create a word doc file (RTF?) to hold the instructions and retrieve it for display when F1? 

How do you provide the link (help menu script that opens a window?) 

Where should the files be stored (text files in a doc directory?). 

I only need the basics, just display a word doc simply formatted, no hyper links.  Thisis for a desk top application.

Thanks Much

James Medick Accepted Answer Pending Moderation
  1. Friday, 31 January 2020 20:26 PM UTC
  2. PowerBuilder
  3. # 1

Extremely helpful, thanks so much,

Comment
There are no comments made yet.
James Medick Accepted Answer Pending Moderation
  1. Friday, 31 January 2020 15:37 PM UTC
  2. PowerBuilder
  3. # 2

Is there a preferred CHM file generator for PowerBuilder?

Comment
  1. Michael Kramer
  2. Friday, 31 January 2020 16:21 PM UTC
No specific preference. Here is list.

Tools list: http://www.create-chm.com/chm-creation-tools/

The MS tool is free albeit limited feature set.
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 30 January 2020 21:36 PM UTC
  2. PowerBuilder
  3. # 3

Hi James;

  Along with the RTF approach in your original post, I have implemented ...

1) RTE using "targeted" RTF files

2) Word document => PDF and then call that

3) Michael's ShowHelp ( ) approach

4) HTML files

Note: For #2 and #4, I store these files on a Web Server and then use, for example ...

String    ls_help
String  ls_language        
ns_internet_master lo_inet
lo_inet = CREATE ns_internet_master
ls_help = THIS.of_get_appl_url ( )
ls_help += "Help/"
ls_help += THIS.of_get_appl_help_file ( )
ls_language = "_" + THIS.of_get_language ( )
ls_help = fn_replace_all (ls_help, "_x", ls_language )
ii_rc =    lo_inet.hyperlinktourl ( ls_help )
Destroy lo_inet
 

Note1:  In the above code that I am using "ns_internet_master" which is a descendant of the iNet class.

Note2:  The Help files are always located in the App's URL on the web server in a "Help" sub-folder

Note3:  The help file name is always "<AppHelpName>" plus "_" plus a language identifier which makes the help files multi-lingual (HTML or PDF)

Note4: The "hyperlinktourl" methods does all the "heavy lifting" and opens the user's default browser to display.

Tip: In PB2019R2, you will now have a new Web Browser control. You could replace the "hyperlinktourl" with just placing the qualified URL into the new Web Browser control directly. Food for thought.

HTH

Regards ... Chris

Comment
There are no comments made yet.
Michael Kramer Accepted Answer Pending Moderation
  1. Thursday, 30 January 2020 18:02 PM UTC
  2. PowerBuilder
  3. # 4

PowerBuilder has system function to display help files.

// Code examples
ShowHelp( "myapp.chm", Index!)
ShowHelp( "myapp.chm", Keyword!, "Camera")
ShowHelp( "myapp.chm", Topic!, 1234)

See PowerBuilder's help on ShowHelp for more info.

NOTE: With Windows 10 you must use .CHM files instead of .HLP.

HTH /Michael

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.