| Autor |
Beitrag |
Fabian
      
Beiträge: 42
|
Verfasst: So 03.11.02 20:30
Hallo
Hat jemand eine Idee wie Ich eine Hilfe für mein Programm erstellen kann. Kennt jemand ein Tutorial zu diesem Thema ? Moderiert von Tino: Topic aus Sonstiges verschoben am Di 07.09.2004 um 10:47
|
|
DelphiMan
      
Beiträge: 73
|
Verfasst: So 03.11.02 21:28
Titel: Hier ein Tutorial...
Hallo Fabian,
eine Hilfe für ein fertiges Programm ist immer gut und gar nicht mal so schwierig zu bewerkstelligen - das neue Hilfeformat, welches ich wärmstens empfehle, ist mind. genausogut und v.a. einfacher.
Es gibt zwei Arten von Standard-Windowshilfen: die alten .hlp Hilfen und die neuen .chm Hilfen (HTML Hilfe). Bei der modernen Hilfe musst du "lediglich" deine komplette Hilfe in HTML schreiben, für jedes Kapitel eine neue HTML-Seite. Hast du alles zusammen, kannst du mit Hilfe des HTML Help Workshop alle HTML-Seiten zu einer CHM File zusammenmergen - und fertig ist deine Hilfe.
Das eigentliche Problem ist allerdings die Einbindung in Delphi. Da Delphi (jedenfalls bis Delphi 6 prof.) dieses neuartige Hilfeformat nicht unterstützt, muss man sehen wie man zurechtkommt. Ich kann dir aber vorab sagen, dass es bereits tolle Units gibt, die genau hierfür gedacht sind und auch einwandfrei funktionieren (inkl. Kontextsensitivität)!!
Lange Rede, kurzer Sinn - hier ein Tutorial, welches ich u.a. auch mal gelesen habe:
www.tutorials.delphi-source.de/htmlhelp/
Vorab kann ich dir allerdings sagen, dass die Kapitel "Seiten-ID" sowie "HilfeKontext" nicht nötig, wenn nicht sogar überflüssig sind. Es geht viel leichter ohne IDs. Man kann alle HTML-Seiten in einer CHM Hilfe auch einfach mit ihrem Namen ansprechen.
So jetzt wünsch ich dir viel Spaß beim Hilfeschrei(b)en!
MfG
DelphiMan
|
|
patmann2001
      
Beiträge: 201
Windows 7 Prof.
Delphi XE2
|
Verfasst: Mo 04.11.02 10:11
Hi
Ich verwende noch das "alte" Hilfeformat. Die erstellung ist zwar ein bisschen Komplizierter ABER Delphi kann die einzelnen Seiten der Hilfe gleich ansprechen, wenn man die Hilfe durchmapt.
Schau mal hier nach. Mit dieser Hilfe kannst Du es bestimmt auch schaffen, bei mir hat sie jedenfalls geholfen.
Einen Downloadlink für [url=Philippiftp://ftp.microsoft.com/Softlib/MSLFiles/hcwsetup.exe] Microsoft Help Workshop 4.0 [/url] gebe ich Dir hier auch. Dann bauchst Du noch eine Textverarbeitung wie MSWord. Dann klappt es.
Viel Spaß
cu Patmann
P.S. Ich finde die Hilfen im "alten" Format SCHÖNER 
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 04.11.02 11:13
| patmann2001 hat folgendes geschrieben: | | Einen Downloadlink für Microsoft Help Workshop 4.0 gebe ich Dir hier auch |
Wozu? Der ist doch bei Delphi dabei?
| Zitat: | | Dann bauchst Du noch eine Textverarbeitung wie MSWord. |
Hm, na sagen wir: eine Textverarbeitung, die das RTF-Format unterstützt. Wie MS-Word muss die also nicht sein ...
< ----- schnibbel ----->
| DelphMan hat folgendes geschrieben: | | Das eigentliche Problem ist allerdings die Einbindung in Delphi. |
Nee, ist es nicht. Weil:
| Zitat: | | Ich kann dir aber vorab sagen, dass es bereits tolle Units gibt, die genau hierfür gedacht sind und auch einwandfrei funktionieren (inkl. Kontextsensitivität)!! |
Paradoxon enttarnt!  Wenn es so tolle Units gibt (btw: JEDI), dann gibt´s doch auch kein Problem ...
| Zitat: | | Da Delphi (jedenfalls bis Delphi 6 prof.) dieses neuartige Hilfeformat nicht unterstützt, muss man sehen wie man zurechtkommt. |
Wahrscheinlich kann´s Delphi 7 auch noch nicht ... Borland, schäme dich! Im nächsten Jahr will Microsoft die neue Help 2.0 unter das Volk bringen. Da müssen wir wohl bis Delphi v15 warten, bis Borland das merkt ... 
|
|
FriFra
      
Beiträge: 557
Win XP Prof, Win XP Home,Win Server 2003,Win 98SE,Win 2000,Win NT4,Win 3.11,Suse Linux 7.3 Prof,Suse Linux 8.0 Prof
D2k5 Prof, D7 Prof, D5 Standard, D3 Prof, K3 Prof
|
Verfasst: Mo 04.11.02 11:52
Ich wollte auch mal die neuen Hilfedateien verwenden, allerdings ist der html-helpworkshop nicht in der Lage meine hpj-Projekte zu konvertieren (Topics sind im rtf-file über Fussnoten angelegt)!
Und ich habe keine Lust/Zeit alles neu zu erstellen. Kennt vielleicht jemand ein Tool, welches die Konvertierung beherrscht?
|
|
Popov
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 04.11.02 13:16
| MathiasSimmack hat folgendes geschrieben: | Hm, na sagen wir: eine Textverarbeitung, die das RTF-Format unterstützt. Wie MS-Word muss die also nicht sein ...  |
So einfach ist es nicht. Es sollte schon eine Textverarbeitung sein die RTF-Format, benutzerdefinierte Fußnoten und 'Absätze nicht trennen' unterstützt.
Ansonsten gebe ich dir recht, daß es nicht MS Word sein muß.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 04.11.02 13:31
| FriFra hat folgendes geschrieben: | | allerdings ist der html-helpworkshop nicht in der Lage meine hpj-Projekte zu konvertieren (Topics sind im rtf-file über Fussnoten angelegt) |
In der Lage schon, nur ist das Ergebnis Sch... Beim Konvertieren gehen nicht nur Popups u.ä. verloren (der HHW macht aus Popups neue Seiten), auch das Finden von Themen wird durch die willkürliche Wahl der Dateinamen erschwert. Dass es das <title>-Tag gibt, scheint Microsoft damals auch noch nicht gewusst zu haben - sonst hätte man die Dateien wenigstens im HHW anhand des Titels identifizieren können.
| Zitat: | | Kennt vielleicht jemand ein Tool, welches die Konvertierung beherrscht? |
Leiner kenne ich keins. Sorry. Aber ich schreibe -wenn überhaupt- ja sowieso bloß noch für´s HTML-Help-Format bzw. Help 2.0.
| Popov hat folgendes geschrieben: | | Es sollte schon eine Textverarbeitung sein die RTF-Format, benutzerdefinierte Fußnoten und 'Absätze nicht trennen' unterstützt. |
OpenOffice sollte das können. Aber ich gebe zu, ich hab´s noch nicht getestet, und damals zum Schreiben von HLPs habe ich ja auch Word genommen. 
|
|
FriFra
      
Beiträge: 557
Win XP Prof, Win XP Home,Win Server 2003,Win 98SE,Win 2000,Win NT4,Win 3.11,Suse Linux 7.3 Prof,Suse Linux 8.0 Prof
D2k5 Prof, D7 Prof, D5 Standard, D3 Prof, K3 Prof
|
Verfasst: Mo 04.11.02 13:35
| MathiasSimmack hat folgendes geschrieben: | | In der Lage schon |
Nichtmal das! Bei mit wird nur eine "leere" Hilfedatei erzeugt, da der Helpworkshop wohl nicht mit den Fussnoten klarkommt...
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 04.11.02 13:43
Das kann ich -ehrlich gesagt!- nicht nachvollziehen. Ich habe einige Projekte konvertiert, und es klappte immer. Nur, wie gesagt: die Nacharbeit hat mich am Ende mehr Zeit gekostet; also habe ich die HTML-Hilfe (wenn´s sein musste) gleich komplett neu gestaltet und die Texte bloß übernommen.
Vielleicht liegt´s an den Fußnoten, die du verwendest hast?
Am HHW liegt´s bestimmt nicht, da ich ja auch keinen anderen verwende als den, den Microsoft freigegeben hat.
|
|
FriFra
      
Beiträge: 557
Win XP Prof, Win XP Home,Win Server 2003,Win 98SE,Win 2000,Win NT4,Win 3.11,Suse Linux 7.3 Prof,Suse Linux 8.0 Prof
D2k5 Prof, D7 Prof, D5 Standard, D3 Prof, K3 Prof
|
Verfasst: Mo 04.11.02 14:58
Es liegt definitiv am HHW, da meine Projekte im alten Helpworkshop ohne Fehler bzw. Warnungen sauber compiliert werden können!
|
|
DelphiMan
      
Beiträge: 73
|
Verfasst: Mo 04.11.02 16:10
Titel: Und ist es doch...
| MatthiasSimmack hat folgendes geschrieben: | | Nee, ist es nicht. |
Die Units muss man schließlich erstmal finden...
So gesehen, ist die Einbindung der CHM-Hilfe in Delphi tatsächlich das einzige Problem was es (programmiertechnisch) zu lösen gilt. HTML Seiten entwerfen kann mittlerweile jeder und wenn es mit MSWord gemacht wird. Die vorhandenen Units sind lediglich Resultat der Lösung des Problems.
MfG
DelphiMan
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 04.11.02 19:06
Titel: Re: Und ist es doch...
| DelphiMan hat folgendes geschrieben: | | So gesehen, ist die Einbindung der CHM-Hilfe in Delphi tatsächlich das einzige Problem. |
Ich sehe da immer noch kein Problem.  Nur einen Unterschied! Im Gegensatz zu den in Delphi vorhandenen Units usw., musst du für die HTML-Hilfe auf die Arbeit anderer zurückgreifen.
| Zitat: | | Die vorhandenen Units sind lediglich Resultat der Lösung des Problems. |
Die JEDI-Units sind bspw. nur Umsetzung der Html-Help-API und basieren auf der Vorlage von Microsoft. Zu finden, wenn du den HHW installierst. Da gibt´s die passenden Header-Dateien dazu.
Die Units "Windows.pas", "CommCtrl.pas" usw. stammen z.B. direkt von Borland, sind aber auch nur (Fast-)Umsetzungen der jeweiligen Headerdateien von Microsoft. (Mit einigen kleinen Änderungen usw.) Welche Delphi-Version war in den Jahren ab ´98 aktuell? D2, D3 oder D4?
Theoretisch hätte Borland schon seit diesem Zeitpunkt die CHMs unterstützen können. Na, egal.
|
|
Sti
Hält's aus hier
Beiträge: 3
|
Verfasst: Fr 03.09.04 18:24
Titel: Problem!!!
Ich möchte eine Online Hilfe zu meinem Programm schreiben und habe mich auch für den HTML Helpshop entschieden. Damit komme ich super klar und habe schon eine kleine Probehilfe geschrieben.
Nur mit der Einbindung in Delphi komme ich nicht zurecht. Ich war auf der viel umschwärmten Seite, habe die Downloads gemacht und mich eingelesen, aber über "Context" funktionierts gar nicht und über Keywords kann ich meine .chm Datei wenigstens öffnen, aber genau die Seite die er anzeigen soll, kann nicht angezeigt werden...
Was mache ich nur falsch? Weiß jemand Rat???
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 03.09.04 22:11
Titel: Re: Problem!!!
| Sti hat folgendes geschrieben: | | Ich war auf der viel umschwärmten Seite, [...] |
Auf welcher? Sonst kann man dies:
| Zitat: | [...] habe die Downloads gemacht und mich eingelesen, aber über "Context" funktionierts gar nicht und über Keywords kann ich meine .chm Datei wenigstens öffnen, aber genau die Seite die er anzeigen soll, kann nicht angezeigt werden...
Was mache ich nur falsch? Weiß jemand Rat??? |
nicht zweifelsfrei beantworten.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 03.09.04 23:28
Du musst die KontextID von Hand zu weisen. Die Eigenschaft im OI funktioniert wohl nur hlp-Dateien:
Delphi-Quelltext 1:
| SetWindowContextHelpId(Memo1.Handle, 1000); |
In meinen "Win32API Tutorials für Delphi" ist noch das Vorgehen für nonVCL Programme drin. Auf der Seite von Mathias habe ich leider das ausführliche Tutorial für chm Hilfen nicht mehr gefunden.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 05.09.04 08:38
Die Kontext-ID kann man auch für CHMs im Objektinspektor setzen. Man muss nur das "OnHelp"-Ereignis abfangen und die alten Befehle auf die neuen HtmlHelp-Sachen umlenken. Irgendwo habe ich noch das alte VCL-Sample liegen (quasi das 1:1-Gegenstück des nonVCL-Samples), da stehen die Werte ja auch im OI.
Es gab bloß ab Delphi 6 irgendwelche Probleme, weil Borland an diesem Ereignissystem etwas verändert hat. Aber auf [url] www.helpware.net[/url] gibt´s einen D6/D7-Fix, der das korrigiert.
Und das ausführliche Tutorial über Hilfedateien (uncut) ist Teil der HxS-Version. Aber auch da fehlen die VCL-Verweise.
| Zitat: | Hinweis zur VCL
Ich habe mich entschlossen, nicht mehr auf die VCL einzugehen. Das liegt daran, dass ich guten Gewissens mein Okay nur für Delphi 5 geben kann, mit dem ursprünglich auch die VCL-Beispiele entstanden. Allerdings weiß ich bereits seit einiger Zeit, dass es bei Delphi 6 und 7 Probleme im Umgang mit CHM-Dateien gibt. Ein Beitrag in Michaels Supportforum geht näher darauf ein.
Dass aber bspw. Delphi 7 Probleme bei der Anzeige normaler HLP-Hilfedateien hat, war mir neu und ist insofern enttäuschend, weil die VCL-Samples dadurch nicht mehr wie gewünscht und gewollt funktionieren. |
|
|
Sti
Hält's aus hier
Beiträge: 3
|
Verfasst: Fr 10.09.04 19:47
Hallo nochmal!
Ich habe folgsende Files runtergeladen: das zip-File Delphikit mit dem Inhalt hh.pas, hh_funcs.pas und hh_doc.txt, sowie das zip-File D6OnHelpFix mit dem Inhalt Compilers_.inc, D6OnHelpFix.pas und Readme.txt
Die .pas Dateien und die .inc Datei kopierte ich in das Source Verzeichnis für die Units.
Dann bin ich nach diesem Tutorial vorgegengen:
www.delphi-source.de/tutorials/htmlhelp/
Darin findet man aber nur eine Beschreibung für die Einbindung der .chm über HelpContext, nicht über HelpKeyword.
Und auch in der Unit hh_funcs wird in der Funktion HelpHook der Klasse THookHelpSystem nur Help_Context, Help_SetPopup_Pos und Help_ContextPopup unterstützt.
Wenn man die .chm mit HelpContext einbindet muss man eine .ali und eine.h Datei erstellen. Das ist bei einer großen Hilfe viel Arbeit.
Wie kann man die .chm also über HelpKeyword einbinden? Ich vermute, dass man diese 2 Dateien nicht braucht.
|
|
Michael Stenzel
      
Beiträge: 133
D3 Prof, D7 PE
|
Verfasst: Sa 11.09.04 01:09
Hi Fabian!
Lade Dir mal diesen Help Writer runter(Englisch aber kostenlos mit Deutscher Hilfe)
www.danish-shareware...ft/shelpm/index.html
Mit dem Programm kanst Du eine komplette Hilfe erstellen und warten.
mfg
Michael.
|
|
JustDuIt
Hält's aus hier
Beiträge: 9
|
Verfasst: Fr 18.03.05 15:00
Hallo,
ich habe eine Frage zu dem Thema.
Es geht um dass HTML-Hilfe Tutorial.
www.tutorials.delphi-source.de/htmlhelp/
auf Seite 8 wird das Einbinden von Seiten-IDs beschrieben.
Wenn ich beim Alias-Register die *.ali Datei einfügen möchte, geht das leider nicht, da nur *.h files akzeptiert werden.
Kenn sich jmd. mit der Benutzung von Seiten-IDs aus und kann mir helfen.
Danke - joerg
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 18.03.05 19:13
Du kannst den Namen der Datei direkt angeben. Wird anstandslos akzeptiert, trotz ".ali"-Endung. Windows XP zeigt während des Tippens sogar die passenden Dateinamen an (u.a. auch die ".ali"-Datei), so dass du sie auch so auswählen könntest. Und zu guter Letzt: Du hängst die Endung ".h" einfach noch dran, damit du sie nicht mit deiner anderen Headerdatei verwechselst:
Quelltext
Ich bitte dich,  , ein bisschen Nachdenken hat noch keinem geschadet.
Aber vllt. könnte Martin das ja als zusätzlichen Tipp ins Tutorial schreiben. 
|
|