DXF-Datei wird fehlerhaft dargestellt

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Pegasus0211
Beiträge: 28
Registriert: Mo 18. Sep 2006, 07:48
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Scheeßel

DXF-Datei wird fehlerhaft dargestellt

Beitrag von Pegasus0211 »

Guten Morgen,

seit einigen Tagen versuchen wir, eine DXF-Datei (Autocad) darzustellen; in ihr enthaltene Umlaute bringen das Ganze immer wieder zum Scheitern.

Codepageänderungen und die uns bekannten Funktionen (utf8toansi) bringen nicht das gewünsche Ergebnis; es wird für die Umlaute ein # und ein entsprechender Code ausgegeben (so z.B. für das ä ein #228).

Weiß Jemand von Euch Rat, wie man, die Umlaute korrekt darstellen kann?

Danke für Eure Hilfe


Gruß Bernd

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: DXF-Datei wird fehlerhaft dargestellt

Beitrag von Socke »

Da mir meine Glaskugel nicht verraten will, wie du versucht die Datei darzustellen, muss ich ein bisschen raten; aber vielleicht hilft dir das ja weiter...

#228 ist in ISO-8859 (1-4;9;10;12-15) ein 'ä'; d.h. die Textausgabe kann wahrscheinlich nur klassisches ASCII ausgeben; Vllt. hilft AnsiToUtf8

MfG Socke
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Pegasus0211
Beiträge: 28
Registriert: Mo 18. Sep 2006, 07:48
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Scheeßel

Re: DXF-Datei wird fehlerhaft dargestellt

Beitrag von Pegasus0211 »

Socke hat geschrieben:Da mir meine Glaskugel nicht verraten will, wie du versucht die Datei darzustellen, muss ich ein bisschen raten; aber vielleicht hilft dir das ja weiter...

#228 ist in ISO-8859 (1-4;9;10;12-15) ein 'ä'; d.h. die Textausgabe kann wahrscheinlich nur klassisches ASCII ausgeben; Vllt. hilft AnsiToUtf8

MfG Socke
Guten Morgen,

danke für Deine Antwort. :)
Es scheint ein allgemeines Problem mit den Lazarus-Strings zu sein; ich habe zum Testen ein Formular erstellt und mit 3 Edit-Feldern belegt.

Ins erste Feld habe ich : "Kälte" geschrieben und den Inhalt in einen Ansistring gebracht.

Beim Umsetzen dieses Strings mit ANSItoUTF8(MyString) und ConvertEncoding (edit1.text, 'cp1250', 'utf8'); erscheint das zweite Feld leer und das dritte Feld enthält mir unbekannte Zeichen als Erstz für das "ä".

Bei Delphi 2009 haben wir das Problem nicht....aber wir wollten eben die Sache mit Lazarus lösen.

Gruß aus der Nordheide

Bernd

PS: "Ansitoutf8" ändert nix

Pegasus0211
Beiträge: 28
Registriert: Mo 18. Sep 2006, 07:48
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Scheeßel

Re: DXF-Datei wird fehlerhaft dargestellt

Beitrag von Pegasus0211 »

Hallo,

setze ich ein Edit-Feld mit folgenden Befehlen um:

uni:=TUTF8Helper.Create(edit1.text);
edit4.text := uni.UTF8Str;

dann werden die im Edit1-Feld enthaltenen Umlaute richtig übertragen.

Schreibe ich die Umlaute aber in ein Textfile und lese es mit readln,
dann werden die Umlaute weggelassen.

Liegt es am readln oder an meiner Dämlichkeit?

Gruß Bernd

Pegasus0211
Beiträge: 28
Registriert: Mo 18. Sep 2006, 07:48
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Scheeßel

Re: DXF-Datei wird fehlerhaft dargestellt

Beitrag von Pegasus0211 »

Hallo,

habe doch mit der Suchfunktion folgenden Thread entdeckt:

http://www.lazarusforum.de/viewtopic.ph ... tf8#p28400

Das größte Problem für mich ist, dass sich in Lazarus selbst Funktionen (hier: systoutf8) verstecken,
von deren Existenz und Arbeitsweise ich nur durch Zufall erfahren habe.
In Lazarus sind bestimmt noch viele solche guter Dinge drin.

Danke dem Forum.

Gruß Bernd

Antworten