Uses WinINet;
Function DownloadSourceAsString(Const Url: String): String;
Var
hOpen : HINTERNET;
hOpenUrl : HINTERNET;
sReadBuffer : Array[0..1023] Of ansichar;
lNumberOfBytesRead : Cardinal;
Begin
Result := '';
{ Démarre une session Internet }
hOpen := InternetOpen(PChar(Application.ExeName), INTERNET_OPEN_TYPE_PRECONFIG, '', '', 0);
If hOpen = Nil Then
Begin
ShowMessage(SysErrorMessage(GetLastError));
exit;
End;
Try
{ se connecte à l'URL }
hOpenUrl := InternetOpenUrl(hOpen, PChar(Url), '', 0, INTERNET_FLAG_RELOAD, 0);
Try
If hOpenUrl <> Nil Then
Begin
{ récupère le texte }
Repeat
sReadBuffer := '';
InternetReadFile(hOpenUrl, @sReadBuffer, Length(sReadBuffer), lNumberOfBytesRead);
Result := Result + String(sReadBuffer);
Until lNumberOfBytesRead = 0;
End
Else
Begin
ShowMessage(SysErrorMessage(GetLastError));
exit;
End;
Finally
If hOpenUrl <> Nil Then
InternetCloseHandle(hOpenUrl);
End;
Finally
InternetCloseHandle(hOpen);
End;
End;
Procedure Tfrm_Main.btn_GoClick(Sender: TObject);
Begin
lbl_MyIP.Caption := Format('Mon IP : %s',[DownloadSourceAsString('http://www.whatismyip.org')]);
{ Fonctionne aussi avec un fichier txt }
mmo_Result.Lines.Text := DownloadSourceAsString('http://skin-ogame.hebfree.org/World_Of_Stargate/texte_evolution.txt');
End;