AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Positionsmarken in .rtf Files

Ein Thema von Amateurprofi · begonnen am 4. Jun 2022 · letzter Beitrag vom 13. Sep 2022
Antwort Antwort
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.062 Beiträge
 
Delphi XE2 Professional
 
#1

Positionsmarken in .rtf Files

  Alt 4. Jun 2022, 17:28
Zur Erstellung von Help Files (.hlp) benutze ich seit vielen Jahren Microsoft Help Workshop.
Basis für den Help Compiler ist jeweils eine .rtf Datei.
Die .rtf Datei ist in mehrere, oft hunderte, Kapitel unterteilt.
Den Überschriften der Kapitel ist jeweils eine Fußnote oder Endnote zugewiesen.

Zum Beispiel sieht ein Kapitel (nicht vollständig) so aus:
#$kHilfe Menu im Hauptfenster // Topic-Id = miHelpMain
Mit den Einträgen dieses Menus kann die Hilfe zum Programm angezeigt werden.
Hilfe InhaltmiHelpContentMain // Die Topic-Id "miHelpContentMain" ist als "Verborgen" formatiert.

#$kHilfe Inhalt Eintrag im "Hilfe" Menu // Topic-Id = miHelpContentMain
Zeigt die Startseite der Hilfe.
Mit der F1-Taste kann eine kontextbezogene Hilfe gezeigt werden.
Es wird versucht die Hilfe zu dem Objekt zu zeigen, auf das der Mauszeiger zeigt.
Die kontextbezogene Hilfe ist sowohl im Hauptfenster wie auch in allen anderen Fenstern des Programms verfügbar.

Vor der Zuweisung von Fuß-/ Endnoten sahen die Kapitelüberschriften so aus:
miHelpMainHilfe Menu im Hauptfenster
miHelpContentHilfe Inhalt Eintrag im "Hilfe" Menu

Die Fuß-/Endnoten wurden so zugewiesen
Eingabecaret hinter "miHelpMain" stellen und Shift-Ctrl-J drücken
Shift-Ctrl-J ist dem Macro "Help_YMakeJumpToHeader()" zugewiesen

Eingabecaret hinter "miHelpMain" stellen und Shift-Ctrl-S drücken
Shift-Ctrl-S ist dem Macro "Help_YMakeShowHeader()" zugewiesen

Wie ich (in der .rtf Datei) von einem Link zum Text springen kann, habe ich gelöst.
EingabeCaret in den Text "Hilfe Inhalt" stellen und Alt-G drücken.
Alt-G ist dem Macro "GotoTopic()" zugewiesen.

Was ich noch machen möchte ist, wie z.B. in Delphi, mit Shift-Ctlr-1 bis 9 Positionsmarken zuweisen.
Meine Vorstellung ist, dass ich das Eingabecaret in eine Kapitelüberschrift stelle und mit Shift-Ctrl-1 die zugehörige Topic-Id in einem Array(9) of String speichere, um später mit einer anderen Tastenkombination die Topic-Id aus dem Array zu lesen und zur entsprechenden Textstelle zu springen.

Woran es scheitert:
Ich habe bisher nicht herausgefunden, wie ich, herausfinden kann, welche Topic-Id einer bestimmten Kapitelüberschrift zugewiesen ist.
Kann mir da jemand helfen? Achtung: Word 2010
Die von mir benutzten Macros sind in der Datei Help.dot (Im Anhang als Help.zip)

Die Idealvorstellung ist natürlich eine "Positionsmarke" für eine beliebige Stelle im Text zu erstellen um später zu dieser Textstelle zu springen.
Angehängte Dateien
Dateityp: zip Help.zip (48,5 KB, 8x aufgerufen)
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.062 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Positionsmarken in .rtf Files

  Alt 9. Jun 2022, 21:26
Keiner 'ne Idee?
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Steku

Registriert seit: 12. Mai 2008
184 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: Positionsmarken in .rtf Files

  Alt 9. Jun 2022, 22:11
Hallo Klaus,

kommst du evtl. weiter wenn du dir einen anderen Hilfegenerator anschaust?
Die meisten können aus RTF/CHM importieren und auch wieder als RTF exportieren.
Vielleicht gibt dir das den entscheidenden Hinweis...

Zu nennen wären evtl.
HelpAndManual (Trial)
HelpSmith (Trial)
HelpNDoc (Free for personal use)
HelpScribble (Trial)
Precision Helper (Free)

Grüße
Steku
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#4

AW: Positionsmarken in .rtf Files

  Alt 10. Jun 2022, 08:26
Wieso eigentlich *.hlp-Dateien? Die sind doch schon seit Windows7 tot (oder war es Vista?)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Positionsmarken in .rtf Files

  Alt 10. Jun 2022, 08:44
Wo sollen die Positionsmarken denn verwendet werden, geht es um Makroprogrammierung für MS Word, um bei der Bearbeitung eines RTF Dokuments Marker setzen und dorthin springen zu können?

Also z.B. so etwas: https://docs.microsoft.com/de-de/off....bookmarks.add
Michael Justin
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.062 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Positionsmarken in .rtf Files

  Alt 10. Jun 2022, 22:13
