![]() |
AW: Überschrift aus Textdatei finden.
Im ersten Überblick würde ich sagen, da fehlt doch das 'end;' am Ende deiner 2.Procedure
GRuss alfold |
AW: Überschrift aus Textdatei finden.
Oh,... man jetzt sind sogar die einfachsten Sachen zu schweer für mich :D
Danke dir, probiere jetzt mal weiter und wenn ich nicht weiter komme melde ich mich wieder. gruß |
AW: Überschrift aus Textdatei finden.
Delphi-Quellcode:
wäre der Code ordentlich formatiert gewesen.......
procedure TForm1.Button2Click(Sender: TObject);
var Pos1, Pos2, Pos3: byte; s : string; f : textfile; begin s := 'Hallo; Guten Tag; Guten Morgen; Guten Abend;'; Pos1 := Pos(';', s); if Pos1 <> 0 then // erstes Semikolon gefunden begin // Position des zweiten Semikolons ermitteln; // dazu fangen wir gleich nach dem ersten Semikolon an zu suchen: Pos2 := PosEx(';', s, Pos1 + 1); if Pos2 <> 0 then edit1.Text:='gefunden an Position: ' + IntToStr(Pos2) else ShowMessage('nur ein Semikolon im String vorhanden'); end else begin ShowMessage('kein Semikolon im String vorhanden'); end; //vvv ---- und das hier einfügen!! end; Gruß K-H |
AW: Überschrift aus Textdatei finden.
Was hast du denn genau vor?
Wenn du für dich persönlich einen Zeitungs-Reader basteln möchtest, ist das Parsen des HTML-Codes ungeeignet. Wenn die FAZ etwas daran ändert, funktioniert dein Programm möglicherweise nicht mehr. Die Überschriften und eine kurze Zusammenfassung des Inhalts erhältst du auch über die ![]() ![]() Das ist ein standardisiertes Format und das wirst du daher immer auslesen können. Wenn du den ganzen Text lesen möchtest, musst du halt auf deren Website schauen. Oder worum geht's dir genau? Was für ein Programm soll das werden? |
AW: Überschrift aus Textdatei finden.
Das ist eine Praktikumsaufgabe fürs Studium
Aufgabe 5 - Textparser Für die Durchführung des Praktikumprogrammes müssen Sie sich zunächst eine Datei aus dem Internet laden. Sie gehen mit dem Browser auf FAZ.net und wählen „Politik“. Von dieser Seite lassen Sie sich den Seitenquelltext anzeigen, kopieren ihn in die Zwischenablage und speichern den Inhalt z.B. mit dem Editor auf eine Datei FAZ.txt. Dieser Inhalt soll nun auf seine Titelzeilen untersucht werden. Die Titelzeilen sind per Knopfdruck in einem Memofeld auszugeben. Dazu lesen Sie die Datei Zeile für Zeile und werten diese dann aus. Zum Finden einer Überschrift suchen Sie den Unterstring ' “H1“>'. Daraufhin suchen Sie das folgende 'größer'-Zeichen. Hier fängt der Titel an. Er endet vor dem folgenden 'kleiner'-Zeichen. Ggf. enthält eine Zeile mehrere Titel. Wenn Sie die Zeile durchgearbeitet haben,lesen Sie die nächste und so fort, bis zum Ende der Datei. Die Anzahl der Überschriften ist in einem Label auszugeben |
AW: Überschrift aus Textdatei finden.
Achso. Ich dachte, das hast du irgendwo als Anleitung gefunden.
Gut, dann bringt dir der RSS-Feed natürlich nichts. |
AW: Überschrift aus Textdatei finden.
Aber irgendwie komme ich nicht weiter... mit dem Quelltext den ich gepostet habe kann ich ja immoment die Pos eines beliebigen zeichens herausfinden aber wie mache ich das ich “H1“> finde und das darauf folgende >finde und den text bis zum < ausgeben kann?
komme da nicht weiter |
AW: Überschrift aus Textdatei finden.
Das ist doch nicht sooo schwer:
- mit Pos(Ex) den ersten Teilstring suchen und Position in einer Variablen merken - wieder mit PosEx ab dieser Position (+ Länge des Teilstrings) den "Ende"-String suchen und auch merken - bei Fund alles zwischen diesen beiden Positionen kopieren - erste Variable auf den Wert der zweiten (+ Länge des "Ende"-Strings) setzen - alles nochmal von vorn, bis keine Funde mehr existieren |
AW: Überschrift aus Textdatei finden.
So, habe jetzt mal ein bisschen probiert, aber irgendwie funktioniert das noch nicht.
Delphi-Quellcode:
Eigentlich habe ich jetzt so gedacht das ich mit Pos1 "H1"> als erste Position gefunden habe mit Pos2 das nächste > zeichen und mit Pos3 das nächste < zeichen und das kopiere und als ShowMessage das der Text kommen müsste: Bahn bestellt 137 Doppelstockwagen
procedure TForm1.Button1Click(Sender: TObject);
var Pos1, Pos2,Pos3: byte; s, SubStr: string; begin s := '<div class="H1"><a href="/s/RubD16E1F55D21144C4AE3F9DDF52B6E1D9/Doc~E9E3E544B0814490A9D64596C57269FAB~ATpl~Ecommon~Scontent.html">Bahn bestellt 137 Doppelstockwagen</a></div>'; Pos1 := Pos('"H1">', s); if Pos1 <> 0 then // überschrift gefunden begin Pos2 := PosEx('>', s, Pos1 + 1); Pos3 := PosEx('<', s, Pos2 + 1); if Pos2 <> 0 then SubStr := Copy(s, Pos2, Pos3); ShowMessage(SubStr + ''); end; end; Wo ist mein Fehler dort? |
AW: Überschrift aus Textdatei finden.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 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