Clipper On Line • Ver Tópico - Aos poucos migrando tela caracter para GUI

Aos poucos migrando tela caracter para GUI

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Aos poucos migrando tela caracter para GUI

Mensagempor Fernando queiroz » 27 Fev 2018 20:50

A tela Console é do antigo MIRO mas em janela WVT

   implementaτπo da GT ( muda as caracteristicas da tela do programa )
   */
   pNewGT := hb_gtCreate("WVT")
   pGT    := hb_gtSelect(pNewGT)
   HB_GTINFO( HB_GTI_SELECTCOPY, .F.)
   HB_GTINFO( HB_GTI_RESIZABLE, .F.)
   HB_GTINFO( HB_GTI_CODEPAGE, 255 )
   HB_GTINFO( HB_GTI_ALTENTER, .F.)
   HB_GTINFO( HB_GTI_WINTITLE, "SGC - SISTEMA DE GESTAO DE COMERCIO")
   HB_GTINFO( HB_GTI_FONTNAME, "LUCIDA CONSOLE")
*    HB_GTINFO( HB_GTI_ICONRES, "SGC.ICO" )
*    HB_GTINFO( HB_GTI_SELECTCOPY, .T. )
*    HB_GTINFO( HB_GTI_MOUSESTATUS, 1 )
*    HB_GTINFO( HB_GTI_CLIPBOARDDATA )
   HB_GTINFO( HB_GTI_CLOSABLE, .F.)
   HB_GTINFO( HB_GTI_ICONFILE, "SGC.ICO")
   HB_GTINFO( HB_GTI_MAXIMIZED, .T.)
   hb_gtInfo( HB_GTI_COMPATBUFFER, .f. )
   **HB_GtInfo( HB_GTI_ISFULLSCREEN, .T. ) // deixa a tela cheia - estilo DOS
   HB_GtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_FONT ) // aumenta o tamanho da letra proporcionalmente
   Set( _SET_EVENTMASK, INKEY_ALL + HB_INKEY_GTEVENT )


Depois eu chamo as rotinas em HWGUI

IMG_0057.JPG
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor Fernando queiroz » 27 Fev 2018 20:51

IMG_0058.JPG
tela HWGUI chamada de uma tela GTWVT
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor Fernando queiroz » 27 Fev 2018 21:01

Mas ja estou com o menu grafico tambem pronto

IMG_0060.JPG
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor Fernando queiroz » 27 Fev 2018 21:08

rubens escreveu:Fernando...
Essa tela do clipper´s club andou longe heim ?!!!
Essa tela do contas a pagar, você faz ela a partir do menu principal aí? Pega todo o ambiente do da tela texto aí ou é um programa a parte?

Obg
Rubens


Consigo chamar tela console de dentro de um menu grafico ou de um menu console uma tela grafica , mas tem de estar em janela WVT
tudo dentro do mesmo programa mas com .prg diferentes
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor Fernando queiroz » 27 Fev 2018 21:13

IMG_0061.JPG
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor Fernando queiroz » 27 Fev 2018 21:14

IMG_0062.JPG
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor rubens » 28 Fev 2018 09:08

Tem como postar um exemplo Fernando...
Só da chamada mesmo...

case opcao = 1
TelaGrafica()
...

Function TelaGrafica()
O que você coloca aqui ???
Return nil

Obrigado

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor Fernando queiroz » 28 Fev 2018 10:07

menu console chamando telas graficas em HWGUI