Hallo Klaus,

kommst du evtl. weiter wenn du dir einen anderen Hilfegenerator anschaust?
Die meisten können aus RTF/CHM importieren und auch wieder als RTF exportieren.
Vielleicht gibt dir das den entscheidenden Hinweis...

Zu nennen wären evtl.
HelpAndManual (Trial)
HelpSmith (Trial)
HelpNDoc (Free for personal use)
HelpScribble (Trial)
Precision Helper (Free)

Grüße
Steku
Danke Steku,
hilft mir leider nicht, weil ich keinen anderen Hilfegenerator suche, sondern
Zitat:
Was ich noch machen möchte ist, wie z.B. in Delphi, mit Shift-Ctlr-1 bis 9 Positionsmarken zuweisen.
Meine Vorstellung ist, dass ich das Eingabecaret in eine Kapitelüberschrift stelle und mit Shift-Ctrl-1 die zugehörige Topic-Id in einem Array(9) of String speichere, um später mit einer anderen Tastenkombination die Topic-Id aus dem Array zu lesen und zur entsprechenden Textstelle zu springen.

Woran es scheitert:
Ich habe bisher nicht herausgefunden, wie ich, herausfinden kann, welche Topic-Id einer bestimmten Kapitelüberschrift zugewiesen ist.
Ich möchte mich nicht umstellen, weil meine Hilfedateien zu einem großen Teil auf Knopfdruck automatisch erstellt werden.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.062 Beiträge
 
Delphi XE2 Professional
 
#7

AW: Positionsmarken in .rtf Files

  Alt 10. Jun 2022, 22:15
Wieso eigentlich *.hlp-Dateien? Die sind doch schon seit Windows7 tot (oder war es Vista?)
Weil ich im Prinzip zufrieden bin mit dem was ich habe.
Ich arbeite übrigens mit Windows 7.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.062 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Positionsmarken in .rtf Files

  Alt 10. Jun 2022, 22:33
Wo sollen die Positionsmarken denn verwendet werden, geht es um Makroprogrammierung für MS Word, um bei der Bearbeitung eines RTF Dokuments Marker setzen und dorthin springen zu können?

Also z.B. so etwas: https://docs.microsoft.com/de-de/off....bookmarks.add
Danke Michael,
ja es geht um Makroprogrammierung (VBA) und Bookmarks kommt dem nahe was ich suche, trifft es aber nicht wirklich.
Die Bookmarks wären dann Bestandteile des Dokuments, und ich möchte durch das Setzen von Positionsmarken am Dokument nichts verändern.
Das ganze soll ausschließlich auf VBA-Ebene laufen.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#9

AW: Positionsmarken in .rtf Files

  Alt 11. Jun 2022, 20:37
Die Bookmarks wären dann Bestandteile des Dokuments, und ich möchte durch das Setzen von Positionsmarken am Dokument nichts verändern.
Das ganze soll ausschließlich auf VBA-Ebene laufen.
Die Positionsmarken sollen das Dokument nicht verändern, damit das RTF Dokument z.B. nicht bei einem Versionsvergleich unerwünschte Änderungen enthält?
Die Bookmarks, die mit VBA während der Bearbeitungssitzung angelegt werden, könnte man beim Beenden (Schliessen des Dokuments) auch wieder komplett entfernen.

Oder sollen die Bookmarks dauerhaft bestehen bleiben, aber nicht im Dokument selbst gespeichert sein? (sondern z.B. in einer anderen Datei)
Michael Justin
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.062 Beiträge
 
Delphi XE2 Professional
 
#10

AW: Positionsmarken in .rtf Files

  Alt 13. Sep 2022, 00:34
Wo sollen die Positionsmarken denn verwendet werden, geht es um Makroprogrammierung für MS Word, um bei der Bearbeitung eines RTF Dokuments Marker setzen und dorthin springen zu können?

Also z.B. so etwas: https://docs.microsoft.com/de-de/off....bookmarks.add
Habe mich jetzt entschlossen Bookmarks zu verwenden.
Meine Befürchtung war, dass der Help Compiler damit Probleme haben könnte. Hat er nicht.
Danke für den Tipp.

Code:
Sub SetBookMark(ID As Long)
   Dim BMName As String, BM As Bookmark
   If (ID >= 0) And (ID <= 9) Then
      BMName = "BookMark" & ID
      For Each BM In ActiveDocument.Bookmarks
         If BM.Name = BMName Then
            BM.Delete
            Exit For
         End If
      Next
      ActiveDocument.Bookmarks.Add Name:=BMName, Range:=Selection.Range
   End If
End Sub
Code:
Sub GotoBookMark(ID As Long)
   Dim BMName As String, BM As Bookmark
   If (ID >= 0) And (ID <= 9) Then
      BMName = "BookMark" & ID
      For Each BM In ActiveDocument.Bookmarks
         If BM.Name = BMName Then
            BM.Select
            Exit Sub
         End If
      Next
   End If
End Sub
Code:
Sub DeleteBookMarks()
   Dim BM As Bookmark
   For Each BM In ActiveDocument.Bookmarks
      BM.Delete
   Next
End Sub
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz