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 1 von 2  1 2      
af99

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

.html Datei zeilenweise lesen

  Alt 2. Jan 2013, 15:29
Delphi-Version: 5
Hallo Zusammen,

ich habe mal wieder ein Problem mit Strings bzw. Text. Ich möchte eine .html Datei zeilenweise lesen und nach bestimmten Texten suchen. Die Datei ist mal wieder irgendwie codiert und der Text wird nicht erkannt.

Delphi-Quellcode:
var
  errortext: string;

AssignFile(rein, datei);
reset(rein);
errortext := 'test1';
repeat
   readln(rein, s);
   //showmessage(s);
   if ansipos('<TR class=', s) > 0 then
    repeat
       readln(rein, s);
       readln(rein, s);
       if pos('Missed', s) > 0 then
         errortext := 'test2';
       if pos('Failed', s) > 0 then
         errortext := 'test3';
       readln(rein, s);
       readln(rein, s);
       readln(rein, s);
       readln(rein, s);
       readln(rein, s);
       readln(rein, s);
     until ansipos('</TD></TR>', s) > 0;
   until eof(rein);
   CloseFile(rein);
   ShowMessage(errortext);
in der Variabke errortext steht aber immer der Text "test1" also werden die if Pos... nicht gefunden. Auch wenn ich mir mit Showmessage den Inhalt von s anzeigen lasse wird das Fenster abhängig vom Text größer und kleiner. Der Text wird jedoch nicht angezeigt.

Hier dann noch die ersten Zeichen in der .html Date1

Code:
in HEX
FF FE 3C 00...

in DEZ
ÿþ<
Wie muss ich hier denn was umwandeln damit ich die Zeichen aus der Datei in den IF's vergleichen kann und wie um diese an der Console auszugeben.

Vielen Dank für Eure Hilfe.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

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

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 15:33
Sicher das das eine HTML Datei ist?
  Mit Zitat antworten Zitat
af99

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

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 15:53
ist ne .htm
Code:
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="TSM Operational Reporting">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>TSM Operational Reporting</title>
</head>

<STYLE>
<!--
.HeaderBar {
 BORDER-RIGHT: #9fabbb 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #9fabbb 1px solid; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 1px; BORDER-LEFT: #9fabbb 1px solid; PADDING-TOP: 1px; BORDER-BOTTOM: #9fabbb 1px solid; FONT-FAMILY: arial,verdana,sans-serif; BACKGROUND-COLOR: #bed2fc
}
.FooterBar {
 BORDER-RIGHT: #9fabbb 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #9fabbb 1px solid; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 1px; BORDER-LEFT: #9fabbb 1px solid; PADDING-TOP: 1px; BORDER-BOTTOM: #9fabbb 1px solid; FONT-FAMILY: arial,verdana,sans-serif; BACKGROUND-COLOR: #bed2fc
}
.HeaderText {
  FONT-WEIGHT: bold; FONT-SIZE: 11pt; FONT-FAMILY: arial,verdana,sans-serif
  }
...
  Mit Zitat antworten Zitat
af99

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

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 16:00
wenn ich das FF FE aus der Datei rauslösche dann erhalte ich das gewünschte Ergebnis.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

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

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 16:00
.htm .html .php .aspx

"Eigentlich" alles das selbe, ne Text Datei

Sieht nach UTF8 aus, steh aber etwas anderes drinn...?

Mavarik
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#6

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 16:05
Also Html entwickelt sich natürlich weiter, aber nach meiner Kenntnis hat FF FE am Anfang der Datei keinen Sinn.
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#7

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 16:10
http://de.wikipedia.org/wiki/Byte_Order_Mark
Code:
Kodierung     hexadezimale Darstellung  dezimale Darstellung  Darstellung nach Windows-1252
UTF-16 (LE)   FF FE                     255 254               ÿþ
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

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

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 16:15
http://de.wikipedia.org/wiki/Byte_Order_Mark
Code:
Kodierung     hexadezimale Darstellung  dezimale Darstellung  Darstellung nach Windows-1252
UTF-16 (LE)   FF FE                     255 254               ÿþ
UTF8-UTF16 na war doch schon fast richtig meine Idee.

Obwohl das nicht zur Codierung im Beispiel passt...
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#9

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 16:32
Obwohl das nicht zur Codierung im Beispiel passt...
Wobei man sich dabei offenbar gar nicht sicher ist... Offiziell darf man gar kein Charset bei UTF-16 angeben
Zitat von http://www.w3.org/International/questions/qa-html-encoding-declarations.de.php#utf16:
In diesem Artikel wird allgemein empfohlen, die Zeichencodierung innerhalb des Dokuments anzugeben, selbst wenn sie auch im HTTP-Header angegeben ist. Die HTML5-Spezifikation verbietet allerdings gegenwärtig die Verwendung des meta-charset-Attributs oder der Pragma-Direktive zur Angabe von UTF-16. Es ist eine Diskussion im Gang, ob das so sein muss; das kann sich noch ändern. Gegenwärtig sollte man, wenn valider HTML5-Code gewünscht ist, diese Angaben nicht für UTF-16-codierte Inhalte verwenden.

Ob Sie Element-basierte Angaben verwenden oder nicht, Sie sollten sicherstellen, dass Sie immer ein BOM (byte-order mark) ganz am Anfang einer UTF-16-codierten Datei zu stehen haben. Im Effekt ist dies die Angabe innerhalb des Dokuments.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#10

AW: .html Datei zeilenweise lesen

  Alt 2. Jan 2013, 16:35
Aus dem Artikel von Wiki:

Zitat:
Da das Zeichen U+FFFE als ungültig definiert ist
Woraus ich verstehe, dass die beiden Zeichen sowieso dazu gedacht sind allgemein ignoriert zu werden, speziell dazu gedacht sind anzuzeigen welche Kodierung es ist. Wenn du sie also löscht, wie du es gemacht hast, dann machst du anscheinend erst ein mal das Richtige. Allerdings solltest man nicht ignorieren, dass es eine UTF-16 Datei ist.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:58 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