Thank you Dave,
I learned one more think too. I was write so long time ago similar
"DelChars" function, now I delete it from my library. 'cos freepascal
has it.
Delspace delete just #32. On my test I saw #0 (I don't now how and
why)so I wroteguarantee code #0 to #32 will not useing chars so delete
very small code.
strutils.pp has many string function, I been happy, thanks again Dave
25-10-2013 15:01 tarihinde, David Copeland yazdı:
I see that the starting IP can have imbedded spaces. Trim only removes
leading and trailing space. I believe the DelSpace function will remove
all space.
Dave.
On 10/25/2013 07:31 AM, FreeMan wrote:
This is version is penultimate version :)
'127.000. 0 .01 ' result is '127.0.0.1'
I tested this in:
Kubuntu 13.10 x64
fpc svn update 25845
lazarus svn update 43320
function IP4OK(pT: String): String;
var r : TRegExpr;
i,j: Integer;
function My_Trim(S : String): String;
Const myWhiteSpace = [#0..#32];
var I: Integer;
begin
Result := '';
Try
I := 1;
while I<=Length(S)do Begin
if not(S[I]in MyWhiteSpace)then Result := Result + S[I];
Inc(I,1);
end;
Except
Result := '';
end;
end;
begin
try
Result := '';
r := TRegExpr.Create;
r.Expression := '^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$';
pT := My_Trim(pT);
if r.Exec(pT) then begin
for i := 1 to 4 do begin
J := StrToInt(r.Match[i]);
if J > 255 then begin
Result := '';
Break;
end else begin
if Result<>''then Result := Result + '.';
Result := Result + IntToStr(J);//for delete space and zero on
left
end;
end;
end;
finally
r.Free;
end;
end;
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus