Clipper On Line • Ver Tópico - Criar menu

Criar menu

Discussão sobre a linguagem CA-Clipper.

Moderador: Moderadores

 

Criar menu

Mensagempor jeferson.stefani » 07 Nov 2018 12:22

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
jeferson.stefani
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 3
Data de registro: 07 Nov 2018 08:10
Cidade/Estado: Cerquilho/SP
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Criar menu

Mensagempor NiltonGM » 07 Nov 2018 14:45

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
Avatar de usuário

NiltonGM
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 393
Data de registro: 05 Jun 2014 23:47
Cidade/Estado: Caieiras/SP
Curtiu: 249 vezes
Mens.Curtidas: 24 vezes

Criar menu

Mensagempor jeferson.stefani » 07 Nov 2018 15:09

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
jeferson.stefani
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 3
Data de registro: 07 Nov 2018 08:10
Cidade/Estado: Cerquilho/SP
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Criar menu

Mensagempor JoséQuintas » 07 Nov 2018 18:15

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Criar menu

Mensagempor jeferson.stefani » 07 Nov 2018 20:24

Boa noite!

Obrigado por sua resposta José.

Vou trabalhar sobre as dicas e volto para postar o resultado.
jeferson.stefani
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 3
Data de registro: 07 Nov 2018 08:10
Cidade/Estado: Cerquilho/SP
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Criar menu

Mensagempor Ruben Dario » 09 Nov 2018 00:50

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

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
Ruben Dario
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 115
Data de registro: 14 Jun 2015 23:19
Cidade/Estado: Colombia
Curtiu: 3 vezes
Mens.Curtidas: 0 vez

Criar menu

Mensagempor JoséQuintas » 09 Nov 2018 08:39

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Criar menu

Mensagempor JoséQuintas » 09 Nov 2018 08:47

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Criar menu

Mensagempor JoséQuintas » 09 Nov 2018 08:50

E desse jeito, acrescentando GTWVG.HBC ok.

gtwvg.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Criar menu

Mensagempor JoséQuintas » 09 Nov 2018 09:05

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/JoseQuintas/blob/master/source/jpa_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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Criar menu

Mensagempor JoséQuintas » 09 Nov 2018 09:16

Versão miniatura do meu menu:

#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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Criar menu

Mensagempor JoséQuintas » 09 Nov 2018 11:10

E "aperfeiçoando" um pouco.

      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.

      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
      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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Criar menu

Mensagempor JoséQuintas » 09 Nov 2018 12:34

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Criar menu

Mensagempor lugab » 09 Nov 2018 13:04

Bom dia, povo...

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

https://github.com/JoseQuintas/JoseQuintas/blob/master/source/jpa_menu.prg

Hazael,

Muito bacana o seu exemplo
lugab
lugab
Colaborador

Colaborador
 
Mensagens: 843
Data de registro: 19 Mai 2009 15:58
Curtiu: 126 vezes
Mens.Curtidas: 38 vezes

Criar menu

Mensagempor JoséQuintas » 09 Nov 2018 14:50

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Próximo



Retornar para CA-Clipper

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro