Показать сообщение отдельно
  #6  
Старый 26.02.2009, 13:15
Darken Darken вне форума
Прохожий
 
Регистрация: 24.02.2009
Сообщения: 48
Репутация: 10
По умолчанию

совместив два ранее предложенных пожхода получили нечто

PHP код:
var
  
s: string;
  
i: Integer;
  
f: Double;

procedure TForm4.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
    
if Key = '.' then Key := ','      //замена точки запятой
    
else
      if 
not ( Key in [ '0'..'9' , '.' , #8 , #46 ] ) then Key := #0;


  
s:= Edit1.Text;                //проверка ввода
  
if TryStrToInt(s, i) then
  begin
    Label5
.Caption:='Целое';
    exit;
  
end;
  if 
TryStrToFloat(s, f) then
  begin
     Label5
.Caption:='Дробное';
    exit;
  
end;
   
Label5.Caption:='Ошибка';
  
end; 

Но, почему-то если ввести число 4, например - выдает ошибку, если 44 - тогда пишет, что целое...

И еще хотя это и не нужно в данном проекте, но если ввести число более 12 знаков - выдает, что оно дробное, почему?
Ответить с цитированием