Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выдача вопроса / 15 сообщений из 15, страница 1 из 1
22.09.2012, 14:24
    #37968247
Выдача вопроса
как сделать messagebox с вариантами действий "Да" и "Нет". чтобы при нажатии изменения сохранялись, а при нажатии нет не сохранялись?
...
Рейтинг: 0 / 0
22.09.2012, 14:33
    #37968254
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача вопроса
Кристинка89,

Help MESSAGEBOXMESSAGEBOX(cMessageText [, nDialogBoxType [, cTitleBarText]])

Параметры

cMessageText

Задает текст, который должен появляться в диалоговом окне. Для переноса части сообщения на новую строку используйте в тексте cMessageText возврат каретки (CHR(13)). Высота и ширина диалогового окна будут соответствующим образом отрегулированы, чтобы вместить весь текст cMessageText.

nDialogBoxType

Определяет кнопки и значки диалогового окна, кнопку по умолчанию при появлении диалогового окна и поведение диалогового окна.
В приведенных ниже таблицах значения от 0 до 5 задают кнопки, отображаемые в диалоговом окне, а значения 16, 32, 48 и 64 ѕ значки диалогового окна. Значения 0, 256 и 512 определяют, какая кнопка в диалоговом окне используется по умолчанию, то есть изображается нажимаемой в открывающемся диалоговом окне.
Если аргумент nDialogBoxType опущен, это эквивалентно заданию значения 0.

Значение Кнопка диалогового окна
0 Только кнопка OK.
1 Кнопки OK и Cancel.
2 Кнопки Abort, Retry и Ignore.
3 Кнопки Yes, No и Cancel.
4 Кнопки Yes и No.
5 Кнопки Retry и Cancel.
Значение Значок
16 Знак останова.
32 Вопросительный знак.
48 Восклицательный знак.
64 Значок информации (i).
Значение Кнопка, принимаемая по умолчанию
0 Первая кнопка.
256 Вторая кнопка.
512 Третья кнопка.
Аргумент nDialogBoxType может представлять собой сумму трех значений ѕ по одному из каждой таблицы. Например, если nDialogBoxType равняется 290 (2+32+256), он задает диалоговое окно со следующими характеристиками:

· Кнопки Abort, Retry и Ignore.
· В качестве значка в окне сообщения используется вопросительный знак.
· Вторая кнопка, Retry, используется по умолчанию.

cTitleBarText

Задает текст для строки заголовка диалогового окна. Если аргумент cTitleBarText опущен, в строке заголовка будет стоять текст "Microsoft Visual FoxPro".

Результат

Числовой

Комментарии

Значение, возвращаемое функцией MESSAGEBOX( ), указывает, какая кнопка была выбрана в диалоговом окне. Если в диалоговом окне с кнопкой Cancel для выхода из него нажимается клавиша ESC, то возвращается то же значение (2), что и при нажатии кнопки Cancel.
Обратите внимание, что самая короткая аббревиатура данной функции ѕ MESSAGEB( ).
В следующей таблице перечислены значения, возвращаемые функцией MESSAGEBOX( ) для каждой кнопки.

Возвращаемое значение Кнопка
1 OK
2 Cancel
3 Abort
4 Retry
5 Ignore
6 Yes
7 No
...
Рейтинг: 0 / 0
22.09.2012, 14:49
    #37968257
Выдача вопроса
Jonny540, спасибо, а кнопки YES И NO русскими сделать нельзя?
...
Рейтинг: 0 / 0
22.09.2012, 14:51
    #37968261
Выдача вопроса
и как можно проверить есть ли в таблице например в поле field1 значение или нету? обычным селектом?
...
Рейтинг: 0 / 0
22.09.2012, 15:18
    #37968274
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача вопроса
Кристинка89Jonny540, спасибо, а кнопки YES И NO русскими сделать нельзя?
Если библиотеки русские, то и кнопки будут русские.
...
Рейтинг: 0 / 0
22.09.2012, 15:20
    #37968275
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача вопроса
Кристинка89и как можно проверить есть ли в таблице например в поле field1 значение или нету? обычным селектом?см. ISBLANK(), _TALLY.
...
Рейтинг: 0 / 0
22.09.2012, 15:36
    #37968285
Выдача вопроса
Уважаемый Jonny540, я пишу такой код чтобы проверить значение поля, но пишет синтаксическая ошибка. смотрела пример использования, но не поняла как использовать данную функцию для своего случая. мне нужно сделать так: проверить пустое ли поле field1 в таблице polsovatel, если пустое то обновить таблицу, если не пустое поле field1 то выдать вопрос что поле содержат данные и потом обновить. пишу такой код:

авторcMessageTitle = 'Ввод кода'
cMessageText = 'В поле "КОД" данного пациента уже введено значение другим регистратором, Вы уверены, что хотите изменить значение?'
nDialogType = 4 + 32 + 256
* 4 = Yes and No buttons
* 32 = Question mark icon
* 256 = Second button is default
MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)

IF ?ISBLANK(polsovatel.field1)
SELECT curs1
REPLACE field1 WITH kody.field1
UPDATE polsovatel SET polsovatel.field1=curs1.field1 from curs1 WHERE polsovatel.field2=curs1.field2
ELSE
IF ISBLANK(polsovatel.polsovatel)
SELECT curs1
REPLACE field1 WITH kody.field1
MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
UPDATE polsovatel SET polsovatel.field1=curs1.field1 from curs1 WHERE polsovatel.field2=curs1.field2
ENDIF
ENDIF
...
Рейтинг: 0 / 0
22.09.2012, 15:38
    #37968286
Выдача вопроса
если не трудно напишите простой пример:
Если в таблице ТАБ поле ПОЛ пустое то действия ИНАЧЕ если ЕСЛИ в ТАБ поле ПОЛ=чему-то то выдать сообщение
...
Рейтинг: 0 / 0
22.09.2012, 15:43
    #37968290
Выдача вопроса
ВСЕ ПОЛУЧИЛОСЬ! СПАСИБО!
...
Рейтинг: 0 / 0
22.09.2012, 16:02
    #37968299
Выдача вопроса
Когда поле FIELD1 пустое оно тоже выдает оповещение. Напишите пожалуйста небольшой пример: Если в таблице ТАБ поле ПОЛ пустое то действия ИНАЧЕ если ЕСЛИ в ТАБ поле ПОЛ=чему-то то выдать сообщение
...
Рейтинг: 0 / 0
22.09.2012, 16:53
    #37968318
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача вопроса
Это как понимать?Кристинка89IF ?ISBLANK(polsovatel.field1)
А это?Кристинка89ВСЕ ПОЛУЧИЛОСЬ! СПАСИБО!
Кристинка89Когда поле FIELD1 пустое оно тоже выдает оповещение. Напишите пожалуйста небольшой пример: Если в таблице ТАБ поле ПОЛ пустое то действия ИНАЧЕ если ЕСЛИ в ТАБ поле ПОЛ=чему-то то выдать сообщениеВсе уже написано:
Кристинка89IF ISBLANK(ТАБ.ПОЛ)
* действия
ELSE
* сообщение
ENDIF
...
Рейтинг: 0 / 0
22.09.2012, 16:59
    #37968324
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача вопроса
Кристинка89MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
А, вон в чем дело...
Код: plsql
1.
2.
3.
IF MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)=6 && YES (ДА)
ELSE
ENDIF
...
Рейтинг: 0 / 0
22.09.2012, 17:34
    #37968340
Выдача вопроса
Jonny540, что-то я не поняла вас. написала такой код: но не работает так как нужно. если поле smocod не пустое оно когда первый раз меняю значение не выдает сообщение, потом выдает, и второе, если поле пустое и заносится значение то тоже выдает оповещение хотя не должно

авторIF ISBLANK(pacient.smocod)
SELECT curs1
REPLACE smocod WITH smo.smocod
UPDATE pacient SET pacient.smocod=curs1.smocod from curs1 WHERE pacient.polis=curs1.polis
thisform.grid1.refresh()
ELSE
IF MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)=6 && YES (ДА)
SELECT curs1
REPLACE smocod WITH smo.smocod
*MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)

UPDATE pacient SET pacient.smocod=curs1.smocod from curs1 WHERE pacient.polis=curs1.polis
thisform.grid1.refresh()
ENDIF
ENDIF
...
Рейтинг: 0 / 0
22.09.2012, 18:38
    #37968360
Выдача вопроса
Jonny540, написала код который приведу ниже. если поле пустое вроде работает как надо, а если в поле ранее были внесены изменения ну там есть значение, то выдается сообщение и когда нажимаю НЕТ все равно меняется значение в combobox. Как исправить это, чтобы если нажали НЕТ в combobox ничего не менялось. Если несложно подскажите где что нужно менять в моем коде

авторIF EMPTY(ALLTRIM(curs1.smocod))
SELECT curs1
REPLACE smocod WITH smo.smocod
UPDATE pacient SET pacient.smocod=curs1.smocod from curs1 WHERE pacient.polis=curs1.polis
thisform.grid1.refresh()
ELSE
IF !EMPTY(ALLTRIM(curs1.smocod))
IF MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)=6 && YES (ДА)
SELECT curs1
REPLACE smocod WITH smo.smocod
UPDATE pacient SET pacient.smocod=curs1.smocod from curs1 WHERE pacient.polis=curs1.polis
thisform.grid1.refresh()
ELSE
MESSAGEBOX=2 && YES (ДА)
ENDIF
ENDIF
ENDIF
...
Рейтинг: 0 / 0
24.09.2012, 11:13
    #37969553
Выдача вопроса
Кристинка89,
Отладчиками (дебаггерами) Вас учили пользоваться? Запустите форму под отладчиком и смотрите почему Ваш код отрабатывает не так, как Вам нужно.... А дальше - решайте, что и как надо менять, чтобы все работало "как надо"...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выдача вопроса / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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