Clipper On Line • Ver Tópico - Criar menu

Criar menu

Discussão sobre a linguagem CA-Clipper.

Moderador: Moderadores

 

Criar menu

Mensagempor lugab » 09 Nov 2018 15:26

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

https://github.com/JoseQuintas/JoseQuintas/blob/master/source/jpa_menu.prg
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 16:27

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


Não venho atualizando, pode precisar tapa-buracos pra módulos novos, mas....

https://github.com/JoseQuintas/JoseQuintas/blob/master/tests/test.hbp

Convém só rodar o teste em pasta separada, porque ele cria arquivos e tudo mais, sempre na pasta atual do EXE.
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: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Criar menu

Mensagempor JoséQuintas » 09 Nov 2018 16:37

Testei compilar agora e ok.
Nem tudo que está no menu fica disponível para clientes.
Tem até meu teste de boleto em PDF.

testeboleto.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: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Criar menu

Mensagempor Ruben Dario » 10 Nov 2018 13:52

Seria posible colocar Iconos a las opciones de ese menu , seria interesante.
Gracias por su aporte
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 Ruben Dario » 12 Nov 2018 15:26

Para jose Quintas
He bajado este archivo JoseQuintas-master.zip.
Me pregunta en donde ubico la funcion NomeMes que esta en su fuente ze_calendario.prg

Gracias
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 » 12 Nov 2018 20:56

A josequintas depende da sefazclass.
Se não estiver em uma, está na outra.

Em todo caso, conforme o editor de texto, fica fácil pesquisar.

nomemes.png


Se gerou as LIBs, só acrescentar sefazclass.hbc ou josequintas.hbc
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: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Criar menu

Mensagempor JoséQuintas » 12 Nov 2018 21:08

Não lembro se coloquei em um README

Faço assim:
Pode salvar as LIBs na pasta que quiser.
Dentro de \harbour\bin crie HBMK.HBC indicando as pastas que criar.
Exemplo:

## /harbour/bin/hbmk.hbc
/libs/josequintas/josequintas.hbc
/libs/josequintas/sefazclass.hbc

na pasta sefazclass:
hbmk2 sefazclass.hbp

na pasta josequintas:
hbmk2 josequintas.hbp

A partir daí, quando precisar:
hbmk2 teste.prg josequintas.hbc
hbmk2 teste.prg sefazclass.hbc

\Harbour\bin\HBMK.HBC indica para o Harbour aonde procurar as LIBs extras
E o HBC de cada LIB indica o que precisa pra cada lib
Ao indicar o hbc no projeto, o Harbour vai encontrar e acrescentar tudo que precisar.

E se usar versões diferentes de Harbour, só criar o HBMK.HBC na pasta BIN de cada um.
Isso vai permitir ter versões diferentes pra cada Harbour que estiver instalado na máquina.
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: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Criar menu

Mensagempor Ruben Dario » 12 Nov 2018 22:09

Jopse Quintas, con un editor de texto se puede buscar el nombre de una funcion, pero si son muchos archivos no se en cual esta, como le dices o que editor usas.

Gracias
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 » 13 Nov 2018 09:10

Eu uso o Programmers Notepad.

A opção é FIND IN FILES.
Alguns editores só permitem pesquisar em fontes do projeto.
O programmers notepad permite indicar a pasta

findfiles.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: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Criar menu

Mensagempor MSDN » 13 Nov 2018 14:34

Exemplo que vinha na instalação do Clipper 5.3 :

/***
*  mDemo.prg
*
*  Clipper 5.3 Demo program with GUI Get, Menu class and LightLib
*
*  Copyright (c) 1990-1995, Computer Associates International Inc.
*  All rights reserved.
*
*   Build : Rmake mDemo.Rmk
*   Run   : mDemo          <- Text mode
*           mDemo  /G      <- Graphic mode
***/
#include "button.ch"      // Menu definitions
#include "inkey.ch"       // Key definitions
#include "setcurs.ch"     // Cursor definitions
#include "llibg.ch"       // Graphic definitions
#include "blob.ch"        // Flex file

function Main( nMode )
   Local oMenu
   Local aMode := {}
   Memvar  oPopUp2
   Private oPopUp2

   // Decide running under which mode
   If ValType(nMode) == "C" .and. Upper(nMode) == "/G"
      SET( _SET_VIDEOMODE, LLG_VIDEO_VGA_640_480_16 )

      Request DBFMEMO
      RDDSetDefault("DBFMEMO")
      MemoSetSuper("DBFNTX")

   Endif

   // Make the mouse cursor visible if mouse driver is loaded
   If mPresent()
      mSetCursor( .T. )
      mDblClk( 500 )
      mSetPos( 10,10 )
      SET( _SET_EVENTMASK, INKEY_ALL )
   Endif

   // Create the menu and display
   Scroll()
   Set(_SET_SCOREBOARD,.F.)
   SetCursor( SC_NONE )
   oMenu := ApplyMenu()

   aMode := gMode()
   If aMode[ LLG_MODE_IN_USE ] == LLG_VIDEO_TXT
      @ 10,34 Say "CA-Clipper" Color "BG+/N"
      @ 12,20 Say "The Power Of GUI At The Speed Of DOS" Color "GR+/N"
   Else
      gBMPDisp( gBMPLoad( "CA-CLIP.BMP" ), 155, 160 )
   Endif

   // Wait for a menu event and do not exit until File/Exit is chosen
   oMenu:Display()

   While ( MenuModal(oMenu,1,MaxRow()-1,1,MaxCol()-1,"r/w") != -1 )
   End

   SetCursor( SC_NORMAL )
   Return (0)

// This function will create the menu and return the newly created
// MenuObject as its return value.
Static Function ApplyMenu()
   Local oTopBar, oPopUp1, oSubPopUp2, oItem
   Local aMode := {}
   Memvar oPopUp2

   // Create first popup menu named MAIN
   oPopUp1 := PopUp()
   oPopUp1:ColorSpec := "b/w,gr+/rb,r/w,g/rb,n+/w,w+/b"

   // Add some menu items to the newly created popup
   oPopUp1:AddItem( MenuItem("&Config   Alt+F2",{|| MenuConfig(oPopUp2)},;
                    K_ALT_F2,"Menu Items Configuration") )

   oItem := MenuItem("&Graphic  Ctrl+G",{|| LLibDemo() }, ;
                      K_CTRL_G,"Light Lib Graphic demo")
   oPopUp1:AddItem( oItem )

   // Check the current video mode status
   aMode := gMode()
   If aMode[ LLG_MODE_IN_USE ] == LLG_VIDEO_TXT
      oItem:Enabled := .F.
   Endif

   // Add a Separator and Exit
   oPopUp1:AddItem( MenuItem( MENU_SEPARATOR ) )
   oPopUp1:AddItem( MenuItem("E&xit     Alt+F4" ,{|| .T.}, K_ALT_F4,;
                    "End of application", -1) )

   // Create a Sub-Pop up menu
   oSubPopUp2 := PopUp()
   oSubPopUp2 :ColorSpec:= "b/w,gr+/rb,r/w,g/rb,n+/w,w+/b"

   // Add some items
   oSubPopUp2:AddItem( MenuItem("&Go To...  F5",{|o| Marker(o,oSubPopUp2)},;
                       K_F5,"Go to a specific line number") )
   oSubPopUp2:AddItem( MenuItem("G&o To Top   ",{|o| Marker(o,oSubPopUp2)},;
                       K_HOME,"Go to top of file") )
   oSubPopUp2:AddItem( MenuItem("Go To &Bottom",{|o| Marker(o,oSubPopUp2)},;
                       K_END,"Go to bottom of file") )

   // Create a second popup menu named EDIT and attach it to oTopBar
   oPopUp2 := PopUp()
   oPopUp2:ColorSpec := "b/w,gr+/rb,r/w,g/rb,n+/w,w+/b"

   // Add some menu items to this EDIT popup menu
   oPopUp2:AddItem( MenuItem( "&Undo   Ctrl+Z" ,{||.T.}, K_CTRL_Z,;
                    "Reverse changes made to this file") )
   oPopUp2:AddItem( MenuItem( "Cu&t    Ctrl+X" ,{||.T.}, K_CTRL_X,;
                    "Cut to clipboard") )
   oPopUp2:AddItem( MenuItem( "&Copy   Ctrl+C" ,{||.T.}, K_CTRL_C,;
                    "Copy to clipboard") )
   oPopUp2:AddItem( MenuItem( "&Paste  Ctrl+V" ,{||.T.}, K_CTRL_V,;
                    "Paste from clipboard") )
   oPopUp2:AddItem( MenuItem( MENU_SEPARATOR ) )
   oPopup2:AddItem( MenuItem( "&Go",oSubPopUp2 ) )

   // Add yet another separator
   oPopUp2:AddItem( MenuItem( MENU_SEPARATOR ) )
   // Add one final menu item to the EDIT popup menu
   oPopUp2:AddItem( MenuItem( "&Find..." ,{|| .T.}, K_ALT_F3,;
                   "Search for text") )

   // TopBar() creates the menu at the very top of the screen
   oTopBar := TopBar( 0, 0, 78)
   oTopBar:ColorSpec := "b/w,gr+/rb,r/w,g/rb,n+/w,w+/b"
   oTopBar:AddItem( MenuItem ( "&Main",oPopUp1) )
   oTopBar:AddItem( MenuItem ( "&Edit",oPopUp2) )

   // Return our TopBar object back to ApplyMenu()
   Return ( oTopBar)

Static Function Marker( oItem, oSubMenu )
   Local oMenuItem, i

   For i := 1 To oSubMenu:ItemCount()
      oMenuItem := oSubMenu:GetItem(i)
      oMenuItem:Checked := .F.
   Next
   oItem:Checked := !oItem:Checked
   Return .T.
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Criar menu

Mensagempor MSDN » 13 Nov 2018 18:26

Se vc retirar a parte que fazia uso da Light Lib, funciona no Harbour perfeitamente.
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Criar menu

Mensagempor Ruben Dario » 13 Nov 2018 23:28

Saludos

Otra pregunta sobre menu , es posible tener un menu principal , despliegue otro deacuerdo a la opcion seleccionada.
Tengo problema que no se ejecuta este codigo, veo es porque no tiene submenus si fuera asi funciona , pero el codigo anexo no funcionaç

Ejemplo EL menu seria asi(Por decir en la linea 2 deberia mostrar el menu principal y en la linea 3 el menu correspondiente, es factible

Catalogos Nomina Cuentas.Ctes Cuentas.x.Pagar Cuentas.x.Cobrar Produccion Inventarios/Compras etc...
Catalogos Opcion.1 Opcion.1 Opcion.1 Opcion.1 etc...
opcion 1
opcion 2

Este seria el menu principal

bungstart(_A_SET_STATUS)
bungoption("~Catalogos",{|| MENU_0(1) } )
bungoption("~Nomina",{|| MENU_1(1) } )
bungoption("~Cuentas.Ctes",{|| MENU_2(1)} )
bungoption("~Cuentas.x.Pagar",{|| MENU_3(1) } )
bungoption("~Cuentas.x.Cobrar",{|| MENU_4(1) } )
bungoption("~Produccion",{|| MENU_5(1) } )
bungoption("~Inventarios/Compras",{|| MENU_6(1) } )
bungoption("~Catalogos",{|| MENU_7(1) } )
bungoption("~Contabilidad",{|| MENU_8(1) } )
bungoption("~Mantenimiento",{|| MENU_9(1) } )
bungoption("~Admon",{|| MENU_10(1) } )
bungoption("~Facturacion.Especial",{|| MENU_11(1) } )
aMenu := bungend()
MyBungee(2,1,maxcol()-1,aMenu,NIL,aColors,aHotMice,aKeysHot,bNoEsc,NIL,NIL,1,NIL,NIL,NIL,NIL,nStart)

..
..
..

PROC MENU_1(nStart)
local cSuper,bNoEsc,aHotMice

LOCAL lActive1 := .t., lActive2 := .t., lActive3:= .t.
LOCAL bExitOk := {||MESSYN("Desea Terminar ?")}
LOCAL aMiceHot := { {0,1,0,3,CODEBLOCK( bungeequit() )} }

LOCAL aKeysHot := { {K_ALT_X,CODEBLOCK( bungeequit() )} }
bungstart(_A_SET_STATUS)

bungoption("~Catalogos")
bungdrop()
bungoption("Contable ")
bungdrop()
bungoption("Cue~ntas.PUC ")
bungdrop()
bungoption("Actualizaci¢n",{|| Accesos("CONT510_4(4)","CONT510_4",0) } )
bungoption("Listado/Consulta",{|| Accesos("CONT1080_15(14)","CONT1080_15",0) } )
bungundrop()

bungoption("Condiciones de ~Pago ")
bungdrop() //STANDARIZAR
bungoption("Actualizaci¢n",{|| Accesos("PXP510_23(23)","PXP510_23",0) } ) //STANDARIZAR
bungoption("Listado/Consulta",{|| Accesos("PXP602_5(5)","PXP602_5",0) } )
bungundrop()
bungoption("~Tipo Documentos ")
bungdrop() //STANDARIZAR
bungoption("Actualizaci¢n",{|| Accesos("PXP510_48(48)","PXP510_48",0) } )
bungoption("Listado/Consulta",{|| Accesos("PXP601_16(16)","PXP601_16",0) } )
bungundrop()
bungoption("C~entro de Costos ")
bungdrop() //STANDARIZAR
bungoption("Actualizaci¢n",{|| Accesos("PXP510_24(24)","PXP510_24",0) } )
bungoption("Listado/Consulta",{|| Accesos("PXP3011_3(3)","PXP3011_3",0) } )
bungundrop()
bungoption("C~ostos ")
bungdrop() //STANDARIZAR
bungoption("Actualizaci¢n",{|| Accesos("PXP603_4(4)","PXP603_4",0) } ) //STANDARIZAR
bungoption("Listado/Consulta",{|| Accesos("PXP603_5(5)","PXP603_5",0) } )
..
..
..
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 Ruben Dario » 14 Nov 2018 01:22

Gracias Jose Quintas, me funciono la busqueda con Notepad. No me sabia este recurso.
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 NiltonGM » 24 Nov 2018 12:36

Aproveitando que o assunto é menu, e só tem feras por aqui, será que um de vocês poderiam me ajudar com o DROPDOWN MENU na pergunta que fiz neste forum?
http://www.pctoledo.com.br/forum/viewtopic.php?f=45&t=19624
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: 25 vezes

Criar menu

Mensagempor JoséQuintas » 24 Nov 2018 17:12

NiltonGM escreveu:Aproveitando que o assunto é menu, e só tem feras por aqui


Mas não tem nada a ver menu console com menu GUI.... rs
Exceto se for criar um array com o menu.
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: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Anterior Próximo



Retornar para CA-Clipper

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 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