Показать сообщение отдельно
  #9  
Старый 30.10.2015, 23:36
Аватар для Homo-Fantasmus
Homo-Fantasmus Homo-Fantasmus вне форума
Прохожий
 
Регистрация: 23.08.2011
Адрес: МО
Сообщения: 46
Версия Delphi: Delphi, Lazarus
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Извращенцы. Микроскопом гвозди забивать не пробовали? Говорят, тоже хорошо вставляет, особенно когда осколки линз во все стороны летят...

Для данной задачи не нужно ничего, кроме ОДНОГО простого обработчика, присвоенного ВСЕМ едитам.

Код:
procedure TForm1.EditKeyPress(Sender : TObject; var Key : Char);
begin
  if Not (Key In ['0'..'9','.',#8])
    Then Key := #0
    Else
      If Key = '.' Then
        If Pos('.',(Sender As TEdit).Text) > 0 Then Key := #0;
end;
И присвой этот обработчик всем едитам в OnKeyPress.

От тиражирования одного и того-же фрагмента кода я как раз и пытаюсь уйти , а ты мне предлагаешь те-же яйца только в профиль - "присвой этот обработчик всем едитам"

Твой код на первый взгляд оптимизирован лучше...

но во первых
знак разделения дробных чисел может быть не "." а "," - это зависит от настроек конкретной ОС, а для меня важно что-бы они совпадали;
во вторых защита от ввода не нужных символов в данном случае не самоцель.

Главное хотелось бы освоить работу с DLL...
С чего-то начинать нужно..