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