процедурное программирование в Fox Pro

Тема в разделе "Остальные БД", создана пользователем -, 22 апр 2007.

Статус темы:
Закрыта.
  1. Гость

    Кто может!? Помогите! Я новичок!
    Вот мое задание:
    Написать текст программы, отображающей на экране главное меню, состоящее из 4-х пунктов: Склад, Товар, Отчеты, Выход.
    Каждый пункт должен иметь падающее меню из нескольких команд.
    Склад________Товар______Отчеты_____Выход
    Склад1_______Трубы______Отчет1_____Выход из программ
    Склад2______Сантехника___Отчет2
    Организовать выход из меню.
    Вот "организовать выход из меню" у меня и не получается!
    Вот полный текст проги.
    DEFINE MENU baza
    DEFINE PAD sklad OF baza PROMPT 'склад'
    DEFINE PAD tovar OF baza PROMPT 'товар'
    DEFINE PAD otcheti OF baza PROMPT 'отчеты'
    DEFINE PAD vixod OF baza PROMPT 'выход'
    DEFINE POPUP skl
    DEFINE BAR 1 OF skl PROMPT 'склад1'
    DEFINE BAR 2 OF skl PROMPT 'склад2'
    DEFINE BAR 3 OF skl PROMPT 'выход из меню'
    DEFINE POPUP tov
    DEFINE BAR 1 OF tov PROMPT 'трубы'
    DEFINE BAR 2 OF tov PROMPT 'сантехника'
    DEFINE BAR 3 OF tov PROMPT 'выход из меню'
    DEFINE POPUP otch
    DEFINE BAR 1 OF otch PROMPT 'отчет1'
    DEFINE BAR 2 OF otch PROMPT 'отчет2'
    DEFINE BAR 3 OF otch PROMPT 'выход из меню'
    ON SELECTION BAR 3 OF skl DO proc1 WITH BAR()
    ON SELECTION BAR 3 OF tov DO proc1 WITH BAR()
    ON SELECTION BAR 3 OF otch DO proc1 WITH BAR()
    ON PAD sklad OF baza ACTIVATE POPUP skl
    ON PAD tovar OF baza ACTIVATE POPUP tov
    ON PAD otcheti OF baza ACTIVATE POPUP otch
    ON SELECTION PAD vixod OF baza QUIT
    ACTIVATE MENU baza
    PROCEDURE proc1
    PARAMETERS pbar
    IF BAR()=3
    DEACTIVATE POPUP
    ENDIF
    RETURN
    Как мне заставить деактивироваться любое POPUP-меню по желанию?
     
  2. Sergey_vfp

    Sergey_vfp Гость

    Привет. Попробуй следующие:

    Set SYSMENU TO
    Set sysmenu auto
    DEFINE PAD sklad OF _msysmenu PROMPT 'склад'
    DEFINE PAD tovar OF _msysmenu PROMPT 'товар'
    DEFINE PAD otcheti OF _msysmenu PROMPT 'отчет'
    DEFINE PAD vixod OF _msysmenu PROMPT 'выход'
    DEFINE POPUP skl
    DEFINE BAR 1 OF skl PROMPT 'склад1'
    DEFINE BAR 2 OF skl PROMPT 'склад2'
    DEFINE POPUP tov
    DEFINE BAR 1 OF tov PROMPT 'трубы'
    DEFINE BAR 2 OF tov PROMPT 'сантехника'
    DEFINE POPUP otch
    DEFINE BAR 1 OF otch PROMPT 'отчет1'
    DEFINE BAR 2 OF otch PROMPT 'отчет2'
    ON SELECTION BAR 3 OF skl DO proc1 WITH BAR()
    ON SELECTION BAR 3 OF tov DO proc1 WITH BAR()
    ON SELECTION BAR 3 OF otch DO proc1 WITH BAR()
    ON PAD sklad OF _msysmenu ACTIVATE POPUP skl
    ON PAD tovar OF _msysmenu ACTIVATE POPUP tov
    ON PAD otcheti OF _msysmenu ACTIVATE POPUP otch
    ON SELECTION PAD vixod OF _msysmenu do konec
    ACTIVATE MENU _msysmenu
    Read events

    Procedure konec
    Clear events
    Set sysmenu to defa
    _Screen.CLOSABLE=.T.
    Cancel
    Endproc


    Если надо описание, пиши на форуме (првда я редко бываю) или на sergey_777@tut.by

    Удачи. Сергей. :)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей