Hello,
Lazarus Revision 43315
TRegExpr class in "/opt/lazarus/components/synedit/synregexpr.pas"

I need check IP address, my IP4OK function for this. If I sent variable result is false, but sent parameter like '127.0.0.1' result is true, what is wrong?


EDT_IP: TMaskEdit;
......
EDT_IP.EditMask:= '!999.999.999.999;1; ';
......

function IP4OK(pT: string): boolean;
var r  : TRegExpr;
    i  : integer;
    IP : String;
begin
  r := TRegExpr.Create;
  r.Expression := '^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$';
  IP := pT;
  Result := r.Exec(pT);  //Line 1.
  Result := r.Exec(IP); //Line 2.
  IP := '127.0.0.1';
  Result := r.Exec(IP);  //Line 3.
  Result := r.Exec('127.0.0.1'); //Line 4.
  r.Free;
end;

firts test:
if IP4OK('127.0.0.1') then .... if I use this function like this, "// Line X. " all r.Exec function return True


second test via vairable:
run project and type "127.0.0.1" in EDT_IP then trigger
if IP4OK(EDT_IP.Text) then .... if I use this function like this,
"// Line 1. " r.Exec function return FALSE
"// Line 2. " r.Exec function return FALSE
"// Line 3. " r.Exec function return TRUE
"// Line 4. " r.Exec function return TRUE


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to