welches Hilfesystem im Programm
Moderator: Moderatoren
welches Hilfesystem im Programm
Hi,
welches Hilfesystem setzt ihr zu einem Eingabefeld ein?
Gruß
Alfred
welches Hilfesystem setzt ihr zu einem Eingabefeld ein?
Gruß
Alfred
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hallo Alfred,
Hubert hatte eine m.E. einfache, aber recht gute Idee. Ein StaticText an einem unteren Rand, oder wo auch immer, der die Erklärung zu dem jeweiligen Eingabefeld anzeigt. Ist recht einfach umzusetzen. Wenn es das war, was Du meintest.
Hubert hatte eine m.E. einfache, aber recht gute Idee. Ein StaticText an einem unteren Rand, oder wo auch immer, der die Erklärung zu dem jeweiligen Eingabefeld anzeigt. Ist recht einfach umzusetzen. Wenn es das war, was Du meintest.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Hallo Manfred,
vielen Dank für den Tipp.
Mein erstes Projekt ist eine Programm(Basis 1.90.331 u. express 1.90.245)
zum Erfassen von Buchungssätzen nach meinen persönlichen Vor-
stellungen. Der erste Einsatz war schon ganz gut. Nun kommen natürlich
die Wünsche. Einer davon ist folgender:
Bei einem Mandanten habe ich drei Buchungskreise. Die ersten beiden
enthalten Buchungen, bei denen kenne ich die meisten Gegenkonten aus-
wendig. Nur bei den wenigen die ich nicht im Kopf habe schaue ich in
meinem Intranet(HTML-Basis) nach und das hält auf, da ich z.B.
Telecash mit Steuer 904972
Telecah ohne Steuer 4971
aus 70 Einträgen heraussuchen muß. Pro Buchungskreis kenne ich
zwischen 5 und 10 Stück nicht. Also F1 mit mehrzeiliger msgbox()
würde schon reichen. Bei DC_Help verstehe ich leider noch nicht
die Zusammenhänge.
Beim 3. Buchungskreis da benötige ich die 70 Einträge. Da habe ich
mir eine Tabpage(express++) mit einem browse vorgestellt. Wenn
ich meine html-Seite darin anzeigen könnte wäre natürlich auch nicht
schlecht.
Gruß
Alfred
vielen Dank für den Tipp.
Mein erstes Projekt ist eine Programm(Basis 1.90.331 u. express 1.90.245)
zum Erfassen von Buchungssätzen nach meinen persönlichen Vor-
stellungen. Der erste Einsatz war schon ganz gut. Nun kommen natürlich
die Wünsche. Einer davon ist folgender:
Bei einem Mandanten habe ich drei Buchungskreise. Die ersten beiden
enthalten Buchungen, bei denen kenne ich die meisten Gegenkonten aus-
wendig. Nur bei den wenigen die ich nicht im Kopf habe schaue ich in
meinem Intranet(HTML-Basis) nach und das hält auf, da ich z.B.
Telecash mit Steuer 904972
Telecah ohne Steuer 4971
aus 70 Einträgen heraussuchen muß. Pro Buchungskreis kenne ich
zwischen 5 und 10 Stück nicht. Also F1 mit mehrzeiliger msgbox()
würde schon reichen. Bei DC_Help verstehe ich leider noch nicht
die Zusammenhänge.
Beim 3. Buchungskreis da benötige ich die 70 Einträge. Da habe ich
mir eine Tabpage(express++) mit einem browse vorgestellt. Wenn
ich meine html-Seite darin anzeigen könnte wäre natürlich auch nicht
schlecht.
Gruß
Alfred
- brandelh
- Foren-Moderator
- Beiträge: 15706
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Hallo,
eXpress bietet doch Tooltips an.
Ich habe übrigens kein StaticText sondern entweder ein SLE (kleine Tooltipps) oder aber en MLE im Einsatz. Du kannst z.B. beim Fenster
bei jedem SLE einen Fixen Text laden oder wie hier in eine flexiblere Funktion wechseln. In dieser Funktion könntest du entweder eine
DBF abfragen oder den Text per Hand erfasst haben:
Aus dem MLE kann man mit Cut und Paste auch die Vorgabetexte übernehmen.
Eine HTML Hilfe ist zwar kein Hexenwerk und machbar, aber sehr unflexibel ! In der Funktion kannst du externe Daten laden und einbauen.
eXpress bietet doch Tooltips an.
Ich habe übrigens kein StaticText sondern entweder ein SLE (kleine Tooltipps) oder aber en MLE im Einsatz. Du kannst z.B. beim Fenster
Code: Alles auswählen
...
oEingabeSle:setInputFocus := { |n1,n2,oXbp| SetzeHilfeText(oHelp, "oEingabeSle") }
...
oHelp := XbpMLE()....
oHelp:editable := .f.
...
DBF abfragen oder den Text per Hand erfasst haben:
Code: Alles auswählen
function SetzeHilfeText( oHelp, cFeld )
do case
case cFeld == "oEingabeSle" // exacte Übereinstimmung ! Upper ?
oHelp:setData("Hilfefenster ....")
endcase
return nil
Eine HTML Hilfe ist zwar kein Hexenwerk und machbar, aber sehr unflexibel ! In der Funktion kannst du externe Daten laden und einbauen.
Gruß
Hubert
Hubert
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 103 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Wir machen das so:
DCHOTKEY xbeK_F1 ACTION { || my_help( dc_getactiveinfo( GetList ) ) } // F1
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
*+ Function MY_HELP()
*+
*+
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
function MY_HELP( aHilfefeld )
local lOk := .t., GetList := {}, k_i := 0, i := 0, 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.
DCHOTKEY xbeK_F1 ACTION { || my_help( dc_getactiveinfo( GetList ) ) } // F1
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
*+ Function MY_HELP()
*+
*+
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
function MY_HELP( aHilfefeld )
local lOk := .t., GetList := {}, k_i := 0, i := 0, 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.
Hallo Koverhage,
wollte deinen Vorschlag ausprobieren und habe natürlich mal wieder
ein Problem und habe deinen Vorschlag zunächst auf:
DCHOTKEY xbeK_F1 Action {||msgbox("Hallo")}
reduzuiert.
Der selbe Code in einem anderen Testprogramm läuft einwandfrei.
Was kann denn den DCHOTKEY blockieren?
Gruß
Alfred
wollte deinen Vorschlag ausprobieren und habe natürlich mal wieder
ein Problem und habe deinen Vorschlag zunächst auf:
DCHOTKEY xbeK_F1 Action {||msgbox("Hallo")}
reduzuiert.
Der selbe Code in einem anderen Testprogramm läuft einwandfrei.
Was kann denn den DCHOTKEY blockieren?
Gruß
Alfred
Hallo Koverhage,
DCHOTKEY geht nun. Ursache vermutlich zu viele Testabstürze.
verstehe ich leider noch nicht. Wo kommt denn das HelpObject() her?
Habe anstelle von dieser Zeile
eingefügt und alles läuft zu meiner vollsten Zufriedenheit.
Vielen Dank für den Beipielcode.
Gruß
Alfred
DCHOTKEY geht nun. Ursache vermutlich zu viele Testabstürze.
Code: Alles auswählen
HelpObject():showHelp("html\"+hilfecode+".htm")
Habe anstelle von dieser Zeile
Code: Alles auswählen
do case
case Alltrim(helpcode) == "KONTO"
DCMSGBOX("Voba 1220")
otherwise
endcase
Vielen Dank für den Beipielcode.
Gruß
Alfred
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 103 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Alfred,
das freut mich zu hören.
Hier erstmal der Rest vom Code.
local oHelp := XbpHelpLabel():new():create()
oHelp:HelpObject:=HelpObject("hkabrwin.chm","Online Hilfe zu HKABR-Win")
oCrt:helplink := oHelp
Wenn Du weitere Hiilfen in Deine Programme einbauen willst, wird es meines Erachtens schnellunübersichtlich und schlecht zu pflegen wenn diese im PRG direkt stehen.
Klaus
das freut mich zu hören.
Hier erstmal der Rest vom Code.
local oHelp := XbpHelpLabel():new():create()
oHelp:HelpObject:=HelpObject("hkabrwin.chm","Online Hilfe zu HKABR-Win")
oCrt:helplink := oHelp
Wenn Du weitere Hiilfen in Deine Programme einbauen willst, wird es meines Erachtens schnellunübersichtlich und schlecht zu pflegen wenn diese im PRG direkt stehen.
Klaus
- brandelh
- Foren-Moderator
- Beiträge: 15706
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Ganz deiner Meinung. Ich verwende für meine MLE-Hilfetexte (diese werden sofort ohne F1 angezeigt und enthalten die wichtigsten Infos.) in einer DBF (Memofeld) ausgelagert, die jederzeit auch von priviligierten Anwendern geändert werden kann. Sonst käme ich mit dem Austausch der EXE ja nicht mehr nach .Koverhage hat geschrieben:Wenn Du weitere Hiilfen in Deine Programme einbauen willst, wird es meines Erachtens schnellunübersichtlich und schlecht zu pflegen wenn diese im PRG direkt stehen.
Für die allgemeine Programmhilfe sind die richtigen HTML Hilfen von dir natürlich wesentlich professioneller.
Gruß
Hubert
Hubert
Hallo Klaus,
habe oCrt durch SetAppWindow() ersetzt und noch die Funktion
HelpObject() aus dem XbpHelpLabel()-Beispiel eingefügt und die Hilfe ist
absolut perfekt.
Im Hauptprogramm steht nur noch der DCHOTKEY für F1 . Den Rest habe
ich in eine eigene ALFHilfe.prg ausgelagert und die Anzeige in Abhängigkeit
vom Buchungskonto gemacht.
Um Huberts Ansatz zu realisieren würde mich interessieren, ob man
statt dem DC_MSGBOX() oder HelpObject() ein Window aufrufen könnte,
in dem man einen browse einer dbf anzeigt, ohne mit dem DCREAD GUI
in Konflikt zu geraten?
Gruß
Alfred
habe oCrt durch SetAppWindow() ersetzt und noch die Funktion
HelpObject() aus dem XbpHelpLabel()-Beispiel eingefügt und die Hilfe ist
absolut perfekt.
Im Hauptprogramm steht nur noch der DCHOTKEY für F1 . Den Rest habe
ich in eine eigene ALFHilfe.prg ausgelagert und die Anzeige in Abhängigkeit
vom Buchungskonto gemacht.
Um Huberts Ansatz zu realisieren würde mich interessieren, ob man
statt dem DC_MSGBOX() oder HelpObject() ein Window aufrufen könnte,
in dem man einen browse einer dbf anzeigt, ohne mit dem DCREAD GUI
in Konflikt zu geraten?
Gruß
Alfred