AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

.html Datei zeilenweise lesen

Ein Thema von af99 · begonnen am 2. Jan 2013 · letzter Beitrag vom 4. Jan 2013
Antwort Antwort
Seite 2 von 2     12   
af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#11

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 15:40
ich habe die Zeichen nur zum Test gelöscht. Wenn das Programm mal läuft dann kann ich die Zeichen nicht löschen. Ich muss also mit der Datei so auskommen wie sie ist. Gibt es denn keine Funktion zum Umwandeln ???
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 15:53
Es scheint sich bei der Datei um eine Unicode (16Bit) Datei zu handeln.
Da hast du mit Delphi5 erst einmal schlechte Karten. Und mit readln und Konsorten erst recht.

Kannst du die Datei unter einem anderen Namen im ANSI-Format abspeichern? (Notepad)
Dann versuch es doch nochmal mit der Kopie.

Gruß
K-H
---- vergiß es, das kommt davon, wenn der chef stört
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#13

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 16:07
ich habe die Zeichen nur zum Test gelöscht. Wenn das Programm mal läuft dann kann ich die Zeichen nicht löschen. Ich muss also mit der Datei so auskommen wie sie ist. Gibt es denn keine Funktion zum Umwandeln ???
Ich meinte nicht, dass du sie gleich löschen sollst, aber du kannst sie ignorieren. Was das konvertieren angeht, so dürfte das erst einmal kein Problem sein. Die Frage ist eher, ob das Ok ist. Was bringt es die Datei in 8 Bit zu konvertieren und Informationen gehen verloren. Und auch sonst, wo ist das Problem die Datei als Temp-Datei zu speichern und sie nach eigenen Bedürfnissen zu bearbeiten? Alternativ FileStream.

Schon mal was von TFileStream gehört? Die Datei laden und da bearbeiten. Für mich einfacher als das andere.

Übrigens, im umwandeln kenne ich mich weniger aus, aber wie wäre es mit AnsiToUtf8?
  Mit Zitat antworten Zitat
Alt 2. Jan 2013, 16:24     Erstellt von dunningkruger
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Unsachliche Beiträge entfernt.
Alt 2. Jan 2013, 16:41     Erstellt von Popov
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Unsachliche Beiträge entfernt.
delnu
(Gast)

n/a Beiträge
 
#14

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 23:18
Zur Umwandlung der gesamten Datei z.B. ins Ansi-Format eignet sich der Editor "Notepad++" !

Datei laden, unter dem Menüpunkt "Kodierung" sicherheitshalber prüfen, in welchem Format die Datei gespeichert ist und dann ( selber Menüpunkt ) ins Zielformat umwandeln, z.B. durch "Konvertiere zu ANSI".

Das Einlesen/Umsetzen von Unicode ist ( eingeschränkt ) auch mit alten Delphi-Versionen möglich, wenn man entsprechende Code-Tabellen in den Quelltext einfügt, die dann die jeweiligen Zeichen gegeneinander austauschen. Das funktioniert aber nur soweit es sich um Standardzeichen handelt.
Bei Gelegenheit werde ich hier mal meine Tabellen posten, muß sie aber erst raussuchen.

Geändert von delnu ( 2. Jan 2013 um 23:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#15

AW: .html Datei zeilenweise lesen

  Alt 3. Jan 2013, 10:03
Mal so ganz grundsätzlich: mit den Funktionen Readln und AnsiPos kann man keine HTML-Datei vernünftig auslesen.
Diese Funktionen sind einfach zu begrenzt.
Das wäre ungefähr so als ob man einen Sat-Receiver nur mit einem Schraubendreher bewaffnet justieren wollte.
Man braucht einfach das richtige Werkzeug.
Für HTML wäre das ein Parser (DOM oder SAX).
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#16

AW: .html Datei zeilenweise lesen

  Alt 3. Jan 2013, 13:39
Mal so ganz grundsätzlich: mit den Funktionen Readln und AnsiPos kann man keine HTML-Datei vernünftig auslesen.
Diese Funktionen sind einfach zu begrenzt.
Das wäre ungefähr so als ob man einen Sat-Receiver nur mit einem Schraubendreher bewaffnet justieren wollte.
Man braucht einfach das richtige Werkzeug.
Für HTML wäre das ein Parser (DOM oder SAX).
Das sehe ich aber anders...
Über das DOM zugreifen, bedeutet auch mit allen Fehlern leben...

Mit Pos und Stringreplace den "HTML-müll" von den Daten trennen ist doch viel einfacher...

Mavarik
  Mit Zitat antworten Zitat
delnu
(Gast)

n/a Beiträge
 
#17

AW: .html Datei zeilenweise lesen

  Alt 4. Jan 2013, 20:56
Wie angekündigt, habe ich mal meine früheren Tests rausgesucht.

Die ZIP-Datei "UTF_TEST.ZIP" enthält einige Testansätze vom Dezember 2009/Januar 2010 zum Auslesen bzw. Konvertieren von Dateien unterschiedlicher Textformate. Benutzt wurden Delphi 5 und die damals aktuelle Lazarus-Version. Ich habe das nicht weiter entwickelt und man möge mir eventuelle Ungereimtheiten nachsehen. Die enthaltenen Quelltexte sind nur im Hinblick auf die wesentlichen Problemstellungen kommentiert. Es werden lediglich Standardkomponenten benutzt. Es ist nicht auszuschliessen, daß die Quelltexte je nach benutzter Compilerversion angepaßt werden müssen. Die ZIP-Datei enthält ausser den vollständigen Quelltexten die EXE-Dateien der beiden Delphi-Programme. Weil Lazarus unheimlich aufbläht und darum nach wie vor eine unzumutbare Notlösung statt eines wirklich brauchbares Programm darzustellen, habe ich die ca. 12 MB große EXE-Datei des Lazarus-Beispiels entfernt.

Einzige aktuelle Änderung : Soweit in einigen Dateien mein Name und meine Anschrift enthalten waren, habe ich diese Angaben entfernt.

Die wesentlichsten in der ZIP-Datei enthaltene Dateien :
TABELLE.TXT : unvollständige Tabellenübersicht von HTML- und Unicode- Ersatzzeichen

Verzeichnis "D_TEST" : Analyse- und Konvertierungsprogramm
Beschreibung.rtf : Kurzbeschreibung der Programmfunktion
ConvTable.pas : Die ausgelagerte Konvertierungs-Unit

Verzeichnis "DELPHI" :
Optischer Vergleich verschiedener Codierungen/Konvertierungen anhand bekannter bzw. gebräuchlicher Sonderzeichen und Umlaute.
CHARSET.TXT : unkontrollierte Vergleichstabelle zu Testzwecken
UChars.pas : Die ausgelagerte UNVOLLSTÄNDIGE Vergleichstabelle ( ASCII, ANSI, UTF-8 )
UTxtConv.pas : Die ausgelagerte Konvertierungs-Unit

Verzeichnis "LAZARUS" :
Weil mich Lazarus nicht mehr sonderlich interessiert, kann ich über diesen Test nicht mehr allzuviel äussern, außer daß damit die Datei "TABELLE.INC" erzeugt werden kann.
TABELLE.INC : Durch das Programm erzeugte Include-Datei mit UTF-Tabelle der Zeichen 128 bis 255
TABELLE_1.TXT : ASCII-Zeichensatz mit Unicode-Angaben ?
TABELLE_2.TXT : ANSI-Zeichensatz mit Unicode-Angaben ?

Leider sind alle neueren/aktuellen Versionen des von mir benutzten Texteditors Notepad++ nicht mehr in der Lage, ASCII-Zeichen darzustellen, so daß ich diesbzgl. nichts mehr kontrollieren kann.
Angehängte Dateien
Dateityp: zip UTF_TEST.ZIP (587,1 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:11 Uhr.
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