Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как не дать юзьверю захлопнуть форму если ошибка / 14 сообщений из 14, страница 1 из 1
14.10.2004, 14:54
    #32738588
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
в одном из полей допущена этим юзьверем. Например если введена неправильно дата, у меня на ентер срабатывает thisform.release, в независимости от того чего туда ввели. Или если на одной из закладок в поле не введен важный параметр
...
Рейтинг: 0 / 0
14.10.2004, 15:02
    #32738611
lnu
lnu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
Наприклад, метод QueryUnload

Applies To: Form
Occurs before a form is unloaded.

PROCEDURE Form.QueryUnload
Remarks
The QueryUnload event occurs before the Destroy event. The ReleaseType property is set prior to the QueryUnload event being called.

The QueryUnload event occurs when CLEAR WINDOWS, RELEASE WINDOWS, or QUIT is executed in code, or when the user double-clicks the window pop-up menu icon or chooses Close from the window pop-up menu on a form.

Note The QueryUnload event does not occur if you issue the RELEASE command on the form in code or invoke the form's Release method.
Issuing NODEFAULT in the QueryUnload event procedure prevents the form from unloading.
...
Рейтинг: 0 / 0
14.10.2004, 15:03
    #32738613
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
ставишь на форму кнопку
нажатие отрабатываешь если все ок вносишь изменения закрываешь форму
иначе пишешь юзеру мессягу и ничего не делаешь
дополнительно кнопка отмены что бы юзера в ступор не вводить
...
Рейтинг: 0 / 0
14.10.2004, 15:07
    #32738632
lnu
lnu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
В методі форми QueryUnload

Код: plaintext
1.
2.
If !ALLRIGHT
nodefault
endif  
...
Рейтинг: 0 / 0
14.10.2004, 15:11
    #32738640
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
ну понятно
у меня так - появляется форма, где после ввода даты и нажатия ентера, форма должна исчезнуть, ну она и исчезает, даже если я введу в дате число 55 и нажму ентер. для переменной типа дата система и так сама проверяет на правильность ввода, она как раз ругнется, а форма релизнется, дата не изменится.
А как сделать чтоб и после ентера форма исчезала но и неправильно дату ввести не давала. и вообще если ошибка, то возврат как - thisform.txtDate.setfocus?
мне только надо определить, что мне в дату ввели дату! а как?
понятно что можно on error использовать, а еще как-то? Там же есть эти InputMask и Format.
...
Рейтинг: 0 / 0
14.10.2004, 15:20
    #32738670
lnu
lnu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
А використати для введення дати ActiveX Calendar... Він тобі не дозволить ввести не правильну дату...
...
Рейтинг: 0 / 0
14.10.2004, 15:21
    #32738674
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
CTAC-KOТам же есть эти InputMask и Format.
хотя оно мне ничем не помогает
мне надо че-то вроде

IF nKeyCode=13 AND AND NOError
thisform.Release
еndif
вот чего вместо NOError вставить?
...
Рейтинг: 0 / 0
14.10.2004, 15:33
    #32738720
lnu
lnu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
Код: plaintext
NOError=iif(DOW(CTOD(TRANSFORM(nMounth)+'/'+TRANSFORM(nDay)+'/'+TRANSFORM(nYear)))!= 0 ,.T.,.F.)
...
Рейтинг: 0 / 0
14.10.2004, 15:35
    #32738728
lnu
lnu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
30 лютого в тебе також не получиться...
...
Рейтинг: 0 / 0
14.10.2004, 15:44
    #32738757
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
CTAC-KOв одном из полей допущена этим юзьверем. Например если введена неправильно дата, у меня на ентер срабатывает thisform.release, в независимости от того чего туда ввели. Или если на одной из закладок в поле не введен важный параметр

А проверку в Valid поставить? и уже оттуда вызывать Release формы...
...
Рейтинг: 0 / 0
14.10.2004, 15:47
    #32738771
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
Да не надо так извращаться-то.

Создаешь свой собственный метод на форме. Например, CheckError

В этом методе делаешь анализ на предмет ошибки и возвращаешь .T. если ошибка и .F. если все в порядке.

В событии KeyPress делаешь вызов своего метода

IF nKeyCode=13 AND ThisForm.CheckError()=.F.
thisform.Release()
еndif

Хотя, по нормальному, на твоей форме должны быть 2 кнопки: "Ок" и "Отмена"

Можно повесить автоматическое срабатывание кнопки "Ok" при нажатии Enter внутри TextBox, но кнопки должны быть.
...
Рейтинг: 0 / 0
14.10.2004, 15:50
    #32738781
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
Станислав C.

А проверку в Valid поставить? и уже оттуда вызывать Release формы...

каку проверку? по какому условию написать в валиде релиз?
...
Рейтинг: 0 / 0
14.10.2004, 15:53
    #32738787
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
написал в валиде
thisform.release
и никакого отлавливания KeyPress не надо

все ОК!
...
Рейтинг: 0 / 0
14.10.2004, 17:27
    #32739050
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как не дать юзьверю захлопнуть форму если ошибка
CTAC-KOнаписал в валиде
thisform.release
и никакого отлавливания KeyPress не надо
все ОК!
Это ты поторопился. Следущий твой вопрос будет звучать так:

Как выйти из поля (закрыть форму), если Valid() возвращает .F. ?

В смысле: отказ от ввода значения.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как не дать юзьверю захлопнуть форму если ошибка / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]