Autor Beitrag
KarstenN
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 20.06.06 21:01 
Hi, ich kenne mich mit den Indy-Komponenten zwar kaum aus, aber bisher hat es gereicht (Schüler, 12. Klasse). Nun habe ich die Frage, ob es mit idHTTP möglich ist, auf einer Webseite den gesamten Text zu markieren (quasi Strg+A), um ihn dann zu speichern (Textdatei, Stringlist, ...).

Hintergrund ist der, dass ich auf einer Webseite verschiedene Daten habe (vorzustellen wie täglich neue DAX-Werte) und diese bisher mit idHTTP.get aus dem Quellcode geholt habe. Nun wollte ich mein Programm aber verbessern, indem ich den Text eben markiere. Weil ich hoffe, dass dies schneller geht und kürzer ist (Irrtum vorbehalten).


Vielen Dank schonmal und liebe Grüße!
Karsten
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Mi 21.06.06 06:40 
Nun markieren im engeren Sinne meinst du bestimmt nicht sondern nur die gesamte Seite abspeichern, gell ;-)
KarstenN Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 21.06.06 16:09 
Ich meine schon genau das, was ich sage :-)

Speichern kann ich ja (idHTTP.get und das dann irgendwo speichern Variable / Datei). Aber ich ja den Text markieren!

Wenn ich den Text speichere (und ihn mir vorher über idHTTP.get geholt habe), dann enthält er ja den gesmten Quellcode der z.B. HTML-Datei.
Ich möchte aber nur den sichtbaren Text haben, also muss ich den markieren und abspeichern.

Klar soweit?
Beispiel: Dieser Text ist im Quellcode im [b]-Tag, ich würde aber nur "Dieser Text ist im Quellcode im [b]-Tag" haben wollen, weil man auch nur das sieht.
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 21.06.06 18:15 
ich hab mir da mla ne gaaanz einfache Funktion geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
function stripHTMLtags (org:string):string;
begin
     result := TRIM(org);
     while (pos ('<',org) > 0AND (pos ('>',org) > 0do begin
           if (pos ('>',org) <= 0OR (pos ('<',org) <= 0then break;
           if pos ('>',org) < pos ('<',org) then
              org[pos ('>',org)] := ' ';
           delete (org,pos ('<',org),pos ('>',org)-pos ('<',org)+1);
     end;
     org := stringreplace (org,#13,'',[rfreplaceall]);
     org := stringreplace (org,#10,'',[rfreplaceall]);
//     org := stringreplace (org,' ','',[rfreplaceall]);
     result := ansilowercase(org);
end;
Evtl. hilft die dir weiter...
KarstenN Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 21.06.06 20:45 
Danke erstmal für Deine Mühe!

Ja, diese Funktion wird funktionieren, wenn ich sie etwas angepasst habe. Ohne jetzt großkotzig zu erscheinen, solch eine Funktion hatte ich mir auch schon als "Ersatzfall" überlegt, aber ich hatte zuerst fragen wollen, ob es nicht doch die elegante Methode gibt, dass man mit einem Befehl nur den sichtbaren Text bekommt. Die Funktion selbst zu schreiben, ist ja Arbeit ;-)

Also falls jemand doch so einen Befehl kennt, möge er sich bitte melden!
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 21.06.06 21:19 
du könntest den HTML Quelltext in eine TWebbrowser Kompo laden, und da dann den Text ausziehen.
Quellcodebeispiele müsste man hier im Forum und bei den Schweizern finden.
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Do 22.06.06 15:54 
Achso du willst quasi den geparsten Text haben der auch im Browser erscheint, jetzt schnall ich das :think: