![]() |
Webseite speichern
Hallo,
ich habe herausgefunden, wie ich den Quelltext einer Webseite speichern kann. Ja, aber bei einer HTML Seite sind ja noch die ganzen Tags mit drin. Gibt es eventuell auch die Möglichkeit, das was der Browser mir anzeigt als Text zu speichern? Ohne HTML Tags? Also wenn ich jetzt hier meinen Thread runterladen will, sollte er einfach jeglichen Text speichern. D.h. ohne den DP-Header und der Link: ![]() Da muss ich gleich mal fragen: Heißt parsen, dass der Browser HTML Tags umwandelt? Und die wichtigere Frage: Gibt es eine Lösung für mein Problem :-D ? Vielen Dank. Schönes Wochenende wünsch ich euch. |
Re: Webseite speichern
Der Browser parst, wie Du schon geschrieben hast, eine HTML-Datei und stellt die Tags entsprechend als das dar, was Du siehst.
Du könntest, wenn Du den Text haben willst, ganz simpel alle Tags entfernen, allerdings bleibt dann auch viel Zeug über, dass Du gar nicht haben willst. Wenn es sich um eine bestimmte Seite handelt, kannst Du es per Pos und Copy bestimmte Texte entnehmen. Sollte das ganze allerdings generisch funktionieren, schaut es schlecht aus. Wenn Du wirklich das willst, was der Browser Dir anzeigt, könntest einfach die HTML-Datei downloaden (also das, was Du bisher geschafft hast) und stellst diese in einem TWebBrowser dar. |
Re: Webseite speichern
Schaue Dir mal diesen
![]() |
Re: Webseite speichern
Was macht denn diese Zeile hier:
Delphi-Quellcode:
Application.ProcessMessages;
|
Re: Webseite speichern
Hi blooddog_90,
auf deine Frage, was folgender Codeschnipsel macht.
Code:
Sicher wirst du im Internet und auch hier im Forum viel darüber finden. Von mir eine kleine Zusammenfasung:
Application.ProcessMessages;
Fast alles unter Windows ist ein Fenster. Jedem Fesnter kann man Nachrichten (Message; TMessage) senden. Ein Fenster kann nun auf solche Nachrichten reagieren und bestimmte Aktionen ausführen (minimieren, maximieren, etc.). Diese Nachrichten werden in einer Warteschlange (Queue) gehalten. In vielen Fällen hast du in deiner Anwendung nur einen Thread (main-Thread). In diesem Thread wird dann auch deine Nachrichten- Warteschlange abgearbeitet. Wenn du nun lange oder zeitaufwendige Berechnungen durchführst, hat dein Thread "keine Zeit" die Warteschlange abzuarbeiten. Ein Beispiel:
Code:
Eigentlich ist das "nicht- abarbeiten" kein großes Problem. Unschön ist dagegen,
while(true)do
begin //TODO: Hier steht deine lange Berechnung end; dass deinen Anwendung dann im Titel "Anwendung reagiert nicht" (oder ähnlich) trägt oder du deine Anwednung nicht mehr verschieben kannst. (Diese Aktionen werden dem Fenster durch Nachrichten mitgeteilt.) Um nun dem Fenster die Möglichkeit zu geben, doch noch an die Warteschlange zu kommen, gibt es den Befehl:
Code:
Application.ProcessMessages;
Das Thema ist eigentlich ziemlich komplex. Ich habe versucht es auf ein Minimum zu reduzieren. Wenn dich das Thema interessiert, wirst du unter ![]() Lg Sebastian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 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