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

TIdIPWatch的怪問題?

尚未結案
mirage
初階會員


發表:40
回覆:101
積分:28
註冊:2004-01-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-17 01:34:54 IP:218.162.xxx.xxx 未訂閱
請問先進們: 我在 win2000 使用 aa1:=IdIPWatch1.LocalIP; aa1取得了對外ip :如220.130.xxx.xxx ==> 正確 , 但在xp上跑的時候,卻取得了內部保留ip:如192.168.0.1 怎麼會這樣呢?
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-17 22:34:50 IP:61.31.xxx.xxx 未訂閱
改用 function HostToIP(Name: string; var Ip: string): Boolean; var wsdata : TWSAData; hostName :Array[0..255] of Char; hostEnt : PHostEnt; addr : PChar; begin IP :=''; if WSAStartup ($0101, wsdata) = 0 then try gethostname (hostName, sizeof (hostName)); StrPCopy(hostName, Name); hostEnt := Gethostbyname (hostName); if Assigned (hostEnt) then if Assigned (hostEnt^.h_addr_list) then begin addr := hostEnt^.h_addr_list^; if Assigned (addr) then begin IP := Format ('%d.%d.%d.%d', [byte (addr [0]), byte (addr [1]), byte (addr [2]), byte (addr [3])]); Result := True; end else Result := False; end else Result := False else Result := False; finally WSACleanup; end end; procedure TForm1.Button2Click(Sender: TObject); var AIP:string; begin HostToIP('MYCOMPUTERNAME',AIP); Showmessage(AIP); end; 試試!
mirage
初階會員


發表:40
回覆:101
積分:28
註冊:2004-01-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-17 23:22:07 IP:218.162.xxx.xxx 未訂閱
wameng 兄 您好: 上述程式碼在2000server取的ip是空字串. 發表人 - mirage 於 2004/10/18 00:18:35
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-18 09:56:52 IP:61.222.xxx.xxx 未訂閱
我試過在2000 server 依然可以。 HosttoIP 主要是將 Host名稱取得 IP 如www.yahoo.com.tw--> IP... 因此帶入該電腦名稱,應該會得到對外連接的IP。
mirage
初階會員


發表:40
回覆:101
積分:28
註冊:2004-01-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-18 20:55:07 IP:218.162.xxx.xxx 未訂閱
wameng兄 您好: 對不起沒看清楚是要輸入url反查ip, 我試過用url及hostname在xp上run還是抓到內部ip. 但在2000上可以. 我搜索本站查到1個範例,可以選擇要抓外部或保留ip, 但是他原始碼有作保護,無法查看到程式跑的流程(我倒是對他,保護原始碼的方法好奇,以前沒見過,也沒聽過可以如此作保護), wameng兄 您功力較高,是否有興趣要一起參與: 檔案名稱:quickip.zip 檔案大小:162117(Bytes) 檔案日期:9/30/1997 5:16:00 PM http://delphi.ktop.com.tw/loadfile.php?TOPICID=1648584&CC=36876 裡面有一個檔案 ras.pas 是delphi2的檔案,我找不到. 謝謝!
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-18 21:59:11 IP:61.222.xxx.xxx 未訂閱
mirage,您好! 您說的 quickip.zip 程式。 >原始碼有作保護 沒有啦!應該是該作者粗心,未將 RAS.PAS 包進去。 事實上,RAS.PAS 為 RAS.H 宣告檔頭。 您可以在 Delphi 深度歷險中找到。 不過有些定義名稱與該作者所定義的略有出入。 可能引用後,仍然要作小幅度的修改。
mirage
初階會員


發表:40
回覆:101
積分:28
註冊:2004-01-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-10-26 02:06:50 IP:218.162.xxx.xxx 未訂閱
謝謝!
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-10-26 12:08:45 IP:219.133.xxx.xxx 未訂閱
估计要这样做,我没做过,猜的: 你的电脑有几个“连接”。每个连接有不同的IP。 先要列举出所有的连接,然后看它的IP。 WINDOWS现在又支持一个网卡设置多个IP。就更复杂了。
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-04-26 13:51:27 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-19 2:31:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!