AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Firefox html code auslesen und setzen

Firefox html code auslesen und setzen

Ein Thema von delphis spassbremse · begonnen am 31. Mär 2007 · letzter Beitrag vom 2. Apr 2007
Antwort Antwort
Benutzerbild von hincapie
hincapie

Registriert seit: 24. Mär 2005
200 Beiträge
 
Delphi 5 Professional
 
#1

Re: Firefox html code auslesen und setzen

  Alt 2. Apr 2007, 10:44
Also, ich mach das so:
(Quelltext aus Firefox in ein SynEdit übernehmen)
Delphi-Quellcode:
function GetActiveBrowsersURL(Service: string): string;
var
  ClDDE: TDDEClientConv;
  zwi: PChar;
begin
  ClDDE := TDDEClientConv.Create(nil);
  with ClDDE do
  begin
    SetLink(Service, 'WWW_GetWindowInfo');
    zwi := RequestData('0xFFFFFFFF');
    CloseLink;
  end;
  Result := StrPas(zwi);
  StrDispose(zwi);
  ClDDE.Free;
end;

Function GetHTML(AUrl: string): string;
var
  databuffer : array[0..4095] of char;
  ResStr : string;
  hSession, hfile: hInternet;
  dwindex,dwcodelen,dwread,dwNumber: cardinal;
  dwcode : array[1..20] of char;
  res : pchar;
  Str : pchar;
begin
   ResStr:='';
   Result:='';
   if pos('http://',lowercase(AUrl))=0 then
     AUrl:='http://'+AUrl;
   hSession:=InternetOpen('InetURL:/1.0',
                       INTERNET_OPEN_TYPE_PRECONFIG,
                       nil,
                       nil,
                       0);
   If assigned(hSession) Then Try
      hfile:=InternetOpenUrl(
         hsession,
         pchar(AUrl),
         nil,
         0,
         INTERNET_FLAG_RELOAD,
         0);
      if assigned(hfile) then Try
         dwIndex := 0;
         dwCodeLen := 10;
         HttpQueryInfo(hfile,
                HTTP_QUERY_STATUS_CODE,
                @dwcode,
                dwcodeLen,
                dwIndex);
         res := pchar(@dwcode);
         dwNumber := sizeof(databuffer)-1;
         if (res ='200') or (res ='302') then begin
            while (InternetReadfile(hfile,@databuffer,dwNumber,DwRead)) AND (dwRead <>0) do begin
                  databuffer[dwread]:=#0;
                  Str := pchar(@databuffer);
                  resStr := resStr + Str;
                  Application.ProcessMessages;
            end;
         end else
             ResStr := 'Status:'+res;
      Finally
             InternetCloseHandle(hfile);
      End;
   Finally
          InternetCloseHandle(hsession);
   End;
   Result := ResStr;
end;

procedure TFrameForm.FirefoxQuelltextbernehmen1Click(Sender: TObject);
var
  s: string;
  i: integer;
begin
  try
    Server := True;
    Url := GetActiveBrowsersURL('firefox');
    if url = 'then exit;
    Delete(Url,1,1);
    i := Pos('"', Url);
    Delete(Url,i,Length(Url)-(i-1));
    //ShowMessage(Url);
    FrameForm.New1Click(Sender);
    with ActiveMDIChild as TEditForm do
    begin
      SynEdit1.ClearAll;
      synEdit1.Lines.Add('****************************************');
      SynEdit1.Lines.Add(Url);
      SynEdit1.Lines.Add('****************************************');
      SynEdit1.Text := GetHTML(Url);
      SynEdit1.Text := StringReplace(SynEdit1.Text, '', #13#10, [rfReplaceAll]);
      Viewer.LoadStrings(SynEdit1.Lines, '');
      SynEdit1.Modified := True;
    end;
  except
    ShowMessage('Fehler bei Übernahme des Quelltextes!');
  end;
end;
Ich hoffe, ich konnte Dir ein wenig helfen.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 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