Criar menu

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

jeferson.stefani
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 07 Nov 2018 09:10
Localização: Cerquilho/SP

Criar menu

Mensagem por jeferson.stefani »

Olá amigos, tudo bem?

Sou desenvolvedor de sistemas, atualmente trabalho com delphi/lazarus e algumas tecnologias voltadas ao desenvolvimento web. Estou iniciando meus estudos com o clipper, então peço um pouco de paciência pelas perguntas que possa fazer...rs

Estou elaborando um sistema simples para efeitos didáticos, e uma dúvida que me bateu é com relação a criação de menus horizontais.

Na imagem abaixo, esse tipo de menu é confeccionado utilizando a função achoice?
CLIP001.jpg
Na imagem abaixo, esse tipo de menu é confeccionado utilizando o comando prompt?
CLIP002.jpg
Att:
Jeferson Stefani
Avatar do usuário
NiltonGM
Usuário Nível 3
Usuário Nível 3
Mensagens: 397
Registrado em: 05 Jun 2014 23:47
Localização: Caieiras/SP

Criar menu

Mensagem por NiltonGM »

Rapaiz!!! Essa é do fundo do baú... eu usava este esquema de menu na horizontal desde o Summer87 até o Clipper 5.3b, lembro de usar Achoice(), não achei mais meus fontes antigos que compactei a séculos atrás para verificar o esquema. Já foram tantas trocas de PCs, Notebooks, HD's pifados que não consigo mais ressuscitar essas relíquias...
Sorry
Nilton Medeiros
nilton@sistrom.com.br
jeferson.stefani
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 07 Nov 2018 09:10
Localização: Cerquilho/SP

Criar menu

Mensagem por jeferson.stefani »

Boa tarde!

Nilton,

Obrigado por responder minha dúvida. Só queria mesmo saber se meu raciocínio estava correto, mas por sua resposta já consegui me orientar.

Att:
Jeferson Stefani
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Criar menu

Mensagem por JoséQuintas »

Os dois podem ser feitos por PROMPT ou Achoice ou TBrowse.
E podem ser feitos via programação também, e até permitir o uso de mouse.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
jeferson.stefani
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 07 Nov 2018 09:10
Localização: Cerquilho/SP

Criar menu

Mensagem por jeferson.stefani »

Boa noite!

Obrigado por sua resposta José.

Vou trabalhar sobre as dicas e volto para postar o resultado.
Ruben Dario
Usuário Nível 3
Usuário Nível 3
Mensagens: 127
Registrado em: 14 Jun 2015 23:19
Localização: Colombia

Criar menu

Mensagem por Ruben Dario »

Gracias por Tu ejemplo
Lo compilo y me da este error.
Lo Comilo asi hbmk2 arquivo.hbp

Código: Selecionar todos

J:\Estaba en Unidad G\Descargas_Varias\Clipper\Cear Menu>hbmk2 arquivo.hbp
hbmk2: Harbour: Compilando módulos...
Harbour 3.2.0dev (r1809141336)
Copyright (c) 1999-2018, https://harbour.github.io/
Compiling 'menu.prg'...
menu.prg(9) Error E0008  Unknown result marker in #translate/#command
menu.prg(89) Error E0030  Syntax error "syntax error at 'LSELECTABLE'"
menu.prg(270) Error E0030  Syntax error "syntax error at 'NMOUSER'"
menu.prg(271) Error E0030  Syntax error "syntax error at 'NMOUSEC'"
menu.prg(272) Error E0030  Syntax error "syntax error at 'L5THELEMENT'"
menu.prg(299) Error E0030  Syntax error "syntax error at 'NRI'"
menu.prg(300) Error E0030  Syntax error "syntax error at 'NCI'"
menu.prg(301) Error E0030  Syntax error "syntax error at 'NRF'"
menu.prg(302) Error E0030  Syntax error "syntax error at 'NCF'"
9 errors

No code generated.
hbmk2[arquivo]: Error: Running Harbour compiler (built-in). 1
(K:\HARBOUR_V\harbour_bcc73\BIN\harbour.exe) -n2 menu.prg BUNGE.prg -o.hbmk\win\bcc\ -iK:\C_BCC\BCC73\Include -iK:\C_BCC\BCC73\Include\dinkumware -iK:\C_BCC\BCC73\Include\windows\crtl -iK:\C_BCC\BCC73\Include\windows\rtl -iK:\C_BCC\BCC73\Include\windows\sdk -iK:\HARBOUR_V\harbour_bcc73\include
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Criar menu

Mensagem por JoséQuintas »

Não foi feliz no seu exemplo, tem coisa errada aí.
d:\temp\menu>hbmk2 proj
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Processando arquivo de configuração: d:\harbour\bin\hbmk.hbc
hbmk2 [proj]: Warning: Ignoring .hbc file specified via -l option '-lhbnf.hbc'
in proj.hbp:7. Specify it as 'hbnf.hbc' instead.
hbmk2 [proj]: Warning: Ignoring .hbc file specified via -l option '-lhbct.hbc'
in proj.hbp:8. Specify it as 'hbct.hbc' instead.
Harbour 3.4.0dev (b79d07e0e6) (2018-05-01 02:09)
Copyright (c) 1999-2018, https://github.com/JoseQuintas/harbour34/
Compiling 'menu.prg'...
Lines 787, Functions/Procedures 9
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_gi6g88.dir\menu.c'... Done.
Compiling 'BUNGE.prg'...
Lines 2369, Functions/Procedures 32
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_gi6g88.dir\BUNGE.c'... Done.
C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/menu.o:menu.c:(.data+0x208): undefined reference to `HB_FUN_KSETINS'
C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/menu.o:menu.c:(.data+0x218): undefined reference to `HB_FUN_KSETCAPS'
C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/menu.o:menu.c:(.data+0x228): undefined reference to `HB_FUN_KSETNUM'
C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/menu.o:menu.c:(.data+0x238): undefined reference to `HB_FUN_KSETSCROLL'
C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/menu.o:menu.c:(.data+0x278): undefined reference to `HB_FUN_FT_MGETX'
C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/menu.o:menu.c:(.data+0x288): undefined reference to `HB_FUN_FT_MGETY'
C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/BUNGE.o:BUNGE.c:(.data+0xb8): undefined reference to `HB_FUN_FT_AEMAXLEN'
C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/BUNGE.o:BUNGE.c:(.data+0x408): undefined reference to `HB_FUN_TOKEN'
C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/BUNGE.o:BUNGE.c:(.data+0x4a8): undefined reference to `HB_FUN_FT_MSHOWCRS'
C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/BUNGE.o:BUNGE.c:(.data+0x508): undefined reference to `HB_FUN_FT_MHIDECRS'
d:/harbour/lib/win/mingw\libgtwvG.a(gtwvgd.o):(.text+0x12a9): undefined reference to `hbwapi_LoadLibrarySystemVM'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcuig.o):(.text+0x2d4): undefined reference to `hbwapi_is_HANDLE'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcuig.o):(.text+0x41b): undefined reference to `hbwapi_par_HFONT'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcuig.o):(.text+0x44c): undefined reference to `hbwapi_par_HPEN'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcuig.o):(.text+0x47d): undefined reference to `hbwapi_par_HBRUSH'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcuig.o):(.text+0x5b9): undefined reference to `__hbwapi_par_handle'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcuig.o):(.text+0x2841): undefined reference to `hbwapi_par_HFONT'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcuig.o):(.text+0x2af8): undefined reference to `hbwapi_is_HANDLE'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcuig.o):(.text+0x2bca): undefined reference to `__hbwapi_par_handle'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcore.o):(.text+0x2417): undefined reference to `hbwapi_par_HDC'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcore.o):(.text+0x31a4): undefined reference to `hbwapi_par_HFONT'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcore.o):(.text+0x33ec): undefined reference to `hbwapi_par_HFONT'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcore.o):(.text+0x6a0f): undefined reference to `hbwapi_is_HANDLE'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcore.o):(.text+0x6b21): undefined reference to `__hbwapi_par_handle'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcore.o):(.text+0x7df4): undefined reference to `hbwapi_par_HFONT'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcore.o):(.text+0x7f08): undefined reference to `hbwapi_par_HFONT'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcore.o):(.text+0x85eb): undefined reference to `__hbwapi_par_handle'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcore.o):(.text+0x8d9a): undefined reference to `__hbwapi_parv_handle'
d:/harbour/lib/win/mingw\libgtwvG.a(wvgcore.o):(.text+0x8f4e): undefined reference to `__hbwapi_parv_handle'
collect2.exe: error: ld returned 1 exit status
hbmk2 [proj]: Erro: Executando linkeditor. 1
gcc.exe C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/menu.o C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/BUNGE.o C:/Users/joseq/AppData/Local/Temp/hbmk_gi6g88.dir/hbmk_g1wgoh.o -m32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--pic-executable,-e,_mainCRTStartup -mwindows -Wl,--start-group -Wl,-Bstatic -lgtwvG -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtstd -lgtpca -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre2 -lhbzlib -Wl,-Bdynamic -Wl,--end-group -s -omenu.exe -Ld:/harbour/lib/win/mingw -Ld:/cdrom/fontes/integra/sefazclass -Ld:/cdrom/fontes/integra/josequintas -Ld:/cdrom/fontes/integra/josequintas/bostaurus -Ld:/github/allgui/hmg3 -Ld:/github/allgui/hmge -Ld:/github/allgui/hwgui -Ld:/github/allgui/oohg

hbmk2: Hint: Add input file 'hbnf.hbc' for missing Harbour function(s):
ft_MHideCrs(), ft_MShowCrs(), ft_AEMaxLen(), ft_MGetY(), ft_MGetX()
hbmk2: Hint: Add input file 'hbct.hbc' for missing Harbour function(s):
Token(), KSetScroll(), KSetNum(), KSetCaps(), KSetIns()
hbmk2: Hint: Add input file 'gtwvG.hbc' instead of specifying raw library using
'-lgtwvG' or 'libs=gtwvG'.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Criar menu

Mensagem por JoséQuintas »

Seu projeto está assim:
-gui
-gtwvt
-gtwvG
# -inc
menu.prg
BUNGE.prg
-lhbnf.hbc
-lhbct.hbc
o correto é assim:
menu.prg
BUNGE.prg
hbnf.hbc
hbct.hbc
resultado:
d:\temp\menu>hbmk2 proj
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Processando arquivo de configuração: d:\harbour\bin\hbmk.hbc
Harbour 3.4.0dev (b79d07e0e6) (2018-05-01 02:09)
Copyright (c) 1999-2018, https://github.com/JoseQuintas/harbour34/
Compiling 'menu.prg'...
Lines 787, Functions/Procedures 9
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_3inku7.dir\menu.c'... Done.
Compiling 'BUNGE.prg'...
Lines 2369, Functions/Procedures 32
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_3inku7.dir\BUNGE.c'... Done.
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2017
UPX 3.94w Markus Oberhumer, Laszlo Molnar & John Reiser May 12th 2017

File size Ratio Format Name
-------------------- ------ ----------- -----------
1087488 -> 412160 37.90% win32/pe menu.exe

Packed 1 file.
menu.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Criar menu

Mensagem por JoséQuintas »

E desse jeito, acrescentando GTWVG.HBC ok.

gtwvg.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Criar menu

Mensagem por JoséQuintas »

Me chamou a atenção:
Como pode funcionar uma compilação num lugar e em outro não?

Talvez....
o Harbour 3.2 aceite errado, e o 3.4 não.
Mas no 3.4 mostra o que está errado no projeto.

Talvez a ordem das LIBs... não testei invertendo.

Mas não reparei... aqui é CLIPPER.
Não sei se é pra Clipper, ou se a pergunta foi no lugar errado.

Uso o meu desde os tempos do Clipper, mas talvez precise ajuste pra Clipper, e o meu está preso ao meu estilo de programação.

https://github.com/JoseQuintas/JoseQuin ... a_menu.prg

Já testei o mesmo formato de criação de menu para outras LIbs.
Meu menu em ação, nos dois formatos que o aplicativo permite.
menu.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Criar menu

Mensagem por JoséQuintas »

Versão miniatura do meu menu:

Código: Selecionar todos

#include "inkey.ch"

PROCEDURE Main

   LOCAL aMenu, nOpc, nCont, nKey

   aMenu := { ;
      { 1, 5, "primeiro", "prog1" }, ;
      { 2, 5, "segundo", "prog2" }, ;
      { 3, 5, "terceiro", "Prog3" } }
   nOpc := 1

   DO WHILE .T.
      FOR nCont = 1 TO Len( aMenu )
         @ aMenu[ nCont, 1 ], aMenu[ nCont, 2 ] SAY aMenu[ nCont, 3 ] ;
         COLOR iif( nCont == nOpc, "N/W", "W/B" )
      NEXT
      nKey := Inkey(0)
      DO CASE
      CASE nKey == K_ESC; EXIT
      CASE nKey == K_UP;   nOpc := iif( nOpc == 1, Len( aMenu ), nOpc - 1 )
      CASE nKey == K_DOWN; nOpc := iif( nOpc == Len( aMenu ), 1, nOpc + 1 )
      CASE nKey == K_ENTER; Do( aMenu[ nCont, 4 ] )
      ENDCASE
   ENDDO


   RETURN
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Criar menu

Mensagem por JoséQuintas »

E "aperfeiçoando" um pouco.

Código: Selecionar todos

      CASE nKey == K_ENTER; cTela := SaveScreen(); Do( aMenu[ nCont, 4 ] ); RestScreen( cTela )
Deste jeito não precisa se preocupar com tela, vai sempre voltar ao normal, não importa o que o módulo faça.
Também pode acrescentar um CLOSE DATABASES, assim fecha tudo que o módulo abrir.
Com isso, elimina a necessidade de fazer isso nos módulos.

É esse tipo que coisa que faço no meu menu.
Não parece, mas evita muitos problemas, de esquecer de limpar tela, ou de esquecer de fechar arquivos, desativar filtros, etc.

E como o menu é um array....
Se tiver controle de senhas, é só eliminar elementos do array, e o menu já vai ficar conforme o acesso do usuário.

Isso tudo vale para este menu simples, e pra aquele que postei o endereço, que tem muito mais opções.
Se tudo ficar num array, só alterar o array e o menu já fica alterado.

Só pra lembrar:
não criei o menu completo em um único dia... fui acrescentando recursos com o tempo, conforme as necessidades/idéias iam aparecendo.
Qualquer um pode fazer um menu igual, lógico, criando um simples e acrescentando recursos com o tempo.

é até interessante:
Este trecho SEMPRE vai desenhar todo menu, basta deixar a opção atual em outra cor.

Código: Selecionar todos

      FOR nCont = 1 TO Len( aMenu )
         @ aMenu[ nCont, 1 ], aMenu[ nCont, 2 ] SAY aMenu[ nCont, 3 ] ;
         COLOR iif( nCont == nOpc, "N/W", "W/B" )
      NEXT
Este trecho vai fazer a movimentação da opção

Código: Selecionar todos

      CASE nKey == K_UP;   nOpc := iif( nOpc == 1, Len( aMenu ), nOpc - 1 )
      CASE nKey == K_DOWN; nOpc := iif( nOpc == Len( aMenu ), 1, nOpc + 1 )
Se quiser que movimente com setas para os lados, mouse, etc., só acrescentar na movimentação, nem precisa se preocupar com o desenho.

Item importante que muitos usuários esquecem:

Se as rotinas estiverem em uma LIB... alterou a LIB alterou todo aplicativo, ou quantos aplicativos quiser, sem precisar ficar espalhando fontes pelo HD.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Criar menu

Mensagem por JoséQuintas »

Por incrível que pareça, todos os fontes estão lá no GitHub, josequintas.

Meu aplicativo é: sefazclass do GitHub, josequintas do GitHub, e mais os módulos que deixei de fora.
Não liberei digitação de pedidos, emissão de nota fiscal, etc., mas procurei deixar funcionando lá no GitHub.

Mas vamos lá:

O menu fica em uma variável array.
Transfiro essa variável pra rotina que compara o NOME do módulo com o arquivo aonde estão gravados os acessos.
Eliminadas as opções sem acesso, elimino as opções do menu que ficaram vazias.
O resultado é um array enxuto.

Nos tempos do VB6 adaptei essa mesma rotina: todos os menus num array, e trabalhar no array.
Só não dava pra mexer pela IDE, porque a IDE do VB6 não permitia array único no menu.
Era limitação da IDE e não do VB6...

Com certeza, muita recursividade encima do array.
Mas tudo pra menu, configurar senhas, etc. estão no github.

Talvez antes de olhar as rotinas, interessante entender o array.

{ "opcao", {}, "modulo", { || modulo() } }

Se uma opção tiver sub-menu, fica num sub-array.
O codeblock é apenas pra forçar a linquedição do módulo, por ele ter virado parte da LIB.
Sem isso, o módulo poderia ficar de fora do EXE, o que me causaria problema.
E com isso, pra compilar o que está no github pode precisar de tapa-buracos. FUNCTION Modulo(); RETURN NIL
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Criar menu

Mensagem por lugab »

Bom dia, povo...

Mestre Quintas, como é q compila esse seu exemplo ? Posta o .HBP pra gente...

https://github.com/JoseQuintas/JoseQuin ... a_menu.prg


Hazael,

Muito bacana o seu exemplo
lugab
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Criar menu

Mensagem por JoséQuintas »

A alternativa viável talvez seja essa de compartilhar parcial.

Qualquer ajuda é ajuda, mesmo se for apenas pra avisar de algo errado.
Muita gente copiar sem ajudar... tudo bem... se alguém ajuda já vale a pena, um pouco de trabalho a menos.

Já pensei se não seria interessante o pessoal do fórum trabalhar junto.
Até pro cliente saber que vai ter continuidade em tudo, e não trocar por causa disso.

Uma vez recebi a proposta de um programador:
Eu abandonar tudo, mudar de cidade e trabalhar em vendas, recebendo comissão, SOMENTE comissão.
Investimento dele nisso: ZERO risco dele nisso: ZERO e com um programador à disposição.
Meu risco: não receber nada.
Isso lá é proposta?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder