全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1876
推到 Plurk!
推到 Facebook!

得自IP的問題?

答題得分者是:banson1716
dangerwang
一般會員


發表:3
回覆:3
積分:1
註冊:2002-08-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-30 01:18:15 IP:61.225.xxx.xxx 未訂閱
我想要得知上網後的IP 因為我用的是IP分享器 所以IP並非是上網後的IP 所以想請各位大大 有沒有辦法得到上網後的IP 謝謝各位大大的幫忙
jaya
初階會員


發表:9
回覆:70
積分:30
註冊:2002-05-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-30 09:21:06 IP:211.21.xxx.xxx 未訂閱
Indy的元件實在很多,可以說是用那個元件嗎 ?
banson1716
高階會員


發表:55
回覆:182
積分:167
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-31 03:10:01 IP:61.223.xxx.xxx 未訂閱
參考看看是不是你的問題 function GetIP:string;//自制顯示IP地址的函數 type TaPInAddr = array [0..10] of PInAddr; PaPInAddr = ^TaPInAddr; var phe:PHostEnt; pptr:PaPInAddr; Buffer:array [0..63] of char; I:Integer; GInitData:TWSADATA; begin WSAStartup($101,GInitData); Result := ''; GetHostName(Buffer,SizeOf(Buffer)); phe := GetHostByName(buffer); if phe = nil then Exit; pptr := PaPInAddr(Phe^.h_addr_list); I := 0; while pptr^[I] <> nil do begin result := StrPas(inet_ntoa(pptr^[I]^)); Inc(I); end; WSACleanup; end; {$R *.dfm} procedure GetHostInfo(var Name, Address: string); var WSAData: TWSAData; HostEnt: PHostEnt; begin WSAStartup(2, WSAData); SetLength(Name, 255); Gethostname(PChar(Name), 255); SetLength(Name, StrLen(PChar(Name))); HostEnt := gethostbyname(PChar(Name)); with HostEnt^ do Address := Format('%d.%d.%d.%d',[Byte(h_addr^[0]),Byte(h_addr^[1]),Byte(h_addr^[2]), Byte(h_addr^[3])]); WSACleanup; end; function TForm1.LocalIP: string; type TaPInAddr = array [0..10] of PInAddr; PaPInAddr = ^TaPInAddr; var phe: PHostEnt; pptr: PaPInAddr; Buffer: array [0..63] of char; i: Integer; GInitData: TWSADATA; begin WSAStartup($101, GInitData); Result := ''; GetHostName(Buffer, SizeOf(Buffer)); phe :=GetHostByName(buffer); if phe = nil then Exit; pptr := PaPInAddr(Phe^.h_addr_list); i := 0; while pptr^[i] <> nil do begin result:=StrPas(inet_ntoa(pptr^[i]^)); Inc(i); end; WSACleanup; end; procedure TForm1.Button1Click(Sender: TObject); var WSAData: TWSAData; HostEnt: PHostEnt; sComputerName, sIP, S0: string; begin sComputername:=edit1.text; WSAStartup(2, WSAData); HostEnt := gethostbyname(PChar(sComputerName)); if HostEnt <> nil then begin with HostEnt^ do sIP := Format('%d.%d.%d.%d', [Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]); end; WSACleanup; edit2.text:=sIP; edit3.text:= GetIP; edit4.text:= LocalIP; end; end.
luckfox
一般會員


發表:34
回覆:40
積分:24
註冊:2002-10-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-31 10:18:35 IP:211.75.xxx.xxx 未訂閱
//使用winsock #include "winsock2.h" USELIB("w2_32.lib"); #define StrLen 255 //------------------------------------------- LPHOSTENT lpHostEnt; char sHostName[StrLen]; struct in_addr MyInAddr; WSADATA WSAData; if(WSAStartup(0x0002,&WSAData)!=ERROR_SUCCESS) return -1; gethostname(sHostName,StrLen);//取得本機名稱 Label2->Caption=AnsiString(sHostName); lpHostEnt=gethostbyname(sHostName); memcpy(&MyInAddr,lpHostEnt->h_addr_list[0],sizeof(struct in_addr));//取得本機的第一個ip,如果有多個ip,可用loop來取之 Label4->Caption=AnsiString(inet_ntoa(MyInAddr));
Jack0323
初階會員


發表:22
回覆:70
積分:28
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-12 15:14:12 IP:211.74.xxx.xxx 未訂閱
不知那位大大可以幫個忙 banson1716大大的範例 在編譯時產生錯誤 是不是要uses那些單元進來
shinhrn
中階會員


發表:54
回覆:165
積分:83
註冊:2002-06-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-23 14:26:12 IP:218.162.xxx.xxx 未訂閱
引言: 不知那位大大可以幫個忙 banson1716大大的範例 在編譯時產生錯誤 是不是要uses那些單元進來
//必須在uses多加一項Winsock
bear28
一般會員


發表:44
回覆:53
積分:19
註冊:2002-09-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-03-08 14:37:00 IP:211.23.xxx.xxx 未訂閱
謝謝 測試中.....
系統時間:2024-05-12 19:20:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!