Hallo zusammen,
wie kann man eine Word "xxx.DOC" Datei in ein TDBMemo Feld importieren. (Es handelt sich NICHT um DOCX)
Es soll der Open Dialog geöffnet, dann eine xxx.DOC Datei ausgewählt werden und danach (OpenDialog.Execute = True ) in ein TDBMemofeld geladen werden.
Derzeit mache ich das über InfoFeld.Lines.LoadFromFile( OpenDialog.FileName );
Hier stehen dann jedoch nur Sonderzeichen -> ??ࡱ?
Wird die gewünschte Datei xxx.DOC in eine Textdatei (.TXT) konvertiert werden die Umlaute (alles größer 128 ) nicht sauber dargestellt.
z.B. "Der Sänger" wird zu "Der S?nger"
Auch andere Konvertierungen (z.B. .RTF ) aus der .DOC Datei heraus gehen auf die Bretter, wenn diese in das TDBMemo Feld eingeladen werden sollen.
Kennt jemand hierzu eine Lösung des Problems?
Am besten währe ein Import direkt aus der Word Datei (.DOC) also OHNE eine vorherige Konvertierung.
Viele Grüße
Lorca
*.DOC Import nach TDBMemo
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: *.DOC Import nach TDBMemo
Zusätzlich zu dem was Theo fragt. MS codiert im meisten im Windows 1252 Format und nicht unter UTF-8. Da braucht man dann ein encodeing wie CP1250ToUTF8(xxx) aus der unit lconvencoding oder so ähnlich. Aber da bin ich kein Spezialist.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Lazarusforum e. V.
- Beiträge: 186
- Registriert: Sa 26. Mai 2012, 17:31
- OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
- CPU-Target: 64Bit
Re: *.DOC Import nach TDBMemo
wie wäre es mit Office-Automation?
https://wiki.freepascal.org/Office_Automation/de
geht auch mit LibreOffice, also womöglich Betriebssystemunabhängig.
Wenn du die Formatierungen brauchst:
Darin ein copyToClipboard und den formatierten String einlesen.
https://wiki.freepascal.org/Office_Automation/de
geht auch mit LibreOffice, also womöglich Betriebssystemunabhängig.
Wenn du die Formatierungen brauchst:
Darin ein copyToClipboard und den formatierten String einlesen.
just my two Beer
Re: *.DOC Import nach TDBMemo
Hallo zusammen,
ein Bagger hatte die I-Net Leitungen gekappt. Die ganze Siedlung war ohne I-Net und ohne Telefon. Daher erst jetzt meine Antwort.
Danke für eure Hinweise. Mit der Funktion: CP1252ToUTF8 klappt es nun (UNIT: LConvEncoding ).
Es muss das Dokument leider erst als eine Text Datei gespeichert werden.
@theo: Ich hatte zuvor keine Konvertierung vorgenommen. Also einfach die Datei aus OpenDialog.FileName über die Stringlist eingelesen und dann in das Memo Feld gestellt.
@af0815: Dein Hinweis mit dem Format 1252 hatte mich dann weiter gebracht.
@Joh: OLE Container kann ich nicht nutzen da ich außer Windows-10 nix von MS habe.
Nochmals meinen herzlichen Dank an euch alle
Gruß
Lorca
ein Bagger hatte die I-Net Leitungen gekappt. Die ganze Siedlung war ohne I-Net und ohne Telefon. Daher erst jetzt meine Antwort.
Danke für eure Hinweise. Mit der Funktion: CP1252ToUTF8 klappt es nun (UNIT: LConvEncoding ).
Es muss das Dokument leider erst als eine Text Datei gespeichert werden.
@theo: Ich hatte zuvor keine Konvertierung vorgenommen. Also einfach die Datei aus OpenDialog.FileName über die Stringlist eingelesen und dann in das Memo Feld gestellt.
@af0815: Dein Hinweis mit dem Format 1252 hatte mich dann weiter gebracht.
@Joh: OLE Container kann ich nicht nutzen da ich außer Windows-10 nix von MS habe.
Nochmals meinen herzlichen Dank an euch alle
Gruß
Lorca