Seite 1 von 1

Hilfesystem unter express++

Verfasst: Fr, 01. Jun 2012 20:01
von Manfred
Hi,

ich habe endlich den Weg gefunden ein Hilfesystem in mein Programm einzubauen. Die .chm Datei ist erzeugt und läßt sich auch aufrufen. Allerdings verstehe ich nicht ganz, ob und wie man unter express++ angeben kann auf welche ID gesprungen werden soll. Die Einbindung in DCGETOPTIONS über HELPFILE mit F1 als Aufruftaste klappt ja recht einfach, aber wie kann ich es kontextsensitiv machen? Oder geht das nicht? Mit HELPCODE scheint das ja wohl nicht zusammenzuhängen?

Re: Hilfesystem unter express++

Verfasst: Sa, 02. Jun 2012 8:21
von Wolfgang Ciriack
Hallo Manfred,
ich habe nur ein public object oXbpHelp und rufe dann im Programm die entsprechende html-Seite aus der chm-Datei auf. Ich denke aber, das meinst du nicht, oder ?

Code: Alles auswählen

oXbpHelp:=XbpHelp():New(, helppath+"\hilfe.chm", "Hilfe")
oXbpHelp:Create()

oXbpHelp:ShowHelp("Rechnungsausgang.htm")

Re: Hilfesystem unter express++

Verfasst: Sa, 02. Jun 2012 8:41
von Manfred
Hi Wolfgang,

der Weg ist schon so gedacht, aber wie geht das unter express++? Oder ist da nichts getrenntes vorgesehen?

Re: Hilfesystem unter express++

Verfasst: Sa, 02. Jun 2012 10:02
von Koverhage
Manfred,

ich mache das so:

DCHOTKEY xbeK_F1 ACTION { || my_help( dc_getactiveinfo( GetList ) ) } // F1

Code: Alles auswählen

*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
*+    Function MY_HELP()
*+
*+
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
function MY_HELP( aHilfefeld )

Local hilfecode := "contents"
if Valtype( aHilfefeld ) # 'A'
   return .f.
endif

if len( ahilfefeld ) < 4 .or. ;
   procname( 1 ) = "MY_HELP" .or. ;
   procname( 1 ) = "MEMOEDIT" .or. ;
   Valtype( aHilfefeld[1] ) # 'C'
   return .f.
endif

hilfecode := iif( rat(">",upper( ahilfefeld[ 1 ] )) > 0, substr( upper( ahilfefeld[ 1 ] ), rat( ">", upper( ahilfefeld[ 1 ] ) ) + 1 ), upper( ahilfefeld[ 1 ] ) )

if empty( hilfecode )
   hilfecode := "contents"
endif

HelpObject():showHelp("html\"+hilfecode+".htm")
//setAppFocus( oOldFocus )
return .t.
//


Re: Hilfesystem unter express++

Verfasst: Sa, 02. Jun 2012 10:16
von Manfred
OK,

andersherum gefragt:

Code: Alles auswählen

DCGETOPTIONS;
         HELPFILE "hilfedatei.chm";
sorgt doch zunächst einmal dafür, dass über die F1 Taste die Hilfedatei geöffnet wird. So weit, so gut. Wie bekomme ich aber dem System untergejubelt, dass es auch irgendwann einmal zur entsprechenden ID springt? Ich dachte erst, dass könnte ich mit HELPCODE machen, das hat aber nicht geklappt.