powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Каким образом можно определить cуществует ли меню с заданным именем или нет ?
5 сообщений из 5, страница 1 из 1
Каким образом можно определить cуществует ли меню с заданным именем или нет ?
    #34929383
Игорь2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каким образом можно определить cуществует ли меню с заданным именем или нет ?
Функция POPUP() работает только для меню, определенных ранее командой
DEFINE POPUP.
авторMenus are created and activated with DEFINE POPUP and ACTIVATE POPUP. The menu can also be a Visual FoxPro system menu. POPUP( ) returns an empty string if a menu isn't defined and active or you issue POPUP( ) from the Command window.
Мой же вопрос касается меню, определенных ранее командой DEFINE MENU.
DISPLAY MEMORY показывает все имеющиюся меню.
Не анализировать же текстовый файл возвращаемый командной DISPLAY MEMORY TO FILE ?
...
Рейтинг: 0 / 0
Каким образом можно определить cуществует ли меню с заданным именем или нет ?
    #34929462
Игорь2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока ничего лучше не придумал,
возвращает .T. если меню cmenuname определено
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Execscript([Lparameters tcMenuName]+Chr( 13 )+;
      [local lcTmpFile, lcStr]+Chr( 13 )+;
      [lcTmpFile = Sys( 3 )+".txt"]+Chr( 13 )+;
      [Display Memory To File (lcTmpFile) Noconsole]+Chr( 13 )+;
      [lcStr = Filetostr(lcTmpFile)]+Chr( 13 )+;
      [lcStr = Right(lcStr , At("Menu name", lcStr))]+Chr( 13 )+;
      [lcStr = Left(lcStr , Atc("Popup", lcStr))]+Chr( 13 )+;   
      [Erase (lcTmpFile)]+Chr( 13 )+;
      [Return Alltrim(tcMenuName)$lcStr ], cmenuname)
...
Рейтинг: 0 / 0
Каким образом можно определить cуществует ли меню с заданным именем или нет ?
    #34929505
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функции Popup() и Menu() возвращают имена не просто определенных, но активных в данный момент меню.

Функций, которые бы показали именно определенные через DEFINE, но пока не активные меню в FoxPro не существует.
...
Рейтинг: 0 / 0
Каким образом можно определить cуществует ли меню с заданным именем или нет ?
    #34929519
Игорь2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
Функции Popup() и Menu() возвращают имена не просто определенных, но активных в данный момент меню.
Касательно функции POPUP() это утверждение верно, только если она вызывается без параметра,
если же я передаю параметр - имя меню, функция возвращает .T. , если меню было ранее определено. К сожалению, функция Menu() лишена такой возможности.
Пример
Код: plaintext
1.
DEFINE POPUP "MyPopup"
?POPUP("MyPopup") && возвращает .T.
описание функции POPUP
авторReturns as a string the name of the active menu, or a logical value indicating if a menu has been defined.
POPUP([cMenuName])
Parameters
cMenuName
Returns a logical value indicating if cMenuName has been defined. POPUP( ) returns true (.T.) if the menu you specify has been defined; otherwise POPUP( ) returns false (.F.).
Return Value Character or Logical
Remarks
POPUP( ) returns the name of the active menu as a character string if you omit the optional cMenuName argument. A menu must be defined and active for POPUP( ) to return its name. Menus are created and activated with DEFINE POPUP and ACTIVATE POPUP. The menu can also be a Visual FoxPro system menu. POPUP( ) returns an empty string if a menu isn't defined and active or you issue POPUP( ) from the Command window
авторФункций, которые бы показали именно определенные через DEFINE, но пока не активные меню в FoxPro не существует.
Я так и понял, хотел получить подтверждение.
...
Рейтинг: 0 / 0
Каким образом можно определить cуществует ли меню с заданным именем или нет ?
    #34929749
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Поторопился. Действительно POPUP() может показать и определенные, но пока не активированные меню.

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


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