Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Seite öffnen und Links speichern (https://www.delphipraxis.net/72597-seite-oeffnen-und-links-speichern.html)

Shudder 3. Jul 2006 16:30


Seite öffnen und Links speichern
 
Hallo,

versuche seit geraumer Zeit folgendes Problem zu realisieren:

Mein Programm soll Links die in einem Memo oder einer ListBox stehen automatisch öffnen und den Seiteninhalt (ist bloß eine Zeile) in einer Textdatei speichern, wenn möglich alle Links in der selben Datei.

Vielen Dank schonmal!

Zacherl 3. Jul 2006 16:31

Re: Seite öffnen und Links speichern
 
Dazu solltest du dir mal die IdHTTP Komponente aus den Indys angucken.

Florian

Shudder 3. Jul 2006 20:04

Re: Seite öffnen und Links speichern
 
Ja ich kenn die Komponente da ich schonmal ein kleineres Projekt mit ihr realisiert hab, allerdings kenn ich noch nicht die vollen Möglichkeiten der Komponente geschweige denn weiß ich sie auszunutzen.
Für weitere Hilfe wäre ich dankbar...

alias5000 3. Jul 2006 21:34

Re: Seite öffnen und Links speichern
 
über idHTTP.Get bekommst du den Seitenquelltext und dann kannst du mit nem HTML-Parser alle Links herausfiltern. Aber such mal hier, im DF, oder bei den Schweitzern ( www.swissdelphicenter.ch ) das musses da irgendwo geben, ein so beliebtes Thema...

Gruß alias5000

arbu man 3. Jul 2006 22:00

Re: Seite öffnen und Links speichern
 
Die Forensuche liefert garantiert auch treffer!

la.reunion 9. Jul 2006 21:57

Re: Seite öffnen und Links speichern
 
Für welche seite brauchst du das?, wenn cih fragen darf

...Reine neugier? :-)

Ich muss ma suchen soetwas habe ich auch schoneinmal gemacht!

Werde den code posten sobal ich ihn hab

Lg La.Reunion

la.reunion 9. Jul 2006 22:01

Re: Seite öffnen und Links speichern
 
Hiern code dazu eigentlich ganz easy

Delphi-Quellcode:
function DownloadURL(const aUrl: string): Boolean;

// Du brauchstn Button, EIn Memo und bei uses musst wininet hinzufügen
var
  hSession: HINTERNET;
  hService: HINTERNET;
  lpBuffer: array[0..1024 + 1] of Char;
  dwBytesRead: DWORD;
begin
  Result := False;
  // hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
  hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    if Assigned(hSession) then
    begin
      hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, 0, 0);
      if Assigned(hService) then
        try
          while True do
          begin
            dwBytesRead := 1024;
            InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead);
            if dwBytesRead = 0 then break;
            lpBuffer[dwBytesRead] := #0;
            Form1.Memo1.Lines.Add(lpBuffer); //Wete werden im Memo hinzugefügt
          end;
          Result := True;
        finally
          InternetCloseHandle(hService);
        end;
    end;
  finally
    InternetCloseHandle(hSession);
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
Memo1.Clear;
DownloadURL('http://www.DeineURL.de'); //hier einfach URL eintagen
end;
Lg. La.Reunion


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 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