--- ---

Checking if a string is a number is quite simple, all we have to do is check if all it's characters are numbers. The situation becomes more complicated when you wish to recognize symbols ('+', '-', '$' etc.), but I'll leave that out for now. This code uses PChar as the parameter for speed reasons. If you want to send a string value to the function just typecast it.

    function IsNumber(pcString: PChar): Boolean;
    begin
      Result := False;
      while pcString^ <> #0 do // 0 indicates the end of a PChar string
        if not (pcString^ in ['0'..'9']) then
          Exit;
        Inc(pcString);
      end;
      Result := True;
    end;

See an extended version of this routine – IsNumeric – in the DelphiDabbler Code Snippets Database. This routine can optionally check for floating point numbers.