powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как не дать юзьверю захлопнуть форму если ошибка
14 сообщений из 14, страница 1 из 1
Как не дать юзьверю захлопнуть форму если ошибка
    #32738588
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в одном из полей допущена этим юзьверем. Например если введена неправильно дата, у меня на ентер срабатывает thisform.release, в независимости от того чего туда ввели. Или если на одной из закладок в поле не введен важный параметр
...
Рейтинг: 0 / 0
Как не дать юзьверю захлопнуть форму если ошибка
    #32738611
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
Как не дать юзьверю захлопнуть форму если ошибка
    #32738613
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ставишь на форму кнопку
нажатие отрабатываешь если все ок вносишь изменения закрываешь форму
иначе пишешь юзеру мессягу и ничего не делаешь
дополнительно кнопка отмены что бы юзера в ступор не вводить
...
Рейтинг: 0 / 0
Как не дать юзьверю захлопнуть форму если ошибка
    #32738632
lnu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В методі форми QueryUnload

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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