我有个combobox,用户在里面输入域名,如果输入的字符串不是以:”A.B.C.D“的格式进行输入的就弹出对话筐抱错,确定后从新输入如何实现。

解决方案 »

  1.   

    Look up help of pos()
      

  2.   

    FormKeyPress 中实现
    判断字符串长度
      

  3.   

    谢谢,但我是先判断是不是合法的域名,也就是相当于它是不是一个ip地址的格式了呀,不过和ip不同的是它的成员可以是字母
      

  4.   

    就是在formKeyPress里面判断哈!
    不是所需要格式就可以不允许输入哈!
    这个还是比较好用的哈!
      

  5.   

    可以在KeyPress里判定KEY的值
    if (key < '0' or key > '9') and (Key < 'a' or key > 'b') and (Key <> '.') then
      showMessage('NO!');
      

  6.   

    我在说详细一点:
    比如如果输入的域名为:ccb.chengdu.ls.branch是合法的
    而ccb.chengdu.ls和ccb.chengdu.和ccb.是不和法的,必须有3个点,而点前后都要有东西。
      

  7.   

    要实现这个检查不难啊,就是老老实实地用笨办法一个一个检查也不是很麻烦,我随手写一个吧:function CheckDomain(DomainName):Boolean
    var
      s1,s2,s3,s4: string;
      p: integer;
    begin
      p := pos('.',DomainName);
      s1 := copy(DomainName,1,p-1);
      delete(DomainName,1,p);  p := pos('.',DomainName);
      s2 := copy(DomainName,1,p-1);
      delete(DomainName,1,p);  p := pos('.',DomainName);
      s3 := copy(DomainName,1,p-1);
      delete(DomainName,1,p);  s4 := DomainName;  if (s1='') or (s2='') or (s3='') or (s4='') then result := False
      else result := true;
    end;
    大致上就是如此,根据实际情况还要检查什么的话再加几条检查的语句就行了。