HTML-Quelltext ---> Parsen

M

McMuler

Hallo,
ich greife mit einem kleinen Programm auf eine Webseite zu und möchte aus dem Quelltext einen bestimmten String auslesen.

Nun habe ich mehr als eine Stunde in der Hilfe gesucht und nichts vernünftiges zum thema parsen gefunden und auch nicht hier im Forum.

Der Anfang des Stringes ist bekannt und ich möchte die nächsten 20 Zeichen in eine Variable übernehmen.

Muss doch "relativ einfach" möglich sein...

Nicht lachen, ich habe seit 2 Jahren nicht eine Zeile Code in Delphi geschrieben ausser heute Nacht :)

Danke für etwaige HIlfe
 

Thomas Kuse

Erfahrenes Mitglied
Schau doch mal in der Hilfe unter String-Funktionen oder ähnlichem!
Da sollten dann vielleicht Funktionen wie substr, substring oder mid auftauchen.
 
M

McMuler

Neues Problem

Hm danke, guck ich mir in ner ruhigen Minute mal an.

Das eigentliche Problem habe ich aber nun anders gelöst, ich lese den gesuchten String direkt aus nem versteckten Formularfeld aus

PHP:
i:=Webbrowser1.OleObject.Document.Frames.item(3).document.forms.Item(1);

Na super....nun habe ich ihn in der Variablen - wobei der vartyp "variant" ist - kann sie aber auf gedeih und verderb nicht umwandeln in gar nix ....

Umgekehrt finde ich diverse Hinweise um Formularfelder zu füllen...aber um sie auszulesen leider nix :-(

Ich hoffe auch dazu fällt irgendwem was ein...
 

Patrick Kamin

Erfahrenes Mitglied
-

Reguläre Ausdrücke gibt es so direkt nicht in Delphi, aber mit Pos und Copy hat man, meiner Meinung nach, die gleichen Möglichkeiten. Wenn dir der Anfangsstring bekannt ist, kannst du ihn doch einfach rauskopieren.
Code:
var
  Str : String; // Hier steht z.B. die Zeile mit deinem gesuchten String drin
  GefundenStr : String; // Hier kommt das Ergebnis rein
begin
  GefundenStr := Copy(Str, Pos(AnfangDerBekanntIst, Str), 20);
end;
Ganz einfach, oder? ;-]
 
M

McMuler

Ich habe es jetzt so gemacht das ich die entsprechende Zeile in eine String-Variable schreibe und mit "delete" die Zeichen vor und hinter dem gesuchten Stringteil lösche :) ...etwas rabiat aber geht wunderbar. danke für die Hilfe