Куда поставить setfocus | |
---|---|
vadim Автор |
У меня для объекта text6
в методе LostFocus стоит IF !empty(this.Value) AND LEN(alltrim(this.Value))!=6 WAIT 'Индекс должен состоять из 6 символов' WINDOW nowait thisform.text6.SetFocus ENDIF Почему при вводе '11111' перехожу на следующее поле а не в этом остаюсь? |
Re: Куда поставить setfocus | |
---|---|
Penner Сообщений: 4102 Откуда: Muenster Дата регистрации: 26.04.2002 |
может проверку лучше в Valid делать?
|
Re: Куда поставить setfocus | |
---|---|
vadim Автор |
Если в Valid
IF !empty(this.Value) AND LEN(alltrim(this.Value))!=6 WAIT 'Индекс должен состоять из 6 символов' WINDOW nowait return .f. ENDIF ТО сообщение 'Invalid input' а хотелось бы по русски |
Re: Куда поставить setfocus | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
Penner правильно сказал о переносе в Valid, но с испралениями
Цитата: Отредактировано (05.04.05 12:06) ------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
Re: Куда поставить setfocus | |
---|---|
vadim Автор |
ОК
|
Re: Куда поставить setfocus | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi vadim!
1) Для предотвращения ухода с контрола используй NODEFAULT вместо This.SetFocus() 2) RETURN 0/.F. в Valid - крайне недружественное решение. Подумай лучше о том, чтобы сделать не жёсткую проверку, а мягкую - покрасить текстбокс, запретить кнопку Save и т.п. А не выпускать пользователя из контрола - убого. Учитывая что ему срочно может понадобиться что-то другое сделать! А с RETURN 0 он ни форму закрыть, ни кнопку Отмена нажать не сможет! Или тебе придётся для этого гору ненужного кода писать. ------------------ WBR, Igor |
Re: Куда поставить setfocus | |
---|---|
Каратаев Сообщений: 3977 Откуда: Алматы Дата регистрации: 04.12.2001 |
Это 100-пудово! Сам в одной из своих программ нарвался на такое. Теперь всячески избегаю этого return 0 в Valid ------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. |
Re: Куда поставить setfocus | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
Конечно, никто и не предлагает просто написать RETURN 0 и оставлять пользователя в недоумении. Предупредительно-поучающее-угрожающая составляющая диалога должна присутствовать и от реакции пользователя на неё выбираться следующий шаг. Написать RETURN 0 или, например, задизеблить контрол сохранения информации без указанного выше даст одинаковый результат.
Отредактировано (05.04.05 13:14) ------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
Re: Куда поставить setfocus | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi AleksM!
Дык именно против RETURN 0 я и говорю А не про "проверку вообще". ------------------ WBR, Igor |
© 2000-2024 Fox Club  |