Avatar billede canker Nybegynder
25. juni 2002 - 14:01 Der er 13 kommentarer og
1 løsning

ip-adresse

en funktion til at returnere maskinens ip-adresse??

jeg bruger

nmmsg1.getLocalAddres  - og den returnere forkert
Avatar billede dk_akj Nybegynder
25. juni 2002 - 14:04 #1
Jeg har en til VB (et api kald) hvis det kan bruges ??

//akj
Avatar billede canker Nybegynder
25. juni 2002 - 14:04 #2
prøv
Avatar billede dk_akj Nybegynder
25. juni 2002 - 14:09 #3
Dooh læste dit spørgsmål forkert, tænkte på pc'ens navn.

Nåh, men jeg kan da fortæller at whis du bruger winsock (tcp/ip ocx) kontrollen har den en property der hedder LocalIp

VB eks:
MsgBox Winsock1.LocalIP

Håber du kan bruge det
//akj
Avatar billede dk_akj Nybegynder
25. juni 2002 - 14:10 #4
ActiveX'ens filnavn er Mswinsck.ocx.

//akj
Avatar billede canker Nybegynder
25. juni 2002 - 14:10 #5
prøver powersock
Avatar billede canker Nybegynder
25. juni 2002 - 14:16 #6
kom med et svar
Avatar billede dk_akj Nybegynder
25. juni 2002 - 14:20 #7
Du fik det til at virke ??

//akj
Avatar billede dkn Nybegynder
25. juni 2002 - 15:12 #8
Fra delphi help:

Declaration
function GetLocalAddress: String;

Description
The GetLocalAddress method will return the local IP address formatted for sending to an FTP server when initiating a data transfer.

Notes:
The string returned by this function is not a standard dotted IP address in xxx.xxx.xxx.xxx format.
The purpose of GetLocalAddress is solely for communication with an FTP server



*****
Du skal bruge:

uses WinSock;
   
var  Form1: TForm1;
    wsaData : TWSAData;
   
implementation
    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    begin  WSAStartup( 257, wsaData );
      Edit1.Text := 'Host: ' + GetHostByName(NIL)^.h_name +
        ' IP : ' + iNet_ntoa(PInAddr(GetHostByName(NIL)^.h_addr_list^)^);
      WSACleanup;
    end;
    end.
Avatar billede dkn Nybegynder
25. juni 2002 - 15:14 #9
Lidt lettere at se

procedure TForm1.Button1Click(Sender: TObject);
begin
WSAStartup( 257, wsaData );
showmessage(
'Host: ' + GetHostByName(NIL)^.h_name +#13#10+
'IP : ' + iNet_ntoa(PInAddr(GetHostByName(NIL)^.h_addr_list^)^));
WSACleanup;
end;
Avatar billede waxx77 Nybegynder
11. juli 2002 - 23:47 #10
uses
winsock;

procedure TForm1.FormCreate(Sender: TObject);
var
wVersionrequested : word;
wsaData : TWSAData;
begin
wVersionrequested:=MAKEWORD(1,1);
WSAStartup(wVersionrequested,wsaData);

end;

procedure TForm1.Button1Click(Sender: TObject);

var
p : PHostEnt;
s : array[0..128] of char;
p2 : pchar;

begin
getHostName(@s,128);
p:=GetHostByName(@s);
memo1.Lines.add('Hostname  -> '+p^.h_Name);
p2:=iNet_ntoa(pinaddr(p^.h_addr_list^)^);
memo1.Lines.Add('IP-adresse -> '+p2);

end;

end.

Dette skulle give dig pc'ens IP og hostname.....
Avatar billede waxx77 Nybegynder
12. juli 2002 - 00:02 #11
Man skal også lige huske at lukke WinSock igen......
Dette gøres med følgende

WSACleanup;
Avatar billede dkn Nybegynder
12. juli 2002 - 00:06 #12
waxx77 -> det gjorde jeg også i min kode
Avatar billede waxx77 Nybegynder
12. juli 2002 - 01:51 #13
dkn -> Sorry, Jeg fyrrede bare koden af..... så det godt bag efter :(
Avatar billede dkn Nybegynder
12. juli 2002 - 02:30 #14
okay :)
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