AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Platzhalter in XML-Datei durch (mehrzeiligen) Text ersetzen
Thema durchsuchen
Ansicht
Themen-Optionen

Platzhalter in XML-Datei durch (mehrzeiligen) Text ersetzen

Ein Thema von Harry Stahl · begonnen am 16. Feb 2021 · letzter Beitrag vom 16. Feb 2021
Antwort Antwort
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Platzhalter in XML-Datei durch (mehrzeiligen) Text ersetzen

  Alt 16. Feb 2021, 20:45
Was auch doof ist - und mir insofern die XML-Klasse wohl doch nicht hilft - ist, dass Word in seinem inneren XML-Gefüge den Text umformatiert, wenn man den Platzhalter bearbeitet (z.B. Zeilenabstand oder Font) und dann das so aussieht:

D.H. die "{" und "}" werden von meinem Platzhalter-Text getrennt und subnote.text gibt mir eben nur "Adr_Alles" zurück...

Bleibt wohl nur übrig, dass ich vorher prüfe, ob ein "{" vorkam und wenn nur ein "Adr_Alles" kommt, ich zurück iteriere und "{" da lösche und auch weiter interiere und dann das "}" lösche.

Ganz schön umständlich...
Wer hat das Format definiert?
Wieso Platzhalter im Text? Das Word Format hat Doch eigene Felder für so etwas?
Ich will jetzt nicht nachschauen aber für mich klingt das nicht plausibel. Benutze die Möglichkeiten die dafür vorgesehen sind. Ansonsten investiere in WPTools und Julian wird Dir helfen...

Was ich damit sagen will, selber das XML so zu schreiben das Word "immer" damit klarkommt ist schon ambitioniert

Aber nur meine Meinung
Gruss Fritz
Fritz Westermann
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.560 Beiträge
 
Delphi 12 Athens
 
#2

AW: Platzhalter in XML-Datei durch (mehrzeiligen) Text ersetzen

  Alt 16. Feb 2021, 23:32

Wer hat das Format definiert?
Wieso Platzhalter im Text? Das Word Format hat Doch eigene Felder für so etwas?
Ich will jetzt nicht nachschauen aber für mich klingt das nicht plausibel. Benutze die Möglichkeiten die dafür vorgesehen sind. Ansonsten investiere in WPTools und Julian wird Dir helfen...

Was ich damit sagen will, selber das XML so zu schreiben das Word "immer" damit klarkommt ist schon ambitioniert

Aber nur meine Meinung
Gruss Fritz
Na, das Format habe ich mal vor Jahren selber definiert (biete schon seit mehr als 25 Jahren an, von meiner Adressenverwaltung Adress-Elemente in Word-Vorlagen einzufügen und so z.B. schnell einen neuen Brief zu schreiben). Aber das war eine reine Windows-Lösung, mit der neuen Version von PC-Adreßzz! soll das Einfügen von Adress-Elementen für Word unter Windows und MAC und für Libre Office auf allen 3 Desktop-Plattformen (Windows, MAC, Linux) funktionieren. Daher musste ich jetzt meine Vorgehensweise zur Einfügung ändern (bislang geht das alles per "Fernsteuerung" über OLE, DDE usw). Jetzt bearbeite ich halt vorher die Vorlagen-Dateien und erzeuge damit dann das gewünschte Textdokument, die dann bereits die Adress-Elemente (Empfänger, Anrede, was auch immer) enthalten.

Aber Dein Hinweis hat mich auf eine Idee gebracht: Word oder Libre Office mögen zwar den Dokumententext wie oben beschrieben zerhackseln (oh mann, was ist das ein ineffizientes Textformat, soviel Müll da drin) aber interne Bookmark-Namen natürlich nicht.

Insofern habe ich meine Strategie gewechselt, dass ich in die .dotx bzw. .ott Vorlagen Textmarken einfügen und die ganzen Textmarken (die ich an den passenden Namen erkenne) durch Text ersetze.

Nach meinen ersten Tests funktioniert das - mit meiner ursprünglichen Suchen und ersetzen Methode - recht gut...
  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 10:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz