Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe (https://www.delphipraxis.net/13298-deutsche-umlaute-werden-dfm-dateien-zerstoert-hilfe.html)

Freetrader 15. Dez 2003 18:21


Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Brauche Eure Hilfe bei dem folgenden Problem: Wenn ich unter Delphi 6 Forms (.dfm) als Textdateien speichere, zerschießt mir das Delphi die deutschen Umlaute, die werden dann durch irgendwelche kryptischen Zeichen ersetzt. Weiß jemand, woran das liegt? Ist das ein Delphi-Problem oder ein Problem mit Windows? Danke für Eure Hilfe!

Luckie 15. Dez 2003 18:39

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Umlaute von was? Von Objekt Bezeichnungen oder von Captions und Text Eigenschaften? Und was passiert, wenn du das Projekt wieder öffnest? In Objekt Bezeichnungen dürfen per Vorgabe von Delphi / Borland generell keine deutschen Umlaute etc. stehen. In Caption bzw. Text Eigenschaften sollten sie akzeptiert werden.

Freetrader 15. Dez 2003 18:46

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
sorry, das war wohl etwas ungenau. Also, es geht um Umlaute in Captions, überall da, wo der Text in ' ' Anführungszeichen steht. Die sind in den .dfm-Dateien kaputt, aber Delphi selbst lädt sie problemlos wieder ein. Habe aber vergeblich versucht, die .dfm-Dateien mit einem Texteditor einzuladen (Notepad, Winword, etc.).

SirThornberry 15. Dez 2003 18:46

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Liegt an Delphi und ist eigentlich auch richtig so. Wenn du als Textdatei speicherst werden zeischen größer 128 oder so weg gemacht und kleiner 32 oder so auch damit es eine echte textdatei wird und keine Binäre. Ansonsten würde windoof das dateiende vielleicht nicht mehr finden da bei Textdateien das dateiende durch #9 oder #8 oder so gekenzeichnet ist

sakura 15. Dez 2003 18:49

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Zitat:

Zitat von SirThornberry
Textdateien das dateiende durch #9 oder #8 oder so gekenzeichnet ist

Das ist doch aber nicht gültig für DOS/Windows Systeme. Da wird die Dateigröße durch einen Eintrag im Verzeichnis etc. gespeichert :gruebel:

Egal, klicke mal in Delphi mit der rechten Maustaste aufs Formular und mache ein Häckchen bei "DFM als Text speichern" (oder ähnlich)

...:cat:...

Freetrader 15. Dez 2003 18:55

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Liste der Anhänge anzeigen (Anzahl: 1)
das habe ich schon gemacht, das wird bereits als Text gespeichert. Anbei eine der problematischen dfms, da wird das Wort "Gesamtüberblick" in seltsame Zeichen zerlegt.

Luckie 15. Dez 2003 19:01

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Zitat:

Zitat von Freetrader
Also, es geht um Umlaute in Captions, überall da, wo der Text in ' ' Anführungszeichen steht. Die sind in den .dfm-Dateien kaputt, aber Delphi selbst lädt sie problemlos wieder ein.

Und wo ist jetzt das Problem? Die dfm-Dateien bearbeitet man doch so wie so nur mit der Delphi IDE und wenn diese alles wieder korrekt läd, ist doch alles in Ordnung. Ich verstehe dein Problem nicht. Zeichen #252 ist übrigens das kleine "ü". Stimmt also alles.

Freetrader 15. Dez 2003 19:07

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
zur Erklärung: Ich habe mir ein kleines Übersetzungsprogramm geschrieben, das sowohl im Code wie auch in den .dfms nach allem sucht, was in Anführungszeichen steht, und das dann in einer Datenbank archiviert. Dann kann ich bequem die Übersetzung in eine andere Sprache in die Datenbank eintragen, und das Programm übersetzt mir anschließend automatisch meinen Code. Das ist ganz praktisch, weil ich momentan ein recht großes Projekt in mehreren Sprachen pflegen muss... ich hatte das Übersetzungsprogramm bisher nur auf .pas-Dateien angewendet, wollte aber auch die dfms mit einschließen, dann würde ich mir eine externe Komponente sparen, die ich bisher für das Übersetzen von Captions eingesetzt habe. Aber wenn das mit den .dfms nicht klappt, muss ich mir wohl was anderes einfallen lassen ...

sakura 15. Dez 2003 19:11

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Freetrader
da wird das Wort "Gesamtüberblick" in seltsame Zeichen zerlegt.

Bei mir wird es aber korrekt dargestellt. Siehe Anhang.

Robert_G 15. Dez 2003 19:14

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Zitat:

Zitat von Delphi
object Gesamtauswertung1: TMenuItem
Caption = 'Gesamt'#252'berblick'
OnClick = Gesamtauswertung1Click
end

Also dieses #252 ist der ASCII-code für ein kleines "ü".
Dadurch siehst du in simplen oder anderssprachigen Texteditoren wenigstens den Code des Zeichens anstatt einem schwarzen Viereck.
Oops, hatte das Fenster wohl zu lange auf :oops:

mirage228 15. Dez 2003 19:15

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Mein Editor (notepad) zeigt z.B. "Gesamtüberblick" als
Code:
'Gesamt'#252'berblick'
an.

mfG
mirage228

Freetrader 15. Dez 2003 19:16

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
wenn ich das Teil in Delphi einlade, wird es bei mir auch ok angezeigt, aber bei der Speicherung als Textfile werden wohl die Umlaute durch den entsprechenden Zeichencode ersetzt... ich glaube, ich kann das Problem aber dadurch lösen, dass ich einfach was drum herum programmiere. Thx für die vielen Hinweise, ich glaube, ich kapiert, wo das Problem herkommt. Es wird wohl keine ganz so einfach Lösung werden, wie ich dachte, aber mit ein bisschen Code kriege ich das hin.

sakura 15. Dez 2003 19:25

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Viel Erfolg ;-) Und wozu haben wir denn Delphi, wenn nicht zum Lösen nicht ganz so einfacher Probleme ;-) :lol:

...:cat:...

Freetrader 16. Dez 2003 08:25

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
noch eine aktuelle Info zu dem Thema: Mein Problem ist offensichtlich gar nichts Neues, und beim Borland-Support habe ich inzwischen rausgefunden, dass es im Delphi bin-Verzeichnis eine .exe namens convert gibt, die .dfm-Dateien in normale Textfiles umwandelt nund umgekehrt.

sakura 16. Dez 2003 08:27

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Nein, die hat nichts mit den Sonderzeichen zu tun. Bis zu Delphi 4 oder 5 hat Delphi die DFM-Dateien ausschließlich in einem binären Format gesichert, welches nur durch Delphi interpretiert werden konnte.

Damit man Formulare aus neueren Delphi Versionen auch in älteren laden kann, kann man u.a. dieses Tool nutzen, um diese in das entsprechende Format zu konvertieren.

...:cat:...

roderich 16. Dez 2003 08:41

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
Zitat:

zur Erklärung: Ich habe mir ein kleines Übersetzungsprogramm geschrieben, das sowohl im Code wie auch in den .dfms nach allem sucht, was in Anführungszeichen steht, und das dann in einer Datenbank archiviert. Dann kann ich bequem die Übersetzung in eine andere Sprache in die Datenbank eintragen, und das Programm übersetzt mir anschließend automatisch meinen Code. Das ist ganz praktisch, weil ich momentan ein recht großes Projekt in mehreren Sprachen pflegen muss... ich hatte das Übersetzungsprogramm bisher nur auf .pas-Dateien angewendet, wollte aber auch die dfms mit einschließen, dann würde ich mir eine externe Komponente sparen, die ich bisher für das Übersetzen von Captions eingesetzt habe. Aber wenn das mit den .dfms nicht klappt, muss ich mir wohl was anderes einfallen lassen ...
finde ich nicht gut, für eine Übersetzung direkt in pas und dfm-Dateien Text zu ersetzen. Schließlich mußt du dann für jede Sprachversion frisch kompilieren und je ein exe ausliefern.
Dazu hatten wir hier kürzlich einen Thread....

Unsere großen (Delphi-)Projekte halten wir mehrsprachig, indem wir pro Sprache eine Textdatei ausliefern. Der Bezug der Komponenten zu den Texten wird über deren Tag-Property hergestellt. Die Übersetzung geht rasend schnell (im FormCreate bzw. FormShow) und die Sprache kann zur Laufzeit umgestellt werden.

Roderich

Freetrader 16. Dez 2003 08:44

Re: Deutsche Umlaute werden in .dfm-Dateien zerstört - Hilfe
 
hm, ich fürchte, Du hast Recht. Ist also doch Handarbeit angesagt ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 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