Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen? (https://www.delphipraxis.net/153900-wie-kann-ich-eine-utf16-codierte-textdatei-als-8-bit-ansistring-einlesen.html)

Bernhard Geyer 20. Aug 2010 09:44

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?
 
Zitat:

Zitat von devidespe (Beitrag 1043654)
Hier mal eine Gegenfrage: wieso versucht ihr unabhängig von den den genauen Anforderungen jedem einen XML-Parser aufzuschwatzen?

Du hast eine XML Datei. Dann sollte man immer einen XML-parser nehmen.

Zitat:

Zitat von devidespe (Beitrag 1043654)
Aber für das Auslesen von 2 XML-Attributen sich in einen XML-Parser einarbeiten bringt aus meiner Sicht mehr Aufwand als Nutzen.

Du glaubst wohl in deiner SW-Entwicklungszeit nur einmal mit XML-Dateien tun zu haben? Und jedesmal musst du dan mit krückenlösungen ala Pos + Regex versuchen deine beiden Attribute zu finden (wobei man dir problemlos XML-Dateien geben kann die korrekt sind und mit dem parsre problemlos auslesbar sind und deine Pos+RegEx-Lösung versagen wird.

Zitat:

Zitat von devidespe (Beitrag 1043654)
Ich habe den Aufwand auch schon betrieben, und zwar mit dem XML-Parser von http://www.destructor.de/, allerdings scheint er nicht Unicode-fähig zu sein. Eine Anfrage an den Autor blieb bislang unbeantwortet.

Steht auf der Webseite. Er wird nix machen in diesem Bereich. M.E. ist der parser damit nicht mehr zu empfehlen.

Lemmy 20. Aug 2010 09:56

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?
 
Zitat:

Zitat von devidespe (Beitrag 1043654)
Hier mal eine Gegenfrage: wieso versucht ihr unabhängig von den den genauen Anforderungen jedem einen XML-Parser aufzuschwatzen?

Die Anforderung ist eine XML zu laden und 2 Werte auszulesen - also XML-Parser.

btw. Softwareentwicklung bedeutet nicht jeden Sch*** selbst zu implementieren sondern dort wo es was fertiges gibt dieses zu verwenden!

Zitat:

Zitat von devidespe (Beitrag 1043654)
Ich habe den Aufwand auch schon betrieben, und zwar mit dem XML-Parser von http://www.destructor.de/,

Warum nimmst Du nicht einfach TXMLDocument das seit Delphi 7 als Standardkomponente verfügbar ist?

himitsu 20. Aug 2010 10:02

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?
 
Genau deswegen, weil
A) XML ein paar Spezifikationen besitzt, welche das auslesen erschweren, wie z.B. keine Pflicht eines BOM (die genaue Kodierung steht erst nach dem Parsen der Processorinstruction fest).
Und B) scheint es doch massig Probleme beim Auslesen und der eventuell nötigen Umkodierung zu geben, welches ein ordentlicher Parser von sich aus behandeln würde.

Und jupp, für einfache Dinge hat MS/Delphi schon was Fertiges dabei ... siehe MSXML, TXMLDocument, IXMLDocument und wie man es sonst noch nutzen kann.

devidespe 20. Aug 2010 10:03

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1043658)
Du hast eine XML Datei. Dann sollte man immer einen XML-parser nehmen.

Diese Aussage hält sich hier hartnäckig, ist meiner Ansicht nach nicht immer zutreffend. Dann könnte man auch gleich folgende Aussage treffen: Du benutzt Microsoft--Betriebssysteme, dann musst Du auch Microsoft-Office benutzen und darfst kein alternatives Office einsetzen.

Zitat:

Zitat von Bernhard Geyer (Beitrag 1043658)
Du glaubst wohl in deiner SW-Entwicklungszeit nur einmal mit XML-Dateien tun zu haben? Und jedesmal musst du dan mit krückenlösungen ala Pos + Regex versuchen deine beiden Attribute zu finden (wobei man dir problemlos XML-Dateien geben kann die korrekt sind und mit dem parsre problemlos auslesbar sind und deine Pos+RegEx-Lösung versagen wird.

Es geht nicht darum, während meiner SW-Entwicklungszeit komplett auf Parser zu verzichten und bei weiteren XML-basierten Anforderungen würde ich auch gerne einen Parser verwenden. Wenn ich aber nur eine Anforderung mit dem Auslesen von 2 Attributen habe, in naher Zukunft kein XML mehr benötige und grundsätzlich wenig Zeit zur Verfügung habe, ist die Einarbeitung in einen Parser mehr Aufwand als eine Notlösung mittels Pos. Dabei bleibe ich.

Bernhard Geyer 20. Aug 2010 10:15

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?
 
Zitat:

Zitat von devidespe (Beitrag 1043668)
Diese Aussage hält sich hier hartnäckig, ist meiner Ansicht nach nicht immer zutreffend. Dann könnte man auch gleich folgende Aussage treffen: Du benutzt Microsoft--Betriebssysteme, dann musst Du auch Microsoft-Office benutzen und darfst kein alternatives Office einsetzen.

Eher so: Wenn ich einen guten Editor für Windows will um Briefe zu schreiben nehme ich mir keinen Hex-Editor dazu.


Zitat:

Zitat von Bernhard Geyer (Beitrag 1043658)
Wenn ich aber nur eine Anforderung mit dem Auslesen von 2 Attributen habe, in naher Zukunft kein XML mehr benötige und grundsätzlich wenig Zeit zur Verfügung habe, ist die Einarbeitung in einen Parser mehr Aufwand als eine Notlösung mittels Pos.

Dann ärger dich nicht wenn dann du alle paar Tage deine Pos-Methode erweitern müsst weil vor den beiden Attributen doch noch werte kommen die dein Pos überlesen sollte.

Zitat:

Zitat von Bernhard Geyer (Beitrag 1043658)
Dabei bleibe ich.

Ok. Dann noch viel Spaß beim XML-Frickeln.

himitsu 20. Aug 2010 11:42

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1043672)
Eher so: Wenn ich einen guten Editor für Windows will um Briefe zu schreiben nehme ich mir keinen Hex-Editor dazu.

Jupp.

Hier hat auch keiner gesagt "du nutzt MS Windows, also mußt du unbedingt MSXML nutzen".

Ich nutze auch oftmals nicht den IE, um mit Windows ins Internet zu gehn.
Genausogut hönnte ich mit auch mit dem Notepad (einem Texteditor) HTML-Seiten ansehn
oder mit einem textbasierten Terminal-Client im Internet surfen,
anstatt einen HTML-Parser und eine passende Darstellungsenginge (genannt Browser) zu verwenden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:46 Uhr.
Seite 2 von 2     12   

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