var
  S: string;
  R: Real;
  E: Integer;
begin
  S := '<?>';
  Val(S, R, E);
  if E <> 0 then ShowMessage('唉,错了');
  Caption := S[1]; //第一个字符
end;

解决方案 »

  1.   

    在edit1.keydown中
    if key<vk_0 or key>vk_9 then
      key:=vk_space;
      

  2.   


    function IsStrANumber(NumStr : string) : boolean;
     var
       i: integer;
    begin
       for i := 1 to length(NumStr) do
          if (ord(NumStr[i]) < 48) or (ord(NumStr[i]) > 57) then
             begin
                result := false;
                exit;
             end;
       result := true;      
    end;
      

  3.   

    try
        s:=strtofloat(edit1.Text);
      except
        on ex:EConvertError do
        showmessage('Error');
      end;