IP地址输入框制作

原创 2006年06月20日 11:34:00

unit IpInput;

interface

uses
  Windows,Dialogs,SysUtils,Classes,Graphics,Forms,Controls,StdCtrls,Buttons,ExtCtrls,
            ComCtrls,Commctrl;

type
  TInputIpFrm = class(TForm)
    SpdBfdftnCancle: TLabel;
    SpdBtnOK: TSpeedButton;
    SpdBtnCancle: TSpeedButton;
    procedure FormShow(Sender: TObject);
    procedure SpdBtnOKClick(Sender: TObject);
    procedure SpdBtnCancleClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private

  public
    ipEdit:HWND;
    m_CommunicationIP:String;
    ipAddress:integer;
   
    procedure GetIPNum(strIniIP:String;out nFirst,nSecond,nThird,nForth:integer);
  end;

var
  InputIpFrm: TInputIpFrm;


implementation


{$R *.dfm}


procedure TInputIpFrm.GetIPNum(strIniIP:String;out nFirst,nSecond,nThird,nForth:integer);
var
    str,strNum,strTemp:String;
begin
    str:='.';
    try
        strTemp:=strPos(PChar(strIniIP),PChar(str));
        strNum:=Copy(strIniIP,1,Length(strIniIP) - Length(strTemp));
        nFirst:=StrToInt(strNum); 

        strIniIP:=Copy(strTemp,2, Length(strTemp));
        strTemp:=strPos(PChar(strIniIP),PChar(str));
        strNum:=Copy(strIniIP,1,Length(strIniIP) - Length(strTemp));
        nSecond:=StrToInt(strNum);

        strIniIP:=Copy(strTemp,2, Length(strTemp));
        strTemp:=strPos(PChar(strIniIP),PChar(str));
        strNum:=Copy(strIniIP,1,Length(strIniIP) - Length(strTemp));
        nThird:=StrToInt(strNum);

        strIniIP:=Copy(strTemp,2, Length(strTemp));
        strTemp:=strPos(PChar(strIniIP),PChar(str));
        strNum:=Copy(strIniIP,1,Length(strIniIP) - Length(strTemp));
        nForth:=StrToInt(strNum);
    except
        nFirst:=192;
        nSecond:=168;
        nThird:=0;
        nForth:=198;
        showmessage('');
    end;

end;


procedure TInputIpFrm.FormShow(Sender: TObject);
var
    nFirst,nSecond,nThird,nForth:integer;
begin
    GetIPNum(m_CommunicationIP, nFirst, nSecond, nThird, nForth);

    ipAddress:=MAKEIPADDRESS(nFirst,nSecond,nThird,nForth);//初始化 IP地址

    SendMessage(ipEdit,IPM_SETADDRESS,0,ipAddress);//show   the   current   address
   
    SendMessage(ipEdit,IPM_SETFOCUS,0,0); //select   the   first   field
     { }
end;

procedure TInputIpFrm.SpdBtnOKClick(Sender: TObject);
begin
    SendMessage(ipEdit,IPM_GETADDRESS,0,longint(@ipAddress));

    if ipAddress = 0   then
    begin
        beep;
        SendMessage(ipEdit,IPM_SETFOCUS,0,0);//select   the   first   field
        Application.MessageBox('IP地址非法!','警告',mb_OK + MB_ICONWARNING);
        modalResult:=mrNone;
    end
    else
    begin       
        m_CommunicationIP:=IntToStr(FIRST_IPADDRESS(ipAddress))+'.'
                          +IntToStr(SECOND_IPADDRESS(ipAddress))+'.'
                          +IntToStr(THIRD_IPADDRESS(ipAddress))+'.'
                          +IntToStr(FOURTH_IPADDRESS(ipAddress));
                      { }
        self.Close;
    end;

end;

procedure TInputIpFrm.SpdBtnCancleClick(Sender: TObject);
begin
    self.Close;
end;

procedure TInputIpFrm.FormDestroy(Sender: TObject);
begin
    InputIpFrm:=nil;
end;

procedure TInputIpFrm.FormCreate(Sender: TObject);
begin
    InitCommonControl(ICC_INTERNET_CLASSES);

    ipEdit:=CreateWindow(WC_IPADDRESS,nil,WS_CHILD   or   WS_VISIBLE,
                        65,20,160,25,self.Handle,0,hInstance,nil);

end;

end.

ip输入处理函数ip_input()小结

ip输入处理函数ip_input()小结当有帧数据到达网络接口时,网络设备驱动程序会调用m_devget()函数创建一mbuf链表,将收到的帧的数据部分(从ip首部开始) 存放到该mbuf链中.然后调...
  • cycuest
  • cycuest
  • 2007年05月10日 20:26
  • 1923

IP地址格式输入文本框

IP地址格式输入文本框。 话不多说,直接贴图: 这里写了三个类: //监听类 KeyBoardListener.java /**  * 数值输入文本框。  * 该数值输入文本框具有:  * 设置...
  • wqjsir
  • wqjsir
  • 2011年08月04日 21:59
  • 6358

IP地址输入框For QT5.7-windows

  • 2017年11月08日 20:35
  • 44KB
  • 下载

IP地址输入框c#源码

  • 2013年06月30日 10:30
  • 80KB
  • 下载

完全可用的WEB IP地址输入框

满3位数\ 按空格键\方向键\回车键 自动跳到下一个 '.' 后面。 输入必须是数字限制、0~255 范围限制、 根据需要可能添加 地址有效性检查、多播地址检查等。 div.IPDiv{b...

IP地址输入控件和输入框

  • 2006年02月23日 09:05
  • 2KB
  • 下载

IP地址输入框vs2005

  • 2014年09月19日 18:40
  • 11KB
  • 下载

C#创建IP地址输入框

本文欲开发一个控件名为IPAddressTool的IP地址输入框 1.思路:一个IPAddressTool由四个TextBox和三个Label组成,在窗口中做好布局,将四个TextBox和三个Labe...

JQuery插件 IP地址输入框

  • 2010年12月20日 23:56
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IP地址输入框制作
举报原因:
原因补充:

(最多只允许输入30个字)