![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как посчитать сколько таких символов в стороке? [D7, Win95/98, Win2k]
_Просто Гость_ © (2004-12-14 20:55:00)Есть желание сделать в поле Edit возможнось ввода только цифр и знака разделителя разрядов. Ввод только цифр и разделитьея реализовать получилось, но разделитель можно ввести много раз( типа - 25.63..58, а хочется, чтобы можно было только 1 раз ввести разделитель разрядов. Может есь какие оригинальные рецепты для реализации?
_Просто Гость_ (2004-12-14 21:12:00) [1]Супер! Вот ОНО! Спасибо!
Юрий Зотов (2004-12-14 21:07:00) [2]> Может есь какие оригинальные рецепты для реализации?
Зачем для такой простой вещи искать оригинальные рецепты?
В Edit1.OnKeyPress:
if not (Key in [ #8, DecimalSeparator, '0'..'9']) or
(Key = DecimalSeparator) and (Pos(DecimalSeparator, Edit1.Text) > 0) then
Key := #0;
Anatoly Podgoretsky (2004-12-14 21:06:00) [3]and POS('.', S) > 0
_Просто Гость_ (2004-12-14 21:03:00) [4]Сейчас сделано так:
procedure Tfowners.TeEdit3KeyPress(Sender: TObject; var Key: Char);
begin
if ((key < '0') or (key > '9')) and
(key <> DecimalSeparator) then key := #0;
Хочется вести счет без цикла такое возможно?
VMcL (2004-12-14 21:00:00) [5]>> _Просто Гость_ (14.12.04 20:55)
TryStrToFloat и подобные функции не помогут?
DiamondShark (2004-12-14 21:00:00) [6]В том месте, где получилось реализовать ввод только цифр и разделителя, добавить условие "в строке уже есть разделитель".
TUser (2004-12-14 20:59:00) [7]В OnChange проверяй try StrToFloat() except showmessage('Poshel v jopu') end;
Алхимик (2004-12-14 20:59:00) [8]Ввести счётчик разделителей?