:: Visual Foxpro, Foxpro for DOS
Куда поставить setfocus
vadim
Автор
У меня для объекта text6
в методе LostFocus стоит

IF !empty(this.Value) AND LEN(alltrim(this.Value))!=6
WAIT 'Индекс должен состоять из 6 символов' WINDOW nowait
thisform.text6.SetFocus
ENDIF

Почему при вводе '11111' перехожу на следующее поле а не в этом остаюсь?
Ratings: 0 negative/0 positive
Re: Куда поставить setfocus
Penner

Сообщений: 4102
Откуда: Muenster
Дата регистрации: 26.04.2002
может проверку лучше в Valid делать?
Ratings: 0 negative/0 positive
Re: Куда поставить setfocus
vadim
Автор
Если в Valid

IF !empty(this.Value) AND LEN(alltrim(this.Value))!=6
WAIT 'Индекс должен состоять из 6 символов' WINDOW nowait
return .f.
ENDIF

ТО сообщение 'Invalid input' а хотелось бы по русски
Ratings: 0 negative/0 positive
Re: Куда поставить setfocus
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
Penner правильно сказал о переносе в Valid, но с испралениями
Цитата:
IF !empty(this.Value) AND LEN(alltrim(this.Value))!=6
WAIT 'Индекс должен состоять из 6 символов' WINDOW nowait
retirn 0
ENDIF



Отредактировано (05.04.05 12:06)


------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: Куда поставить setfocus
vadim
Автор
ОК
Ratings: 0 negative/0 positive
Re: Куда поставить setfocus
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi vadim!

1) Для предотвращения ухода с контрола используй NODEFAULT вместо
This.SetFocus()
2) RETURN 0/.F. в Valid - крайне недружественное решение. Подумай лучше о
том, чтобы сделать не жёсткую проверку, а мягкую - покрасить текстбокс,
запретить кнопку Save и т.п. А не выпускать пользователя из контрола -
убого. Учитывая что ему срочно может понадобиться что-то другое сделать! А с
RETURN 0 он ни форму закрыть, ни кнопку Отмена нажать не сможет! Или тебе
придётся для этого гору ненужного кода писать.




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Куда поставить setfocus
Каратаев

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Igor Korolyov
А с
RETURN 0 он ни форму закрыть, ни кнопку Отмена нажать не сможет
Это 100-пудово! Сам в одной из своих программ нарвался на такое. Теперь всячески избегаю этого return 0 в Valid




------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Куда поставить setfocus
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
Конечно, никто и не предлагает просто написать RETURN 0 и оставлять пользователя в недоумении. Предупредительно-поучающее-угрожающая составляющая диалога должна присутствовать и от реакции пользователя на неё выбираться следующий шаг. Написать RETURN 0 или, например, задизеблить контрол сохранения информации без указанного выше даст одинаковый результат.



Отредактировано (05.04.05 13:14)


------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: Куда поставить setfocus
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi AleksM!

Дык именно против RETURN 0 я и говорю А не про "проверку вообще".




------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 19 BOBAN  (Гостей: 18)

© 2000-2024 Fox Club 
Яндекс.Метрика