如何在Delphi中检查IP地址是否在两个IP的范围内?

Lea*_*dri 2 delphi ip ipv4 delphi-7

我想检查IP地址是否在最小和最大IP地址范围内.我怎么能在Delphi中做到这一点?

例如,我想做这样的事情:

if CheckIp("127.0.0.15","127.0.0.1","127.0.0.255") then ShowMessage('ok');
Run Code Online (Sandbox Code Playgroud)

127.0.0.1是范围的起始值,127.0.0.255是范围的结束值,127.0.0.15是要检查的IP地址.

Rem*_*eau 7

对于IPv4地址,您只需将它们转换为整数形式,然后对它们执行标准序数比较.

IPv6地址太大而无法转换为整数(除非您使用第三方BigInt库),因此您必须将它们转换为二进制形式并逐个字节地进行比较.