IF MENU_P = 1
           MENSAGEM( "Tecle <ESC> para sair" )
           menu:ADD( "Produtos/Servicos", CADPRODUTOSBRW( .T. ) )
           menu:ADD( "-" )
           menu:ADD( "Clientes/Cartoes", CADCLIENTESBRW( .T. ) )
           menu:ADD( "Fornecedores/Caixa ", CADFORNECEDORESBRW( .T. ) )
           menu:ADD( "Vendedores ", CADVENDEDORESBRW( .T. ) )
           menu:ADD( "-" )
           menu:ADD( "Cfop ", CADCFOPBRW( .T. ) )
           menu:ADD( "NCM ", CADNCMBRW( .T. ) )
           menu:ADD( "Municipios ", CADMUNICIPIOSBRW( .T. ) )
           menu:ADD( "-" )
           menu:ADD( ">Relatorios", SGCREL_1() )
           menu:RODA()
         ELSEIF MENU_P = 2
           IF M->FIMMES
             MENSAGEM( "Tecle <ESC> para sair" )
             menu:ADD( "Nota de Entrada", NOTADEENTRADA( ) )
             menu:ADD( "Gerência Nota de Entrada", GERENCIANOTAENTRADA(  ) )
             menu:ADD( "-" )
             menu:ADD( "Pedido de Compra ", SGC2200() )
             menu:ADD( "-" )
             menu:ADD( "Validade de Produtos ", VALIDADEDEPRODUTOSBRW(.T.) )
             menu:ADD( "-" )
             menu:ADD( "Finaliza Mes ", SGC2400() )
             menu:ADD( "-" )
             menu:ADD( ">Relatorios", SGCREL_2() )
             menu:RODA()
           ELSE
             MENSAGEM( "Tecle <ESC> para sair" )
             menu:ADD( "Nota de Entrada", NOTADEENTRADA( ) )
             menu:ADD( "Gerência Nota de Entrada", GERENCIANOTAENTRADA(  ) )
              menu:ADD( "-" )
             menu:ADD( "Pedido de Compra ", SGC2200() )
             menu:ADD( "-" )
             menu:ADD( "Validade de Produtos ", VALIDADEDEPRODUTOSBRW(.T.) )         
             menu:ADD( "-" )
             menu:ADD( ">Relatorios", SGCREL_2() )
             menu:RODA()
           ENDIF
         ELSEIF MENU_P = 3
           MENSAGEM( "Tecle <ESC> para sair" )
           menu:ADD( "Nota de Pedido", NOTADEPEDIDO( ) )
           menu:ADD( "Gerência Nota de Pedido" ,GERENCIANOTADEPEDIDO(  ) )
           menu:RODA()
         ELSEIF MENU_P = 4
           MENSAGEM( "Tecle <ESC> para sair" )
           menu:ADD( "Posição do Caixa" , POSICAODOCAIXA(  ) )    
           menu:ADD( "-" )
           menu:ADD( "Emitir NF-e DANFE",  GERANFE_DANFE())
           menu:ADD( "Gerência NF-e DANFE",  GERENCIA_NFE())   
           menu:ADD( "-" )             
           menu:ADD( "Emitir NFC-e CUPOM ",  GERANFCE_CUPOM(  ))
           menu:ADD( "Gerência NFC-e CUPOM",  GERENCIA_NFCE()) 
           menu:RODA()
         ELSEIF MENU_P = 5
           MENSAGEM( "Tecle <ESC> para sair" )
           menu:ADD( "Contas a Receber " , CONTASARECEBERBRW(  ) )
           menu:ADD( "-" )
           menu:ADD( "Contas a Pagar " , CONTASAPAGARBRW(  )  )
           menu:RODA()
         ELSEIF MENU_P = 6
           MENSAGEM( "Tecle <ESC> para sair" )
           menu:ADD( "Reorganizar", INDICES( .T. ) )
           menu:ADD( "-" )
           menu:ADD( ">Configuraçoes", CONFIG() )
           menu:ADD( "-" )
           menu:ADD( ">Papel de parede", FUNDO( 1 ) )
           menu:ADD( ">Configuraçao de cores", CONFCOR() )
           menu:ADD( "Configuraçao padrao", CONFPADRAO() )
           *         menu:ADD( ">Configuraçao de Fontes", CONFFONTES() )
           menu:ADD( "-" )
           menu:ADD( ">Senhas", EDITA_SENHA() )
           menu:ADD( "-" )
           menu:ADD( "Log Geral" , RELATORIOLOGGERAL(  ) )
           menu:ADD( "Lembretes ", CADLEMBRETESBRW(  ) )
           menu:RODA()
         ELSEIF MENU_P = 7
           menu:ADD( "Encerrar" )
           menu:ADD( "-" )
           menu:ADD( "Info", INFO() )
           menu:ADD( "-" )
           menu:ADD( "News", NEWS() )
           IF menu:RODA() = 1
                 BEEP();IF PERG( "Confirma o encerramento ?" ) = "S"
               VAR := ""
               FOR CONTAR = 1 TO 12
                  VAR += CONTECOR[ CONTAR ]
               NEXT
               VAR += STR( MOV_LINHA, 2 ) + STR( MOV_COLUNA, 2 )
               VAR += "FF  "
               VAR += STR( FUNDO, 2 )
               VAR += M->DRI_VE
               VAR += CONTECOR[ 13 ]
               VAR += PADR( CON_ARQ, 12 )

               MEMOWRIT( (CONF_EST), VAR )
               SETCOLOR( "W" )
               QUIT
             ENDIF
           ENDIF
         ENDIF


MENU GRÁFICO chamando rotinas em modo console e em modo gráfico

/*
TITULO     : SISTEMA DE GESTÃO DE COMERCIO
DATA       : 27/11/2017
PROGRAMA   : MENUGRAFICO.PRG
COMENTARIO : MENU PRINCIPAL
*/
#include "SGC.CH"
#include "hwgui.ch"
   
****************************************
FUNCTION MENU_GRAFICO
****************************************

    LOCAL oMENUPRINC,  lManutencao, oOwnerbutton1, oOwnerbutton2, oOwnerbutton3, oOwnerbutton4, oOwnerbutton5, oOwnerbutton6 ;
      , oOwnerbutton7, oOwnerbutton8, oOwnerbutton9, oOwnerbutton10, oOwnerbutton11, oOwnerbutton12, oOwnerbutton13, oOwnerbutton14;
      , oToolbutton1, oToolbutton2, oToolbutton3, oToolbutton4, oToolbutton5, oToolbutton6, oToolbutton7, oToolbutton8, oToolbutton9;
      , oToolbutton10, oToolbutton11, oToolbutton12, oToolbutton13, oToolbutton14, oToolbutton15, oToolbutton16, oToolbutton17, oToolbutton18

  INIT DIALOG oMENUPRINC TITLE "SGC - SISTEMA DE GESTÃO DE COMERCIO"    ;
      AT 0, 0 SIZE 1024,768 NOEXIT  ;
      STYLE WS_OVERLAPPEDWINDOW+DS_CENTER+DS_ABSALIGN
   
    Thisform := oMENUPRINC

MENU OF oMENUPRINC 
  MENU TITLE 'Cadastros' ID 32000
      MENUITEM 'Produtos' ID 32009 ACTION {|| CADPRODUTOSBRW( .T. ), DBCLOSEAREA() }  // .T. ativa manutencao no cadastro .F. somente consulta
       SEPARATOR
      MENUITEM 'Clientes' ID 32010 ACTION {|| CADCLIENTESBRW( .T. ), DBCLOSEAREA() }
      MENUITEM 'Fornecedores' ID 32011 ACTION {|| CADFORNECEDORESBRW( .T. ), DBCLOSEAREA() }
      MENUITEM 'Vendedores' ID 32012 ACTION {|| CADVENDEDORESBRW( .T. ), DBCLOSEAREA() }
       SEPARATOR
      MENUITEM 'CFOP' ID 32014 ACTION {|| CADCFOPBRW( .T. ), DBCLOSEAREA() }
      MENUITEM 'NCM' ID 32015 ACTION {|| CADNCMBRW( .T. ), DBCLOSEAREA() }             
      MENUITEM 'Municípios' ID 32016 ACTION {|| CADMUNICIPIOSBRW( .T. ), DBCLOSEAREA() }
//       SEPARATOR
//      MENU TITLE 'Relatórios' ID 32018
//        MENUITEM 'Produtos' ID 32020 ACTION {|| RELATORIO_PRODUTOS(  ) }
//        MENUITEM 'Clientes' ID 32021 ACTION {|| RELATORIO_CLIENTES(  ),DBCLOSEALL() }
//        MENUITEM 'Fornecedores' ID 32022 ACTION {|| RELATORIO_FORNECEDORES( ),DBCLOSEALL()  }
//        MENUITEM 'Vendedores' ID 32023 ACTION {|| RELATORIO_VENDEDORES( ),DBCLOSEALL()  }
//      ENDMENU 
  ENDMENU 
  MENU TITLE 'Estoque' ID 33000
    MENUITEM 'Nota de Entrada' ID 30001 ACTION ""
     SEPARATOR
    MENUITEM 'Pedido de Compra' ID 33003 ACTION ""
    MENUITEM 'Validade de Produtos' ID 33004 ACTION ""
     SEPARATOR
    MENUITEM 'Correção de Estoque' ID 33006 ACTION ""
     MENUITEM 'Cadastro EAN' ID 33007 ACTION ""
     SEPARATOR
    MENU TITLE 'Relatórios' ID 33009
      MENUITEM 'Inventário Geral' ID 33010 ACTION ""
      MENUITEM 'Produtos Zerados' ID 33011 ACTION ""
      MENUITEM 'Produtos mais Vendidos' ID 33012 ACTION ""
      MENUITEM 'Nota de Entrada' ID 33013 ACTION ""
      MENUITEM 'Vencimento de Produtos' ID 33014 ACTION ""
    ENDMENU 
  ENDMENU
  MENU TITLE 'Faturamento' ID 34000
    MENUITEM 'Nota de Pedido' ID 34001 ACTION {|| NOTADEPEDIDO( ) }
    MENUITEM 'Gerênciar Nota de Pedido' ID 34002 ACTION {|| GERENCIANOTADEPEDIDO(  ) }
//    MENUITEM 'Reemissão Nota de Pedido' ID 34003 ACTION {|| SGC3300( ) } 
     SEPARATOR
    MENUITEM 'Orçamento' ID 34005 ACTION ""
  ENDMENU
  MENU TITLE 'Serviços' ID 35000
    MENUITEM 'Entrada do Serviço' ID 35001 ACTION ""
    MENUITEM 'Recepção pelo Técnico' ID 35002 ACTION ""
    MENUITEM 'Informações Tecnicas' ID 35003 ACTION ""
    MENUITEM 'Finalizar/Entrega' ID 35004 ACTION ""
     SEPARATOR
    MENU TITLE 'Relatório de Serviços' ID 35006
      MENUITEM 'Por Situação Serviço' ID 35007 ACTION ""
      MENUITEM 'Por Período' ID 35008 ACTION ""
      MENUITEM 'Montagens em aberto' ID 35009 ACTION ""
      MENUITEM 'Montagens Aguardando Retirada' ID 35010 ACTION ""
    ENDMENU 
  ENDMENU
  MENU TITLE 'Caixa' ID 36000
//    MENUITEM 'Abertura do Caixa' ID 36001 ACTION {|| POSICAODOCAIXA(  ) }
//    MENU TITLE 'Movimento do Caixa' ID 36002
//      MENUITEM 'Receber de Clientes' ID 36003 ACTION ""
//      MENUITEM 'Contas a Receber - Baixas' ID 36004 ACTION ""
//      SEPARATOR
//      MENUITEM 'Pagar Fornecedores' ID 36006 ACTION ""
//      SEPARATOR
//      MENUITEM 'Vale P/ Vendedores' ID 36008 ACTION ""
//      SEPARATOR
//      MENUITEM 'Consulta Movimento do Caixa' ID 36010 ACTION ""
//    ENDMENU 
    MENUITEM 'Posição do Caixa/Abertura/Fechamento' ID 36012 ACTION {|| POSICAODOCAIXA(  )  }
//    MENUITEM 'Fechamento do Caixa' ID 36013 ACTION {|| SGC4400()  }
//    MENUITEM 'Reabertura do Caixa' ID 36014 ACTION {|| SGC4500()  }
//     SEPARATOR
//    MENUITEM 'Resumo do Caixa' ID 36016 ACTION {|| SGC4700()  }
//     SEPARATOR
//    MENUITEM 'Emitir NF-e' ID 36018 ACTION {|| GERANFE_GRAFICO(  )  }
//    MENUITEM 'Emitir NFC-e CUPOM' ID 36019 ACTION {|| GERANFCE_GRAFICO(  )  }
//    MENUITEM 'Gerênciar NF-e/NFC-e' ID 36020 ACTION {|| GERENCIA_XML_GRAFICO(  )  }
  ENDMENU
  MENU TITLE 'Contas a Receber' ID 37001
    MENUITEM 'Lançamentos/Baixa/Relatórios' ID 37002 ACTION {|| contasareceberBRW(  )  }
//     SEPARATOR
//    MENU TITLE 'Relatórios' ID 37005
//      MENUITEM 'Receitas em Aberto por Ciente' ID 37006 ACTION ""
//      MENUITEM 'Receitas em Aberto por Vencimento' ID 37007 ACTION ""
//      SEPARATOR
//      MENUITEM 'Receitas Recebidas por Cliente' ID 37009 ACTION ""
//      MENUITEM 'Receitas recebidas por Vencimento' ID 37010 ACTION ""
//    ENDMENU 
  ENDMENU
  MENU TITLE 'Contas a Pagar' ID 38001 
    MENUITEM 'Lançamentos/Baixa/Relatórios' ID 38002 ACTION {|| CONTASAPAGARBRW(  )  }
//     SEPARATOR
//    MENU TITLE 'Relatórios' ID 38005
//      MENUITEM 'Despesas em aberto por Fornecedor' ID 38006 ACTION {|| SGCR_305(  )  }
//      MENUITEM 'Despesas em aberto por Vencimento' ID 38007 ACTION {|| SGCR_306(  )  }
//      SEPARATOR
//      MENUITEM 'Despesas pagas por Fornecedor' ID 38009 ACTION {|| SGCR_307(  )  }
//      MENUITEM 'Despesas pagas por Vencimento' ID 38010 ACTION {|| SGCR_308(  )  }
//    ENDMENU 
  ENDMENU
  MENU TITLE 'Utilitários' ID 32008
    MENU TITLE 'Configurações' ID      32036
      MENUITEM 'Usuário' ID 32037 ACTION ""
      MENUITEM 'Configura Contas a Receber' ID 32038 ACTION {|| _contasreceber(  ) }
      MENUITEM 'Ativa/Desativa Rotinas/Descontos/Turnos' ID 32039 ACTION {|| _ROTINAS() }
      MENUITEM 'Configura NF-e/NFC-e' ID 32040 ACTION {|| CONFIGNFE() }

    ENDMENU 
    MENUITEM 'Reorganizar Indices dos Arquivos' ID 32041 ACTION {|| abrearquivos(  ) } 
     SEPARATOR
    MENUITEM 'Cadastro de Operadores' ID 32042 ACTION {|| _TELAMANUTENCAOSENHA(  ) }
     SEPARATOR
    MENUITEM 'Relatório do Log-Geral' ID 32043 ACTION {|| RELATORIOLOGGERAL(  ), DBCLOSEALL(  ) }
     SEPARATOR
    MENUITEM 'Atualizar tabela do IBPT (NCM)' ID 32044 ACTION {|| TABELAIBPT(  ),hwg_DeleteFile( "C:\BENE\DATABASE\NCM.001"  ) }
   MENUITEM 'Atualizar Certificado Digital' ID 32045 ACTION {|| CERTIFICADODIGITAL() } 
    MENUITEM 'Lembretes' ID 32046 ACTION {|| CADLEMBRETESBRW(  ) }
  ENDMENU 
  MENU TITLE 'Saida' ID 32007
    MENUITEM 'Encerrar Sistema' ID 32025 ACTION {|| oMENUPRINC:Close() }
     SEPARATOR
    MENUITEM 'Trocar de Operador' ID 32026 ACTION ""
     SEPARATOR
    MENUITEM 'INFO' ID 32029 ACTION {|| INFO() }
     SEPARATOR
    MENUITEM 'News' ID 32031 ACTION {|| NEWS() }
     SEPARATOR
    MENUITEM 'Sobre' ID 32033 ACTION {|| ABOUT() }
  ENDMENU
ENDMENU

   @ 8,-1 TOOLBAR oToolbar1  SIZE 1600,40 ;
      STYLE BTNS_AUTOSIZE + TBSTYLE_TRANSPARENT 
      oToolbar1:AddButton("gift", , 4, 16, "Produtos" ,{|| cadprodutosbrw( .T. ) },'Cadastro de Produtos','', "oToolbutton1")
      oToolbar1:AddButton("usergroup", , 4, 16, "Clientes"   ,{|| cadclientesbrw( .T. ) },'Cadastro de Clientes','', "oToolbutton2")
      oToolbar1:AddButton("boss", , 4, 16, "Fornecedores" ,{|| CADFORNECEDORESBRW( .T. ) },'Cadastro de Fernecedores','', "oToolbutton3")
      oToolbar1:AddButton("buy", , 4, 16, "Entrada" ,{|| NOTADEENTRADA( ) },'Nota de Entrada','', "oToolbutton4")
      oToolbar1:AddButton("coins", , 4, 16, "Vendas" ,{|| NOTADEPEDIDO( ) },'Nota de Pedido','', "oToolbutton5")
      oToolbar1:AddButton("list", , 4, 16, "Orçamento" ,{|| SGC3400() },'Orçamento','', "oToolbutton6")
      oToolbar1:AddButton("Equipment", , 4, 16, "Serviços" ,{|| SGC3700() },'Rotinas de Serviços','', "oToolbutton7")
//      oToolbar1:AddButton("Equipment", , 4, 16, "Serv.Saida" ,{|| SGC3700() },'Finalizar/Entrega de Serviços','', "oToolbutton8")
      oToolbar1:AddButton("Cashregister", , 4, 16, "Caixa" ,{|| POSICAODOCAIXA(  ) },'Rotinas do Caixa','', "oToolbutton9")
      oToolbar1:AddButton("Import", , 4, 16, "DANFE" ,{|| GERANFE_DANFE(  ) },'Emite NF-e DANFE','', "oToolbutton12")
      oToolbar1:AddButton("Import", , 4, 16, "Ger.DANFE" ,{|| GERENCIA_NFE(  )  },'Gerencia NF-e DANFE','', "oToolbutton13")
      oToolbar1:AddButton("Import", , 4, 16, "CUPOM" ,{|| GERANFCE_CUPOM(  ) },'Emite NFC-e CUPOM','', "oToolbutton14")      
      oToolbar1:AddButton("Import", , 4, 16, "Ger.CUPOM" ,{|| GERENCIA_NFCE(  )  },'Gerencia NFC-e CUPOM','', "oToolbutton15")
      oToolbar1:AddButton("goodmark", , 4, 16, "Receber" ,{|| CONTASARECEBERBRW(  )  },'Contas a Receber','', "oToolbutton16")
      oToolbar1:AddButton("badmark", , 4, 16, "Pagar" ,{|| CONTASAPAGARBRW(  ) },'Contas a Pagar','', "oToolbutton17")
      oToolbar1:AddButton("EXIT16BMP", , 4, 16, "Sair" ,{|| oMENUPRINC:Close() },'Sair do Sistema e Voltar para Senha','', "oToolbutton18")
      oToolbar1:CreateTool()

      
    ADD STATUS PANEL TO oMENUPRINC HEIGHT 30  PARTS 250,300,300             

    hwg_WriteStatus( oMENUPRINC,1,"Data Movimento: "+dtoc(M->DAT_HOJE))
    hwg_WriteStatus( oMENUPRINC,2,"Operador: "+RTRIM(M->OPERADOR)+" - Nivel: "+STRZERO(M->NIV_ACESSO,1,0) )

   ACTIVATE DIALOG oMenuPrinc  MAXIMIZED

RETURN NIL
*********************************
STATIC function SAIR( )
      IF hwg_MsgYesNo("DESEJA Encerrar, Tem certeza disso ?","Encerrar Sistema")
            ThisMenu:Close( )
            QUIT
      ENDIF
RETURN NIL


rotina gráfica de contas a pagar - só coloquei a rotina principal , dentro dela chamo outras rotinas

/*
TITULO     : SISTEMA DE GEST¦O DE COMERCIO
DATA       : 04/01/2017
PROGRAMA   : CONTASAPAGAR.PRG
COMENTARIO : CONTAS A PAGAR
*/
#include "hwgui.ch"
******************************************
FUNCTION CONTASAPAGARBRW(  )
******************************************

   LOCAL oDlg,  oDatabase1, oSt1, oLabel1B, oOrdem, obusca, oBrowse1 ;
      ,oLabelrod,  oToolbar1, oToolbutton1, oToolbutton2, oToolbutton3, oToolbutton4, oToolbutton5, oToolbutton6, oToolbutton7, oToolbutton8 ;
        ,oToolbutton9, oToolbutton10, oToolbutton11, oToolbutton12, oToolbutton13
   Local  nOrdem := 2
   private cProgressKey:=""
   private vBusca := "", cProgressKey:="", MSITUACAO:=""

   IF ! ABRE_FLAG()
      DBCLOSEALL()
      RETURN NIL
   END

   IF ! ABRE_FORNECEDOR()
      DBCLOSEALL()
      RETURN NIL
   END

   IF ! ABRE_PAGAR()
      DBCLOSEALL()
      RETURN NIL
   END
   Ordsetfocus(9)
   DBGOTOP()
  INIT DIALOG oDlg TITLE "Contas a Pagar"  ;
      ICON HIcon():AddFile('sgc.ico')  ;
      AT 0, 0 SIZE 1167,584 CLIPPER  NOEXIT  ;
      STYLE WS_OVERLAPPEDWINDOW+DS_CENTER+DS_ABSALIGN;
      ON INIT {|This| onDlgInit( This, oDlg ) }
    ThisBRW := oDlg

   @ 4,70 BROWSE oBrowse1 DATABASE OF oDlg SIZE 1160,482 STYLE WS_BORDER + WS_VSCROLL +WS_HSCROLL ;
         ON SIZE ANCHOR_TOPABS + ANCHOR_LEFTABS + ANCHOR_RIGHTABS + ANCHOR_BOTTOMABS ;
         ON POSCHANGE {|| hwg_WriteStatus( oDlg,2,LTrim(Str( RecNo(),8))+ "/" +LTrim(Str( Lastrec(),8))), situacao(  ) } ;
         ON CLICK {|| oBrowse1_onClick(  ) } ;
         ON KEYDOWN {|oBrowse1,nKeyPress| oBrowse1_onKeyDown( oBrowse1,nKeyPress ) }

      oBrowse1:oStyleHead := HStyle():New( { 0xffffff, 0xbbbbbb }, 1,, 0.4, 16759929 )
      oBrowse1:freeze := 1
      oBrowse1:nColumns := 12
      oBrowse1:alias := 'PAGAR'
      SELECT (oBrowse1:alias) 

      oBrowse1:AddColumn( HColumn():New('Codigo', FieldBlock( 'UFORNEC' ) ,'C',9, 0 ,.F.,1,2,,,,,,;
                          {|| Ordsetfocus(4), Dbgotop(), obrowse1:Refresh(), vBusca:="" ,  ;
                     hwg_WriteStatus( oDlg,3,"Ordem: Codigo/Data Baixa") } ,,,,))
                     
      oBrowse1:AddColumn( HColumn():New('Nome Fornecedor', FieldBlock( 'NRAZ_SOC' ) ,'C',60, 0 ,.F.,1,,,,,,,;
                          {|| Ordsetfocus(10), Dbgotop(), obrowse1:Refresh(), vBusca:="" , ;
                     hwg_WriteStatus( oDlg,3,"Ordem: Nome Fornecedor/Vencimento") } ,,,,))

      oBrowse1:AddColumn( HColumn():New('Documento', FieldBlock( 'NUMDOC' ) ,'C',21, 0 ,.F.,1,2,,,,,,;
                          {|| Ordsetfocus(1), Dbgotop(), obrowse1:Refresh(), vBusca:="" , ;
                     hwg_WriteStatus( oDlg,3,"Ordem: Codigo/Documento") } ,,,,))      

      oBrowse1:AddColumn( HColumn():New('Status', {||SITUACAO(  ) } ,'U',10, 0 ,.F.,1,,,,,,,,,,,))                        
                     
      oBrowse1:AddColumn( HColumn():New('Vencimento', FieldBlock( 'DATVEN' ) ,'D',12, 0 ,.F.,1,2,,,,,,;
                          {|| Ordsetfocus(2), Dbgotop(), obrowse1:Refresh(), vBusca:="" , ;
                     hwg_WriteStatus( oDlg,3,"Ordem: Vencimento") } ,,,,))

      oBrowse1:AddColumn( HColumn():New('Valor Parcela', FieldBlock( 'VALOR' ) ,'N',14, 2 ,.F.,1,2,'@E 99,999,999,999.99',,,,,,,,,))
      
      oBrowse1:AddColumn( HColumn():New('Data Baixa', FieldBlock( 'DATPAG' ) ,'D',12, 0 ,.F.,1,2,,,,,,;
                          {|| Ordsetfocus(9), Dbgotop(), obrowse1:Refresh(), vBusca:="" , ;
                     hwg_WriteStatus( oDlg,3,"Ordem: Vencimento/Data Baixa") } ,,,,))

      
      oBrowse1:AddColumn( HColumn():New('Valor Pago', FieldBlock( 'VALBAI' ) ,'N',15, 2 ,.F.,1,2,'@E 99,999,999,999.99',,,,,,,,,))
      oBrowse1:AddColumn( HColumn():New('Multa', FieldBlock( 'MULTA' ) ,'N',14, 2 ,.F.,1,2,'@E 99,999,999,999.99',,,,,,,,,))
      oBrowse1:AddColumn( HColumn():New('Juros', FieldBlock( 'JUROS' ) ,'N',14, 2 ,.F.,1,2,'@E 99,999,999,999.99',,,,,,,,,))
      oBrowse1:AddColumn( HColumn():New('Total Pago', FieldBlock( 'TOTREC' ) ,'N',14, 2 ,.F.,1,2,'@E 99,999,999,999.99',,,,,,,,,))
      oBrowse1:AddColumn( HColumn():New('Historico', FieldBlock( 'DESHIS' ) ,'C',120, 0 ,.F.,1,,,,,,,,,,,))

   @ 8,-1 TOOLBAR oToolbar1  SIZE 1167,40 ;
      STYLE BTNS_AUTOSIZE + TBSTYLE_TRANSPARENT 
      oToolbar1:AddButton("CMDINSERT", , 0, 16, "Inclui" ,{||CONTASAPAGAR( 'INCLUIR' ),obrowse1:REFRESH(),DBUNLOCKALL(),hwg_WriteStatus( oDlg,3,"Ordem: Nome Fornecedor")},'Incluir nova conta a pagar','', "oToolbutton1")
      oToolbar1:AddButton("CMDEDIT", , 0, 16, "Altera" ,{||CONTASAPAGAR( 'ALTERAR' ),obrowse1:REFRESH(),DBUNLOCKALL(),hwg_WriteStatus( oDlg,3,"Ordem: Nome Fornecedor")},'Altera conta a pagar','', "oToolbutton2")
      oToolbar1:AddButton("CMDDELETE", , 0, 16, "Exclui" ,{|| F4_Exclui( ), obrowse1:REFRESH() },'Exclui conta a pagar','', "oToolbutton3")
      oToolbar1:AddButton("Store", , 4, 16, "Duplica" ,{||DUPLICACONTASAPAGAR( ) },'Gera Automaticamente varios lançamentos','', "oToolbutton4")
      oToolbar1:AddButton("Accounting16", , 4, 16, "Baixa" ,{|| contasapagarbaixa( ) },'Baixar conta a pagar','', "oToolbutton5")
      oToolbar1:AddButton("boss", , 4, 16, "Atualiza" ,{||ATUALIZADADOS(  )},'Atualiza Fornecedor do conta a pagar','', "oToolbutton6")
      oToolbar1:AddButton("CLFLBMP", , 4, 16, "Consulta" ,{||CONSULTACONTASAPAGAR( )},'Consulta dados Contas a Pagar','', "oToolbutton7")
      oToolbar1:AddButton("rel_print", , 4, 16, "Relatório 1" ,{||SGCR_305(  ),Ordsetfocus(9),DBGOTOP(),onDlgInit(  )},'Emite Relatório de Despesas em Aberto por Fornecedor','', "oToolbutton8")
      oToolbar1:AddButton("rel_print", , 4, 16, "Relatório 2" ,{||SGCR_306(  ),Ordsetfocus(9),DBGOTOP(),onDlgInit(  )},'Emite Relatório de Despesas em Aberto por Vencimento','', "oToolbutton9")
      oToolbar1:AddButton("rel_print", , 4, 16, "Relatório 3" ,{||SGCR_307(  ),Ordsetfocus(9),DBGOTOP(),onDlgInit(  )},'Emite Relatório de Despesas Pagas por Fornecedor','', "oToolbutton10")
      oToolbar1:AddButton("rel_print", , 4, 16, "Relatório 4" ,{||SGCR_308(  ),Ordsetfocus(9),DBGOTOP(),onDlgInit(  )},'Emite Relatório de Despesas Pagas por Vencimento','', "oToolbutton11")
      oToolbar1:AddButton("EXIT16BMP", , 4, 16, "Sair" ,{|| DBCLOSEALL(), oDlg:Close() },'Sair da rotina','', "oToolbutton12")
      oToolbar1:CreateTool()

   
    ADD STATUS PANEL TO oDlg HEIGHT 30  PARTS 200,120,300
   @ 4,43 SAY oLabel1B CAPTION "Pesquisar"  SIZE 138,25 ;
      STYLE SS_CENTER +WS_DLGFRAME    
   @ 150,43 SAY oLabel4 CAPTION "" SIZE 410,25 ;
        STYLE WS_BORDER;
        COLOR 16777215  BACKCOLOR 255

   oBrowse1:aColumns[1]:oFont := HFont():Add( '',0,-15,700,,,)   
   oBrowse1:aColumns[4]:bColorBlock :={|| IIF(PAGAR->DATVEN < M->DAT_HOJE .AND. PAGAR->BAIXA = 0,{255, 16777215 ,16777215,255 },{0,16777215,, }) }      
      
   ACTIVATE DIALOG oDlg     
   DBCLOSEALL()
   
RETURN NIL
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor cjp » 09 Fev 2020 22:04

Pessoal, estive estudando todo este tópico.
Pelo que vi, é possível fazer uma função em modo gráfico, partindo de uma função feita em modo console.
É exatamente isso que preciso fazer: um gráfico bem simples, chamado a partir de meu sistema, que está todo em modo console.
O problema é que não sei nada sobre modo gráfico, nada mesmo.
Preciso de uma ajuda bem básica: como começar? Do zero mesmo. Tem que instalar o que exatamente? Como compilar?
Alguém pode me ajudar?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor JoséQuintas » 10 Fev 2020 13:32

Tomara que quando eu for migrar, hwgui já esteja mais "multithread", sem isso de obrigar ordem nos forms.
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor asimoes » 11 Fev 2020 13:30

Olá, preparei esse exemplo:

h-GUICONSOLE.zip
(1.48 MiB) Baixado 194 vezes


Tem o exemplo compilado DEMO.EXE, analisa os fontes pra entender como faz a chamada para CONSOLE, o GT é GTWVG, mas pode usar também GTWVT
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor asimoes » 11 Fev 2020 13:40

Atenção, modificar o método do exemplo no fonte demo.prg, tem usar a função hwg_ExitProcess

METHOD SaidaSistema()
LOCAL lSair := .F.
   
   hwg_ExitProcess()
   
RETURN lSair
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor asimoes » 11 Fev 2020 14:54

2020-02-11 14_56_11-Window.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor asimoes » 11 Fev 2020 15:10

Pode thread para executar uma janela

nThread := Hb_ThreadStart( Hb_BitOr( HB_THREAD_INHERIT_PUBLIC, HB_THREAD_INHERIT_PRIVATE, HB_THREAD_INHERIT_MEMVARS ), {|| &cRotina.} )
METHOD ChamaRotina( cRotina, lGui ) 
THREAD STATIC lInicio := .F., lContinua := .T., oErro

   Hb_Default(@lGui, .F.)
   
         If ! lGui
            If ! lInicio
               lInicio := .T.
               nThread  :=  Hb_ThreadStart( Hb_BitOr( HB_THREAD_INHERIT_PUBLIC, HB_THREAD_INHERIT_PRIVATE, HB_THREAD_INHERIT_MEMVARS ), {|| &cRotina.} )
               If pWindowGTI != Nil
                  wapi_DestroyWindow( pWindowGTI )
               Endif
               lInicio := .F.
            Endif
         Endif
                               
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Aos poucos migrando tela caracter para GUI

Mensagempor asimoes » 11 Fev 2020 15:12

Pode usar thread
METHOD ChamaRotina( cRotina, lGui ) 
THREAD STATIC lInicio := .F., lContinua := .T., oErro

   Hb_Default(@lGui, .F.)
   
         If ! lGui
            If ! lInicio
               lInicio := .T.
               nThread  :=  Hb_ThreadStart( Hb_BitOr( HB_THREAD_INHERIT_PUBLIC, HB_THREAD_INHERIT_PRIVATE, HB_THREAD_INHERIT_MEMVARS ), {|| &cRotina.} )
               If pWindowGTI != Nil
                  wapi_DestroyWindow( pWindowGTI )
               Endif
               lInicio := .F.
            Endif
         Endif
                               
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Anterior Próximo



Retornar para HwGui

Quem está online

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