Página 1 de 2

Como iniciar com a HWGUI

Enviado: 02 Set 2009 23:42
por jelias
Amiguinhos,

Estou precisando melhorar a parte visual dos meus sistemas. Fiz recentimente uma procura pela "melhor" gui que me auxiliaria neste processo. Pelo que pude encontrar nos post´s, o pessoal tem preferido trabalhar com a hwgui que parece estar em crescente melhoria.

Estou precisando de uma ajuda para começar, alguém teria um exemplo mostrando como montar um menu, uma tela simples de cadastro, como compilar.
- Bom, eu não tenho nenhum conhecimento com a hwgui, por isso irei ter que começar do zero e meus sistemas são muito grandes. Seria este o caminho correto a percorrer? Vale a pena o investimento?
- Também irei aproveitar a reestruturação para trabalhar com o mysql na aplicação.

Conto com a ajuda dos amigos.

Sem mais,

Júlio.

Re: Como iniciar com a HWGUI

Enviado: 03 Set 2009 08:12
por ANDRIL
Julio, olha nos aqui d´novo.

Comecei a um tempo atras converter um sistema em clipper para Hwgui 2.16, com xharbour 1.0.0.

Vc ja conseguiu instalar o pacote com xharbour/hwgui? Eu baixe o pacote aqui colocado pelo Sygecom, apos instalar, basta usar o .Bat que vem junto, que ja configura o ambiente para compilar com Hbmake.

Claro, que hj a Hwgui ja esta mais avançada, nem sei a versão atual, pq abandonei temporariamente o desenvolvimento, por motivos mais urgentes.

Depois de instalar o pacote, procure por exemplos, tem varios nela. Alem de ter um DESIGNE muito bom, que facilita a criação de telas.

Código: Selecionar todos

#include "windows.ch"
#include "guilib.ch"

*----------------------------------------------------------------
Function Main
*----------------------------------------------------------------
Local Form_Main
Local oFontBtn
Local oFont := Nil
Local nColor

Public oDir := "\"+Curdir()+"\DADOS\"

SET DELETE ON
SET DATE BRIT

   PREPARE FONT oFontBtn NAME "MS Sans Serif" WIDTH 0 HEIGHT -12

   INIT WINDOW Form_Main MAIN TITLE "Sygecom"

   MENU OF Form_Main
      MENU TITLE "&Exemplos de"
         MENUITEM "&Demo de Cadastro"        ID 301 ACTION Cadastro()
         SEPARATOR
         MENUITEM "&Demo de ImpressÒo"       ID 301 ACTION msginfo("Em desenvolvimento")
         SEPARATOR
         MENUITEM "&Sair"                    ID 310  ACTION EndWindow()
      ENDMENU

       MENU TITLE "&Ajuda"
         MENUITEM "&Sobre" ACTION MsgInfo(HWG_Version(1))
      ENDMENU
   ENDMENU

   Form_Main:Activate()

return nil

Este exemplo, foi retirado do proprio pacote que acompanha a LIB, não sei se foi Sygecom que o fez.

No que precisar tamos ai.

Ate+

Re: Como iniciar com a HWGUI

Enviado: 05 Set 2009 02:34
por sygecom
Olá Julio,
Primeiro, antes de iniciar seu trabalho seria bom, você definir o que deseja fazer com seus codigos existentes em clipper. No caso que queira uma migração aos poucos do seu codigo clipper para um visual grafico com Hwgui, o mais indicado nesse caso seria usar uma LIB semi grafica que fara a ponte entre seu codigo console(clipper) e seu codigo em visual grafico(hwgui), para isso temos a GTWVW e GTWVT(eu recomendaria essa ultima), nesse caso terá que dar uma pesquisada aqui no forum que tem diversos assuntos sobre essas lib e no link abaixo tem também exemplos.
http://www.4shared.com/dir/9103314/4c5c ... aring.html

Outro possibilidade seria você congelar o aplicativo clipper e começar um aplicativo do zero usando xHarbour+Hwgui.

Em ambos os casos o instalador não oficial do link abaixo pode lhe ajudar, nesse instalador tem tudo que você vai prescisar para as duas situações que coloquei acima:
www.sygecom.com.br/temp/hwgui_xharbour.exe

Nesse instalador tem a versão mais recente da Hwgui(CVS) + xHarbour 1.0.0 + Contrib(lib de terceiros) + Designer(Ide mantida pelo colega basso) + bcc55(Compilador C)

Para você acompanhar as atualizações da Hwgui, basta você instalar o TortoiseCvs.
Depois de instalar o TortoiseCVS, tem que reiniciar. Logo após basta clicar com o botão da direita do mouse em cima da pasta C:\HWGUI (pasta criada pelo instalador) e ir na opção CVS Atualizar

Logo Após atualizar, as correções e novas opções ficam explicadas no arquivo c:\hwgui\Changelog (pode abrir esse arquivo no Bloco de Notas)

Para compilar com xHarbour, você pode usar o Hbmake, que também já esta junto no instalador.
No link abaixo tem um exemplo simples de como usar o hbmake:
http://www.caclipperwebsite.com/harbour.shtml

Bom, talvez no começo você possa ter duvidas, dificuldades e bareras para superar, com um pouco de paciencia você supera tudo e acaba conhecendo todo o potencial do xHarbour.
Boa Sorte e qualquer duvida prende o grito.

Re: Como iniciar com a HWGUI

Enviado: 05 Set 2009 03:08
por sygecom
Esqueci de mencionar, por favor baixem o instalador o quanto antes, pq deixarei apenas até terça disponivel.

Re: Como iniciar com a HWGUI

Enviado: 05 Set 2009 22:33
por sygecom
Novo link para o instalador não oficial da Hwgui.
http://www.4shared.com/file/130331471/b ... rbour.html

Re: Como iniciar com a HWGUI

Enviado: 06 Set 2009 00:04
por jelias
Amigo Leonardo.

Obrigado ela ajuda, irei começar o trabalho, e irei postando os resultados.

Veleu.

Julio.

Re: Como iniciar com a HWGUI

Enviado: 08 Set 2009 02:08
por sygecom
Blz, fica a vontade em perguntar.

Re: Como iniciar com a HWGUI

Enviado: 08 Set 2009 13:33
por jelias
Amiguinhos,

Aproveitei o feriado para aprender sobre GTWVW e HWGUI. Bom, no início enfretei um pouco de dificuldades mais aos poucos vamos aprendendo.
Ocorre que estou diante de algumas dúvidas, como por exemplo:
- Caso eu queira aproveitar em primeiro instante grande parte do meu código fonte, é possível usar a GTWVW e HWGUI juntos em um único EXE.
- Nos meus testes aqui, já consegui fazer o menu do sistema usando a GTWVW, gostaria de saber se tem como dividir as opções do menu.
- Teria como usar a HWGUI somente para montar um menu e usar a GTWVW como console nas opções.?

Obrigado mais uma vez.'

Saudações, Júlio.

Re: Como iniciar com a HWGUI

Enviado: 08 Set 2009 15:14
por sygecom
Olá Júlio,
jelias escreveu: - Caso eu queira aproveitar em primeiro instante grande parte do meu código fonte, é possível usar a GTWVW e HWGUI juntos em um único EXE.
Sim é possivel veja o exemplo do link abaixo:
http://www.4shared.com/file/68299493/d6 ... hwgui.html
- Nos meus testes aqui, já consegui fazer o menu do sistema usando a GTWVW, gostaria de saber se tem como dividir as opções do menu.
Post seu codigo que fica mais facil de mostrar, ou veja se o link abaixo lhe ajuda como exemplo.
http://www.4shared.com/file/67802282/31 ... cxwin.html
- Teria como usar a HWGUI somente para montar um menu e usar a GTWVW como console nas opções.?
Não, somente ao contrario, ou seja os menus tem que ser em GTWVW e as opções em HWGUi, depois quando tiver 100% Hwgui é só refazer a tela principal em Hwgui.

Re: Como iniciar com a HWGUI

Enviado: 09 Set 2009 13:02
por jelias
Amiguinho, muito obrigado pelas respostas!

Baixei o exemplo, e já estou com o menu em wvw rodando belezinha, agora irei testar algumas opções com a HWGUI.
- Fiz uma pergunta anterior e creio que não fui claro.
jelias escreveu:Nos meus testes aqui, já consegui fazer o menu do sistema usando a GTWVW, gostaria de saber se tem como dividir as opções do menu.
Seria o seguinte, dentro do menu cadastros:

Cadastros
Tabelas ->
__________________
Clientes
Fornecedores
Transportadoras
__________________
Grupos
Estoque

a divisão que me refiro, é está linha _____________ que separa uma opção da outra dentro do menu, que tanto pode ser para organizar, quanto para dar enfâse em uma determina rotina do sistema. Dá mesma forma que verifique no exmplo sagi2.exe que baixei ontem. Na opção util, vc utilizou este recurso.

Desde já agradeço!

Sds, Júlio.

Re: Como iniciar com a HWGUI

Enviado: 09 Set 2009 13:19
por sygecom
Entendi, post um pequeno exemplo de codigo seu dessa parte de menus, que fizemos isso direto no seu exemplo.

Re: Como iniciar com a HWGUI

Enviado: 09 Set 2009 14:19
por clebervn
Se for hwgui é assim :

MENU OF oMain
MENU TITLE "Cadastros"
MENUITEM "Produtos" ACTION ""
MENUITEM "Clientes" ACTION ""
SEPARATOR
MENUITEM "Outros" ACTION ""
ENDMENU
ENDMENU

o "SEPARATOR" faz a linha q vc quer .

Re: Como iniciar com a HWGUI

Enviado: 09 Set 2009 14:27
por jelias
Amigos, muito obrigado pela atenção

Clebervn, o menu é em WVW. Mesmo assim muito obrigado.

Sygecom, segue abaixo o código:
STATIC FUNCTION CriarMenu( hMenu, hMenuItem, hSubMenuItem )
***********************************************************
CREATEMENU hMenu
MENUITEM hMenuItem OF hMenu PROMPT "~Cadastros"
SUBMENUITEM hMenuItem PROMPT "~Empresas" ACTION OPCAO_1 FLAGS ( MF_ENABLED + MF_STRING )
SUBMENUITEM hMenuItem PROMPT "~Lançamentos" ACTION OPCAO_2 FLAGS ( MF_ENABLED + MF_STRING )
SUBMENUITEM hMenuItem PROMPT "~Detalhes do Saldo" ACTION OPCAO_5 FLAGS ( MF_ENABLED + MF_STRING )

MENUITEM hMenuItem OF hMenu PROMPT "~Relatórios"
SUBMENUITEM hMenuItem PROMPT "~Lançamentos" ACTION OPCAO_3 FLAGS ( MF_ENABLED + MF_STRING )

MENUITEM hMenuItem OF hMenu PROMPT "~Manutençãao"
SUBMENUITEM hMenuItem PROMPT "~Configurações" ACTION OPCAO_4 FLAGS ( MF_ENABLED + MF_STRING )

MENUITEM hMenuItem OF hMenu PROMPT "~Sair"
SUBMENUITEM hMenuItem PROMPT "~Sair" ACTION OPCAO_S FLAGS ( MF_ENABLED + MF_STRING )

WVW_SetMenu(, hMenu )
RETURN NIL

Sds,
Júlio.

Re: Como iniciar com a HWGUI

Enviado: 09 Set 2009 15:11
por sygecom
Olá Julio,
Na verdade esse seu menu, está usando um outro modo de gerar um Menu que desconheço, tente postar o codigo completo, pq esses MENUITEM e SUBMENUITEM não ao da Gtwvw, deve esta unsando algum INCLUDE(.CH) que está transformando esses comandos em funções da GTWVW. No caso da GTWVW o separador de Menus se cria com:

WvW_AppendMenu( hSubMenu, MF_SEPARATOR )

Re: Como iniciar com a HWGUI

Enviado: 09 Set 2009 16:39
por jelias
Grande Leonardo.

Consegui entender o que ocorria, graças ao sua resposta. Realmente tem um arquivo .ch que contém o código, conforme estou postando abaixo:
Para colocar o separador, é só usar:

MENUTRACOS hMenuItem
//
// COMANDOS PARA CRIACAO DOS MENUS
//
#command CREATEMENU <hMenu> => ;
<hMenu> := WVW_CreateMenu()

#command CREATESUBMENU <hMenuItem> ;
OF <hSubMenuItem> ;
PROMPT <cPrompt> => ;
<hSubMenuItem> := WVW_CreateMenu(); WVW_AppendMenu( <hMenuItem>, MF_POPUP, <hSubMenuItem>, <cPrompt> )

#command MENUITEM <hMenuItem> ;
OF <hMenu> ;
PROMPT <cPrompt> => ;
<hMenuItem> := WVW_CreateMenu(); WVW_AppendMenu( <hMenu>, MF_ENABLED + MF_POPUP, <hMenuItem>, <cPrompt> )

#command SUBMENUITEM <hMenuItem> ;
PROMPT <cPrompt> ;
ACTION <nAction> ;
FLAGS <nFlags> => ;
WVW_AppendMenu( <hMenuItem>, <nFlags>, <nAction>, <cPrompt> )

#command MENUTRACOS <hMenuItem> => ;
WVW_AppendMenu( <hMenuItem>, MF_SEPARATOR )

Muito Obrigado amigo

Valeu mesmo, estou caminhando!

:))
sds, Júlio.