Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

Exemplos de menus e submenus

Apresentamos a seguir alguns programas com exemplos de utilização de menus e submenus.

Exemplo 01

Veja, a seguir, um trecho de um programa OpusWin onde está sendo definido um menu principal e vários menus secundários, ou seja, menus suspensos.

$nolib

prog

Menu hospub

  pad  inf1 prompt "Informações" do rot

  pad  inf2 prompt "Emergência"  popup P2

    bar  1  prompt "Chefia" do rot

    bar  2  separator

    bar  3  prompt "Atendente" popup P2B3

      bar1  1  prompt "Mov. Pacientes" popup P2B3B1

        bar2  4  prompt "Procedimentos" do rot

      bar1  2  prompt "Alterações" popup P2B3B2

        bar2  1  prompt "Dados Pessoais" do rot

        bar2  2  prompt "Entrada" do rot

        bar2  3  prompt "Saída" do rot

        bar2  4  prompt "Plano de Saúde" do rot

        bar2  5  prompt "Acidente de Trabalho" do rot

      bar1  3  prompt "Cancela Saída" do rot

      bar1  4  prompt "Consultas" do rot

      bar1  5  prompt "Emite Documentos" do rot

EndMenu

Activate Menu hospub

proc rot

return

A tela produzida por este programa pode ser visualizada a seguir:

Exemplo 02

Veja, a seguir, um outro programa OpusWin onde está sendo definido um menu principal e vários níveis de menus secundários.

$nolib

prog

menu primeiro

  pad um prompt "&um" popup pad-1 message "pad 1"

    bar 11 prompt "1.1..." popup bar-11 message "1.1"

      bar1 111 prompt "1.1.1..." popup bar1-111 message "1.1.1"

        bar2 1111 prompt "1.1.1.1" do proc1 message "1.1.1.1"

        bar2 1112 prompt "1.1.1.2" do proc1 message "1.1.1.2"

        bar2 1113 prompt "1.1.1.3" do proc1 message "1.1.1.3"

      bar1 112 prompt "1.1.2..." popup bar1-112 message "1.1.2"

        bar2 1121 prompt "1.1.2.1" do proc1 message "1.1.2.1"

        bar2 1122 prompt "1.1.2.2" do proc1 message "1.1.2.2"

        bar2 1123 prompt "1.1.2.3" do proc1 message "1.1.2.3"

    bar 12 prompt "1.2..." popup bar-12 message "1.2"

      bar1 121 prompt "1.2.1..." popup bar1-121 message "1.2.1"

        bar2 1211 prompt "1.2.1.1" do proc1 message "1.2.1.1"

        bar2 1212 prompt "1.2.1.2" do proc1 message "1.2.1.2"

      bar1 122 prompt "1.2.2..." popup bar1-122 message "1.2.2"

        bar2 1221 prompt "1.2.2.1" do proc1 message "1.2.2.1"

        bar2 1222 prompt "1.2.2.2" do proc1 message "1.2.2.2"

  pad dois prompt "&dois" popup pad-2 message "pad 2"

    bar 21 prompt "2.1..." popup bar-21 message "2.1"

      bar1 211 prompt "2.1.1..." popup bar1-111 message "1.1.1"

        bar2 2111 prompt "2.1.1.1" do proc1 message "2.1.1.1"

        bar2 2112 prompt "2.1.1.2" do proc1 message "2.1.1.2"

        bar2 2113 prompt "2.1.1.3" do proc1 message "2.1.1.3"

      bar1 212 prompt "2.1.2..." popup bar1-112 message "2.1.2"

        bar2 2121 prompt "2.1.2.1" do proc1 message "2.1.2.1"

        bar2 2122 prompt "2.1.2.2" do proc1 message "2.1.2.2"

        bar2 2123 prompt "2.1.2.3" do proc1 message "2.1.2.3"

    bar 22 prompt "2.2..." popup bar-22 message "2.2"

      bar1 221 prompt "2.2.1..." popup bar1-221 message "2.2.1"

        bar2 2211 prompt "2.2.1.1" do proc1 message "2.2.1.1"

        bar2 2212 prompt "2.2.1.2" do proc1 message "2.2.1.2"

      bar1 222 prompt "2.2.2..." popup bar1-222 message "2.2.2"

        bar2 2221 prompt "2.2.2.1" do proc1 message "2.2.2.1"

        bar2 2222 prompt "2.2.2.2" do proc1 message "2.2.2.2"

  pad tres prompt "&tres" popup pad-3 message "pad 3"

    bar 31 prompt "3.1..." popup bar-31 message "3.1"

      bar1 311 prompt "3.1.1..." popup bar1-311 message "3.1.1"

        bar2 3111 prompt "3.1.1.1" do proc1 message "3.1.1.1"

        bar2 3112 prompt "3.1.1.2" do proc1 message "3.1.1.2"

        bar2 3113 prompt "3.1.1.3" do proc1 message "3.1.1.3"

      bar1 311 prompt "3.1.2..." popup bar1-312 message "3.1.2"

        bar2 3121 prompt "3.1.2.1" do proc1 message "3.1.2.1"

        bar2 3122 prompt "3.1.2.2" do proc1 message "3.1.2.2"

        bar2 3123 prompt "3.1.2.3" do proc1 message "3.1.2.3"

    bar 32 prompt "3.2..." popup bar-32 message "3.2"

      bar1 321 prompt "3.2.1..." popup bar1-321 message "3.2.1"

        bar2 3211 prompt "3.2.1.1" do proc1 message "3.2.1.1"

        bar2 3212 prompt "3.2.1.2" do proc1 message "3.2.1.2"

      bar1 322 prompt "3.2.2..." popup bar1-322 message "3.2.2"

        bar2 3221 prompt "3.2.2.1" do proc1 message "3.2.2.1"

        bar2 3222 prompt "3.2.2.2" do proc1 message "3.2.2.2"

  pad quatro prompt "&quatro" popup pad-4 message "pad 4"

    bar 41 prompt "4.1..." popup bar-41 message "4.1"

      bar1 411 prompt "4.1.1..." popup bar1-411 message "4.1.1"

        bar2 4111 prompt "4.1.1.1" do proc1 message "4.1.1.1"

        bar2 4111 prompt "4.1.1.2" popup bar2-4111 message "4.1.1.2"

          bar3 41111 prompt "4.1.1.2.1" do proc1 message "4.1.1.2.1"

          bar3 41112 prompt "4.1.1.2.2" do proc1 message "4.1.1.2.2"

          bar3 41112 prompt "4.1.1.2.3" do proc1 message "4.1.1.2.3"

  pad sair prompt "&sai" message "saindo ..." do proc1

EndMenu

Activate menu primeiro

proc proc1

if pad()="sair"

  Deactivate menu primeiro

  quit

endif

@16,01 say "Nome do menu="+menu()

@17,01 say "Item do menu principal="+pad()

@18,01 say "Nome do menu suspenso="+popup()

@19,01 say "Nome do item do menu="+prompt()

@20,01 say "Número do item no menu="+str(bar())

return

A figura a seguir mostra um detalhe da tela gerada pelo programa acima, onde observamos a barra do menu principal e alguns menus suspensos, ou secundários.

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!