比如,
ip1:192.168.123.1
ip2:192.168.0.1如何比较他们是否相等,或者近似

解决方案 »

  1.   

    相等可以直接用字符串比较,近似没个标准,没法比……
    if AnsiCompareText(Field, 'ID')=0 then
    begin
          if temp1^.ID>temp2^.ID then result:=1
          else if temp1^.ID<temp2^.ID then result:=-1
          else result:= 0;
    end;
      

  2.   

    也可以用CompareStr(Edit1.Text, Edit2.Text); 这种方式进行比较
      

  3.   

    要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果一网络号,如果网络号相同,就在同一子网,否则,不在同一子网。 
    例:假定选择了子网掩码255.255.254.0,现在分别将上述两个IP地址分别与掩码做与运算,如下所示: 
    211.95.165.24 11010011 01011111 10100101 00011000 
    255.255.254.0 11111111 11111111 111111110 00000000 
    与的结果是: 11010011 01011111 10100100 00000000 211.95.164.78 11010011 01011111 10100100 01001110 
    255.255.254.0 11111111 11111111 111111110 00000000 
    与的结果是: 11010011 01011111 10100100 00000000 可以看出,得到的结果(这个结果就是网络地址)都是一样的,因此可以判断这两个IP地址在同一个子网。