Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] *Теория* | Контроль ввода в компоненте Edit (http://forum.oszone.net/showthread.php?t=69344)

Drongo 03-08-2006 01:14 467657

*Теория* | Контроль ввода в компоненте Edit
 
Скажите, как сделать так, чтобы при вводе цифр, нужно чтобы первая цифра, была меньше второй. Тоесть если введено 2(два), то вторая цифра была больше хотя бы на единицу. Или лучше всего можно было возратиться к редактированию. Конретно вот что... Есть два компонента Edit1 и Edit2, в первый вводится допустим два, во второй 1 или 2, и тут нужно или запретить ввод цифр меньше введённого в Edit1 или хотя бы НЕ просто вывести MessageBox с сообщением об ошибке (это есть, но программа продолжает присваивать неправильное число в Edit2, и результат получается неправильный), а НЕ давать ввести неправильное данное или как-то возратиться к редактированию поля Edit2. Подскажите пожалуйста решение? Знаю, что можно через KeyPress можно... Но у меня там проверяет на ввод, чтобы не ввводились буквы там всякие символы... Как это сделать? Ведь можно как-то или подскажите ссылку дайте или описание.

CyberDaemon 03-08-2006 07:59 467692

Ну и проверяй в обработчике, че там в Edit2 занесло. Если не то, очищаешь его и не производишь обработку результата.

Кстати,
Цитата:

Знаю, что можно через KeyPress можно... Но у меня там проверяет на ввод, чтобы не ввводились буквы там всякие символы..
Ввод только цифр леххко реализуется компонентом MaskEdit.

Arrest 03-08-2006 11:04 467765

В обработчик Edit1->onExit и Edit2->onExit пишешь
Код:

if(Edit2->Text != "" && Edit1->Text != "" && StrToInt(Edit2->Text)<=StrToInt(Edit1->Text){
//если оба Edit'а не пусты то проверяем их на
//валидность
Edit2->Text=""; //Очищаем Edit2...
Edit2->SetFocus(); //...и устанавливаем фокус на него.
Application->MessageBox("Error", "Error", 16); //Показываем Messagebox.
}

Код C++.

Drongo 13-08-2006 14:39 471479

Arrest, Спасибо огромное работает ВСЁ!!! :) :)


Время: 00:10.

Время: 00:10.
© OSzone.net 2001-