Criar menu

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Criar menu

Mensagem por lugab »

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

https://github.com/JoseQuintas/JoseQuin ... a_menu.prg
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 »

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/JoseQuin ... s/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 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 »

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 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/
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 »

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: 127
Registrado em: 14 Jun 2015 23:19
Localização: Colombia

Criar menu

Mensagem por Ruben Dario »

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
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 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 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 »

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 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/
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 »

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
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 »

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 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/
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

Criar menu

Mensagem por MSDN »

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

Código: Selecionar todos

/***
*  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
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

Criar menu

Mensagem por MSDN »

Se vc retirar a parte que fazia uso da Light Lib, funciona no Harbour perfeitamente.
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 »

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: 127
Registrado em: 14 Jun 2015 23:19
Localização: Colombia

Criar menu

Mensagem por Ruben Dario »

Gracias Jose Quintas, me funciono la busqueda con Notepad. No me sabia este recurso.
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 »

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?
https://pctoledo.org/forum/viewto ... 45&t=19624
Nilton Medeiros
nilton@sistrom.com.br
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 »

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 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