{ 把一个字符串IP,转化成INT64格式。 }function funIPtoInteger(str: string): int64; stdcall; var intDotCount: integer; strSec: array[1..4] of string; i: integer; begin i := 0; intDotCount := 0; for i := 0 to length(str) - 1 do begin if str[i] = '.' then intDotCount := intDotCount + 1; end; if intDotCount - 3 <> 0 then Result := 0; for i := 1 to 3 do begin strSec[i] := Copy(str, 0, Pos('.', str) - 1); str := Copy(str, Pos('.', str) + 1, length(str) - 1); end; strSec[4] := str; for i := 1 to 4 do begin strSec[i] := funLeftFill(strSec[i], 3); end; str := ''; for i := 1 to 4 do str := str + strSec[i]; Result := strtoint64(str); end;
{ 把一个字符串,左边补零到intFillCount长度 }function funLeftFill(str: string; intFillCount: integer; intVec: Boolean = True): string; stdcall; var i: integer; begin i := 0; for i := 1 to intFillCount - length(str) do if intVec then str := '0' + str else str := str + '0'; Result := str; end;
把一个字符串IP,转化成INT64格式。
}function funIPtoInteger(str: string): int64; stdcall;
var intDotCount: integer;
strSec: array[1..4] of string;
i: integer;
begin
i := 0;
intDotCount := 0; for i := 0 to length(str) - 1 do
begin
if str[i] = '.' then
intDotCount := intDotCount + 1;
end;
if intDotCount - 3 <> 0 then Result := 0;
for i := 1 to 3 do
begin
strSec[i] := Copy(str, 0, Pos('.', str) - 1);
str := Copy(str, Pos('.', str) + 1, length(str) - 1);
end; strSec[4] := str; for i := 1 to 4 do
begin
strSec[i] := funLeftFill(strSec[i], 3); end; str := ''; for i := 1 to 4 do
str := str + strSec[i]; Result := strtoint64(str);
end;
把一个字符串,左边补零到intFillCount长度
}function funLeftFill(str: string; intFillCount: integer; intVec: Boolean = True): string; stdcall;
var i: integer;
begin
i := 0; for i := 1 to intFillCount - length(str) do
if intVec then
str := '0' + str
else
str := str + '0';
Result := str;
end;