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

如何偵測PC IP

缺席
hol
一般會員


發表:1
回覆:0
積分:0
註冊:2002-10-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-06 22:28:13 IP:211.20.xxx.xxx 未訂閱
請問各位大人:    請問BCB要如何偵測 自己的PC IP(MS XP), 把IP值填入Edit1中? 可否寫一段code給我看...    Thanks.
xw
一般會員


發表:21
回覆:7
積分:5
註冊:2004-01-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-06 23:07:18 IP:202.175.xxx.xxx 未訂閱
是不是要知道pc ip 如果是 便是如下的程式 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ExtCtrls, Winsock; //首先要添加winsock type TForm1 = class(TForm) Timer1: TTimer; Label1: TLabel; PopupMenu1: TPopupMenu; Exit: TMenuItem; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Label1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Label1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ExitClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; oldx,oldy: integer;//添加变量,用做移动窗体 oldIp: string; implementation {$R *.dfm} //下面就是关键所在了 function LIP : 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.FormCreate(Sender: TObject); begin with Label1 do //定义属性 begin Caption:=''; Font.Charset:=ANSI_CHARSET; Font.Name:='Arial'; Font.Size:=10; Font.Color:=clRed; Align:=alClient; PopupMenu:=popupmenu1; end; Timer1.Interval:=1000; Timer1.Enabled:=true; Label1.Caption:='IP:' LIP; //赋值,把Ip赋值给label1 oldIp:=LIP; BorderStyle:=bsNone; Alphablend:=true; //呵呵,这个就是让窗口变透明的办法了 Alphablendvalue:=100; FormStyle:=fsStayOnTop; //让窗体总在最前面 end; procedure TForm1.Timer1Timer(Sender: TObject); begin Label1.Caption :='IP:' LIP; if oldip <> LIP then Showmessage('IP地址已经改变,请检查!');//提醒用户 end; procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssleft in shift then //移动窗体Form1 begin Form1.Left:=Form1.Left x-oldx; Form1.Top:=Form1.top y-oldy; end; end; procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin oldx:=x; oldy:=y; end; procedure TForm1.ExitClick(Sender: TObject); begin Close; end; end.
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-06 23:09:54 IP:203.204.xxx.xxx 未訂閱
先生...請你在發問前先看清楚好嗎... 我這裡是 DELPHI 區 你給我要 BCB 的 CODE 下次注意點好唄 -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
wadecheng
一般會員


發表:3
回覆:3
積分:1
註冊:2003-12-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-21 07:34:46 IP:203.67.xxx.xxx 未訂閱
這裡不是....下面這個地方嗎?? @_@a "網際網路程式設計討論區(C Builder)"

中階會員


發表:36
回覆:142
積分:70
註冊:2003-07-24

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