Тема: Як зробити, щоб у едіті можна було вписати лише 1 кому?

Як зробити, щоб у едіті можна було вписати лише 1 кому? Намагався зробити ось так:

k:=edt1.Text;
r:=r+1;
if (k[r]=',') and (k[r-1]=',') then edt1.text:='Ви ввели зайву кому';

але ,натиснувши на будь-яку кнопку, зразу ж показує помилку(вибиває вікно з помилкою).
Що це таке і як з цим справитись? Підскажіть будь-ласка.

2

Re: Як зробити, щоб у едіті можна було вписати лише 1 кому?

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=',' then
  if (pos(',',Edit1.Text)>0) then key:=#0;
end;
x

3

Re: Як зробити, щоб у едіті можна було вписати лише 1 кому?

MaskedEdit чи як там його... можливо SpinEdit вміє приймати дробові числа

4

Re: Як зробити, щоб у едіті можна було вписати лише 1 кому?

Віталій
Подумайте, як спрацює ваш код, якщо в edt1 буде лише один символ. Крім того, незрозуміло якого значення набуде r.