Avatar billede ingeman Seniormester
21. november 2009 - 10:08 Der er 6 kommentarer og
1 løsning

Mangler Delphi code til nedenstående

Function MyIP_WinHTTP( )
' Name:      MyIP_WinHTTP
' Function:  Display your WAN IP address using WinHTTP
' Usage:      ret = MyIP_WinHTTP( )
' Returns:    WAN (or global) IP address
'
' This script uses WhatIsMyIP.com's automation page
' http://www.whatismyip.com/automation/n09230945.asp
'
' Written by Rob van der Woude
' http://www.robvanderwoude.com
    Dim lngStatus, objHTTP, objMatch, objRE, strText, strURL
    ' Return value in case the IP address could not be retrieved
    MyIP_WinHTTP = "0.0.0.0"
    ' Retrieve the URL's text
    strURL = "http://www.whatismyip.com/automation/n09230945.asp"
    Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
    objHTTP.Open "GET", strURL
    objHTTP.Send
    ' Check if the result was valid, and if so return the result
    If objHTTP.Status = 200 Then MyIP_WinHTTP = objHTTP.ResponseText
    Set objHTTP = Nothing
End Function
Avatar billede kroning Nybegynder
21. november 2009 - 11:33 #1
Du kan bruge Indy´s HTTP komponent til det.

Husk at tilføje IdHTTP til din uses;

function MyIP_WinHTTP : string;
begin
//Return value in case the IP address could not be retrieved
    MyIP_WinHTTP:='0.0.0.0';
    with TIdHTTP.Create do
  begin
      try
          Result:=Get('http://www.whatismyip.com/automation/n09230945.asp');
    except
        on E:exception do Result:=E.Message;
    end;
    Free;
  end;
end;
Avatar billede kroning Nybegynder
21. november 2009 - 11:37 #2
Denne følger din kode bedre:

function MyIP_WinHTTP : string;
begin
//Return value in case the IP address could not be retrieved
    MyIP_WinHTTP:='0.0.0.0';
    with TIdHTTP.Create do
  begin
      try
          Result:=Get('http://www.whatismyip.com/automation/n09230945.asp');
    except
        //on E:exception do Result:=E.Message;
    end;
    Free;
  end;
end;
Avatar billede kroning Nybegynder
21. november 2009 - 11:39 #3
Det skal vist være sådan:

function MyIP_WinHTTP : string;
begin
    with TIdHTTP.Create do
  begin
      try
          Result:=Get('http://www.whatismyip.com/automation/n09230945.asp');
    except
        Result:='0.0.0.0';
    end;
    Free;
  end;
end;
Avatar billede ingeman Seniormester
21. november 2009 - 12:25 #4
Jeg kan ikke lige fåe den til at køre ?

with TIdHTTP.Create do //her siger den (3850): Not enough actual parameters
Avatar billede kroning Nybegynder
21. november 2009 - 12:41 #5
Hvilken Indy version har du? Du burde have version 10.2.x som er den nyeste.
Men ellers prøv:
with TIdHTTP.Create(nil) do
Avatar billede ingeman Seniormester
21. november 2009 - 15:30 #6
Det virker - åbn svar
Avatar billede kroning Nybegynder
21. november 2009 - 16:27 #7
Svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester