Показать сообщение отдельно
  #6  
Старый 26.09.2013, 11:45
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

В обработчике, где вводятся суммы найдите событие OnKeyPress и впишите в него следующий код:

Код:
Var k:integer;
begin
if Edit1.Text='0' then 
  if not(key in [',',#8]) then key:=#0;
if key in['0'..'9',',',#8] then //разрешаем вводить только числа
  begin
  if key=',' then //проверка для только одной запятой
    begin
    if Edit1.Text='' then key:=#0;
      For k:=1 to Length(Edit1.Text) do
      begin
      if Edit1.Text[k]=',' then key:=#0;
      end;
    end;
  end else key:=#0;

Это старый "универский" вариант

вместо not(Key in [...]) сейчас используют CharInSet функцию.
А начиная с 2010 delphi у Edit появилось свойство NumbersOnly.
Ответить с цитированием