Показать сообщение отдельно
  #7  
Старый 26.09.2013, 12:25
anghela anghela вне форума
Прохожий
 
Регистрация: 02.09.2013
Сообщения: 28
Версия Delphi: Delphi 7
Репутация: 9
По умолчанию

Цитата:
Сообщение от Uniq!
В обработчике, где вводятся суммы найдите событие 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.

Не работает. А есть ли какой-нибудь другой вариант?
Ответить с цитированием