Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];
ВнизКак запретить пользователю вводить определённый символ ( Найти похожие ветки
← →
Zvr@b (2004-02-16 21:35) [0]Помогите мастера!
Как запретить пользователю вводить определённый символ (например
точку). Чем пользоваться?
← →
TUser (2004-02-16 21:38) [1]showMessage("Я запрещаю тебе вводить определенный символ!");
← →
Sergey_Masloff (2004-02-16 21:50) [2]TUser © (16.02.04 21:38) [1]
>showMessage("Я запрещаю тебе вводить определенный символ! "+ #10#13 + " штраф 50 рублей " + #10#13 + " Администрация"
>);
Zvr@b ©
Смотря куда вводить. В любом случае полно событий где это можно обработать.
← →
Zvr@b (2004-02-16 22:05) [3]Да блин проблема! Мне нужно сделать расчёт. Ввожу данные в Edit, перевожу их в число, но если USER введёт в дробное число с символом ".", то прога вылетает. Я же хочу чтоб он вообще несмог сделать такой ошибки!
← →
Юрий Зотов (2004-02-16 22:15) [4]> Zvr@b © (16.02.04 22:05) [3]
Обрабатывайте событие OnKeyPress для этого Edit"а:
if not (Key in [ #8, "0".."9"]) then Key := #0;
Если допускаются отрицательные числа - добавьте к множеству символ "-"
← →
Дубинин Алексей (2004-02-16 22:16) [5]Здраствуйте. Делай таким образом. На событие OnChange просматривай что ввел пользователь. Ну например:
if copy(Edit.Text,Length(Edit.Text),1) = "." then
begin
Edit.Text := copy(Edit.Text,1,Length(Edit.Text)-1);
Edit.SelStart:=Length(Edit.Text)-1;//SelStart переместить каретку на указаннуюую позицию
end;
Надеюсь поможет.
С уважением, Дубинин Алексей
← →
Юрий Зотов (2004-02-16 22:19) [6]> Дубинин Алексей © (16.02.04 22:16) [5]
??????
← →
volkodav (2004-02-16 22:26) [7]Используй маску ввода
← →
Дубинин Алексей (2004-02-16 22:29) [8]Извиняюсь. Была маленькая оплошность в коде...
А что Юрию Зотову не понравилось? К чему так много ???????
if copy(Edit.Text,Length(Edit.Text),1) = "." then
begin
Edit.Text := copy(Edit.Text,1,Length(Edit.Text)-1);
Edit.SelStart:=Length(Edit.Text);//SelStart переместить каретку на указаннуюую позицию
end;
← →
Sergey_Masloff (2004-02-16 22:31) [9]Юрий Зотов © (16.02.04 22:19) [6]
>> Дубинин Алексей © (16.02.04 22:16) [5]
>??????
Ну наверное имеется в виду случай когда догадливый пользователь видя что с клавиатуры нужную точку не ввести попытается из клипборда копирнуть.
В любом случае смысл
>Edit.Text := copy(Edit.Text,1,Length(Edit.Text)-1);
моему пониманию не поддался
← →
Юрий Зотов (2004-02-16 22:33) [10]Дубинин Алексей © (16.02.04 22:29) [8]
> К чему так много ???????
К тому, что зачем играть в пинг-понг в валенках, если для этого существуют кроссовки?
F1 - OnKeyPress.
← →
Дубинин Алексей (2004-02-16 22:36) [11]
> К тому, что зачем играть в пинг-понг в валенках, если для
> этого существуют кроссовки?
Согласен. Просто ваш способ еще не увидел когда писал свой. Теперь и я тоже знаю как сделать проще. Спасибо. Но в любом случае мой способ, тоже способ :-))
Удачи!
← →
Zvr@b (2004-02-16 23:41) [12]Спасибо всем за активность!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c