Entwickler-Ecke

Internet / Netzwerk - Quelltext Anzeigen


Trialer03 - So 05.10.08 19:34
Titel: Quelltext Anzeigen
Hallo! Ich wollt mal fragen wie ich es hin krieg, dass ich nicht immer eine Feste Seite angeben muss im den Quelltext mir rauszukopieren?
Bisher hab ich es so gelöst:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
function LoadFromURL(url:string;var Data:string):Boolean;
const BufferSize = 256;
var
  Buffer: array[1..BufferSize] of char;
  BufferLen: DWORD;
  ok:Boolean;
  hSession:HInternet;
  hUrl:HInternet;
begin
  result:=false;
  data:='';
  try
    hSession := InternetOpen(Nil, INTERNET_OPEN_TYPE_PRECONFIG, nilnil,0);
    hURL := InternetOpenURL(hSession,PChar(URL),nil,0,INTERNET_FLAG_RELOAD,0);
    if hURL=Nil then
    begin
      exit;
    end
  except
    exit;
  end;

  try
    if hURL<>Nil then
    begin
      repeat
        ok:=InternetReadFile(hURL, @Buffer, SizeOf(buffer), BufferLen);
        if not ok then
        begin
          data:='';
          result:=false;
          exit;
        end;
        data:=data+copy(buffer,1,bufferlen);
      until bufferlen<SizeOf(Buffer);
      Result:=True;
    end;
  finally
    InternetCloseHandle(hURL);
    InternetCloseHandle(hSession);
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var data:string;
begin
  if loadFromURL ('http://www.the-lounge.org',data) then
    memo1.Lines.text:=data
  else
    memo1.Lines.text:='Seite nicht gefunden!';
end;

Hat der wer ne Idee wie ich das mit einer Edit Kompo hinkriegn könnte?

Moderiert von user profile iconGausi: Code- durch Delphi-Tags ersetzt und Code leserlich formatiert.


GericasS - So 05.10.08 19:36

Könntest du deinen Source in packen damit er besser zu lesen ist.

LG

GericasS


Trialer03 - So 05.10.08 19:41

user profile iconGericasS hat folgendes geschrieben Zum zitierten Posting springen:
Könntest du deinen Source in packen damit er besser zu lesen ist.

LG

GericasS

Ich denke mal es wird auch so gehn oder? http://paste2.org/p/82618


jaenicke - So 05.10.08 19:48

:shock: Wie wäre es mit einer ordentlichen Quelltextformatierung? Dazu gibt es Styleguides, wie Quelltext aussehen sollte, direkt von Codegear: http://dn.codegear.com/article/10280, oder auch auf deutsch: http://www.delphi-treff.de/delphi-styleguide/

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
function LoadFromURL(url: stringvar Data: string): Boolean;
const
  BufferSize = 256;
var
  Buffer: array[1..BufferSize] of char;
  BufferLen: DWord;
  ok: Boolean;
  hSession: HInternet;
  hUrl: HInternet;
begin
  Result := false;
  data := '';
  try
    hSession := InternetOpen(Nil, INTERNET_OPEN_TYPE_PRECONFIG, nilnil0);
    hURL := InternetOpenURL(hSession, PChar(URL), nil0, INTERNET_FLAG_RELOAD, 0);
    if hURL = nil then
      exit;
  except
    exit;
  end;

  try
    if hURL <> nil then
    begin
      repeat
        ok := InternetReadFile(hURL, @Buffer, SizeOf(buffer), BufferLen);
        if not ok then
        begin
          data := '';
          result := false;
          exit;
        end;
        data := data + Copy(buffer, 1, bufferlen);
      until bufferlen < SizeOf(Buffer);
      Result:=True;
    end;
  finally
    InternetCloseHandle(hURL);
    InternetCloseHandle(hSession);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  data: string;
begin
  if loadFromURL('http://www.the-lounge.org', data) then
    memo1.Lines.text := data
  else
    memo1.Lines.text := 'Seite nicht gefunden!';
end;
Und statt <span class="inlineSyntax"></span> nimm lieber <span class="inlineSyntax"><span class="codecomment">{PROTECTTAG860fe42b6718ad00d38d849ffca4d8e1}</span></span> ;-). Hier in deinem Beitrag oben hat user profile iconGausi das für dich erledigt.

user profile iconTrialer03 hat folgendes geschrieben Zum zitierten Posting springen:
Hat der wer ne Idee wie ich das mit einer Edit Kompo hinkriegn könnte?
Statt der Adresse als String eben Edit1.Text:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Button1Click(Sender: TObject);
var
  data: string;
begin
  if loadFromURL(Edit1.Text, data) then
    memo1.Lines.text := data
  else
    memo1.Lines.text := 'Seite nicht gefunden!';
end;


Trialer03 - So 05.10.08 20:10

Danke jaenicke für die Hilfe, beim nächsten mal werd ich gleich die Delphi tags nehmen...