怎样在INPUTBOX里检测,所输入的IP地址是否正确(0分)

  • 主题发起人 topdelphi
  • 开始时间
T

topdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在INPUTBOX里检测,所输入的IP地址是否正确,如果不是,就提示,我的代码如下,
我的功能是要判断,输入的是不是IP地址格式,还是输入的IP是否符合要求请教如何修改下
面的程序,可以让它简化些,不用创建这么多的组件,我想只在INPUTBOX里检测就可以了,谢谢

function InputIP(var asIPAddr: string): Boolean;
var
frmInput: TForm;
hIPEdit: HWND;
begin
frmInput := CreateMessageDialog('请输入IP地址:', mtInformation, [mbOK, mbCancel]);
with frmInput do
try
Caption := 'IP地址输入窗口';
Width := 300;
Height := 110;
with TButton(Components[2]) do
begin
Left := 150;
Top := 23;
Width := 80;
Caption := '确定';
Left := Left + 50;
TabOrder := 2;
end;

with TButton(Components[3]) do
begin
Left := 150;
Top := 50;
Width := 80;
Caption := '取消';
Left := Left + 50;
TabOrder := 3;
end;

{IPEdit1 := TIPEdit.Create(frmInput);
with IPEdit1 do
begin
Parent := frmInput;
ParentWindow := TButton(Components[3]).ParentWindow;
Name := 'ipEdit1';
SetBounds(56, 32, 130, 23);
Visible := True;
TabOrder := 1;
SetFocus;
end;}
InitCommonControl(ICC_INTERNET_CLASSES);
hIPEdit := CreateWindow(WC_IPADDRESS, nil, WS_TABSTOP or WS_CHILD or WS_VISIBLE, 56, 32, 130, 23, Handle, 0, hInstance, nil);
Windows.SetFocus(hIPEdit);

Result := ShowModal = IDOK; //mrOK; IDCANCEL; IDYES
if Result then
begin
SetLength(asIPAddr, 15);
GetWindowText(hIPEdit, pChar(asIPAddr), 15);
end;
finally
Free;
end;
end;



 
修改的事件里进行正确性校验
 
谢谢你的回答,但是可以比个详细的例子我吗,我不知道这条语句怎样写啊.
 
顶部