Показать сообщение отдельно
  #1  
Старый 24.02.2010, 20:10
BloodFactory BloodFactory вне форума
Прохожий
 
Регистрация: 24.02.2010
Сообщения: 3
Репутация: 10
По умолчанию проверка нажатой клавиши

Есть вот такой обработчик событий:
Цитата:
procedure TForm1.xmin1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9':;
#008:;
',','.':Key:=DecimalSeparator;
else Key:=#001;
end;
end;
Проверяется какая кнопка нажата была.

Смысл в том, что я поместил несколько TEdit на форму, в которые нужно вводить только числа, можно дробные.

Для экономии кода я один обработчик привязал к ним всем.
Буквы, закарючки и прочее не вводится. Работают только цифры, BackSpace и точка или запятая (ставится DecimalSeparator). Но, при этом, этих DecimalSeparator'ов может поставится несколько и он может стоять в начале. Как можно этого избежать, что бы числа вводились корректно?
Ответить с цитированием