link4402 link4403 link4404 link4405 link4406 link4407 link4408 link4409 link4410 link4411 link4412 link4413 link4414 link4415 link4416 link4417 link4418 link4419 link4420 link4421 link4422 link4423 link4424 link4425 link4426 link4427 link4428 link4429 link4430 link4431 link4432 link4433 link4434 link4435 link4436 link4437 link4438 link4439 link4440 link4441 link4442 link4443 link4444 link4445 link4446 link4447 link4448 link4449 link4450 link4451 link4452 link4453 link4454 link4455 link4456 link4457 link4458 link4459 link4460 link4461 link4462 link4463 link4464 link4465 link4466 link4467 link4468 link4469 link4470 link4471 link4472 link4473 link4474 link4475 link4476 link4477 link4478 link4479 link4480 link4481 link4482 link4483 link4484 link4485 link4486 link4487 link4488 link4489 link4490 link4491 link4492 link4493 link4494 link4495 link4496 link4497 link4498 link4499 link4500 link4501 link4502 link4503 link4504 link4505 link4506 link4507 link4508 link4509 link4510 link4511 link4512 link4513 link4514 link4515 link4516 link4517 link4518 link4519 link4520 link4521 link4522 link4523 link4524 link4525 link4526 link4527 link4528 link4529 link4530 link4531 link4532 link4533 link4534 link4535 link4536 link4537 link4538 link4539 link4540 link4541 link4542 link4543
C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
MaskEdit
Eduard
Отправлено: 14.09.2004, 17:03


Не зарегистрирован







Есть поле MaskEdit предполагающее ввод 6 цифр! Если введено, например, 5 цифр и пользователь пытается
перейти на другое поле, или нажать кнопку Отмена, закрывающую текущую форму, возникает сообщение об ошибке на ENG языке. Как перехватить ету ошибку чтобы выдать свое сообщение об ошибке на РУССКОМ! Спасибо!
Konstantine
Отправлено: 14.09.2004, 17:10


Мастер участка

Группа: Модератор
Сообщений: 545



почитай в маске что такое 0 и что такое 9
Guest
Отправлено: 16.09.2004, 18:17


Не зарегистрирован







Дело в том, что нельзя допускать чтобы пользователь ввел "ничего"! Для того и используется MaskEdit!
Возникла конкретная ситуация, когда пользователь начал вводить данные, и ввел 3 цифры вместо 6, например 456 и... передумал! Хочет закрыть форму, а ему выскакивает непонятное сообщение и все носятся по офису в поисках програмера, не зная что делать дальше!
Konstantine
Отправлено: 17.09.2004, 08:33


Мастер участка

Группа: Модератор
Сообщений: 545



пусть MaskEdit допускает пустую строку, но при выходе из контрола проверяй на значение на valid
joynter
Отправлено: 17.09.2004, 09:35


Станционный диспетчер

Группа: Участник
Сообщений: 137



try
{
bla bla ... MaskEdit1->Text;
}
catch (EDBEditError)
{
ShowMessage("повторите ввод");
}
Guest
Отправлено: 17.09.2004, 10:11


Не зарегистрирован







А что EDBEditError вызывается всегда?
Я думал только при вводе в поле
QUOTE

EDBEditError is thrown when an application attempts to use data that are incompatible with the mask specified for a field.
joynter
Отправлено: 17.09.2004, 10:25


Станционный диспетчер

Группа: Участник
Сообщений: 137



я по аглицки плохо, вот по дедушке Архангельскому:
QUOTE

Исключение EDBEditError генерируется,
если приложение пытается использовать данные,
не соответствующие заданной маске для поля.
Маска, задаваемая свойством EditMask, ограничивает данные,
которые могут вводиться в окно редактирования или в поле данных.
AVC
Отправлено: 17.09.2004, 11:26


Ветеран

Группа: Модератор
Сообщений: 1583



Не смотря на странное название EDBEditError (позволяющее предположить что это исключение для баз данных) TCustomMaskEdit порождает EDBEditError при ошибке ввода из TCustomMaskEdit.SetText и TCustomMaskEdit.ValidateError

Вернуться в Вопросы программирования в C++Builder