Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
8-94036
mazepa
2003-10-09 15:22
2004.02.29
Распознавание речи


14-94147
Pavel
2004-02-08 17:14
2004.02.29
Windows messages


8-94040
Junior
2003-10-25 13:43
2004.02.29
Построение графика динамически


14-94148
Knight
2004-02-04 23:41
2004.02.29
Есть ли место 486-му в современной локалке?


1-93949
Grihan
2004-02-17 17:53
2004.02.29
ModalResult





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский