Página 1 de 2

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 27 Ago 2013 23:55
por RAIMUNDO SANTANA
Olá, Pessoal!

Estou vindo do puro clipper com o objetivo de dar visual e possibilitar rodar em maquinas arquitetura 64x o sistema de folha que possuo,

Ha anos que venho tentando migrar esse aplicativo e desistindo. Leio muita coisa, ja tomei curso de delphi e nao utilizei e acabei esquecendo tudo do pouco que aprendi. Comprei um livro de fivewin, mas nao tinha recurso para comprar a biblioteca (isso ha uns oito anos). Tentei compilar com o harbour e tome-lhe erros. Cansava, parava, passava um tempo voltava a tentar. Enfim eis que estou aqui buscando auxilio.

Soube que HMG reúne tudo num canto so e que isso facilita a compilação etc....

Onde baixar essa biblioteca ja com o harbour e bcc, como começar afinal? existem livros, manuais. Quem pode me ajudar a dar o primeiro passo. Agradeço de coração.
Se eu conseguir migrar esse sistema acho que vou sair gritando de alegria....
Raimundo Santana

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 28 Ago 2013 08:02
por Jairo Maia
Olá Raimundo, Seja bem vindo ao fórum.
RAIMUNDO SANTANA escreveu:como começar afinal? existem livros, manuais
Raimundo, tem aqui no fórum um tutorial bem didático escrito pelo colega Pablo César, que vai lhe ajudar bastante. Tentei encontrar e postar o link aqui, mas não achei, depois com mais calma procuro e posto o link, caso algum colega não antecipe isso.

Por outro lado, aconselho você começar com a HMG 3.0.46, que é a última versão estável em ANSI e permite facilmente você migrar um sistema em modo console. Para baixar essa versão acesse esse link: HMG 3.0.46 As versões posteriores são em Unicode.
RAIMUNDO SANTANA escreveu:Onde baixar essa biblioteca ja com o harbour e bcc
Ao instalar a HMG IDE fica tudo pronto para você iniciar, mas com MinGw, não BCC.

Editado às 08:09:
Raimundo, este é o link: Compilar através da IDE da HMG versão 3.0.35 Onde está 3.0.35, não se preocupe, pois tudo vale igualmente para a versão 3.0.46. Bons estudos.

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 29 Ago 2013 10:36
por RAIMUNDO SANTANA
Primeiramente, Obrigado!

Nao encontrei o tutorial que voce citou.

Um duvida: O programa escrito em Harbour é convertido para C e so depois compilado. Trabalhando com a biblioteca gráfica Minigui o resultado sera um executavel em 32 bits com Visual Gráfico. Baixando a HMG o compilador C ja vem incluido?

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 29 Ago 2013 10:48
por Jairo Maia
Olá Raimundo,
RAIMUNDO SANTANA escreveu:Nao encontrei o tutorial que voce citou.
Veja que editei minha mensagem alguns minutos depois para colocar o link do tutorial. o link está acima.
RAIMUNDO SANTANA escreveu:Baixando a HMG o compilador C ja vem incluido?
Sim. Após instalar fica pronto para compilar um executável 32bits. Porém, para modo gráfico é outra história. Veja o tutorial do Pablo para entender melhor.

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 01 Set 2013 13:31
por rcb2002
Olá pessoal...

Pra engrossar a discussâo, quero propor uma reflexão: Eu uso a Minigui, estou bem satisfeito. Já a IDE, só me adaptei à do Harbour (que veio em uma pasta Harbour no Minigui). Mas já aconteceu de precisar de comandos que não existiam na Minigui, mas em Harbour sim (ou xHarbour, não sei, como recentemente precisei do IP de uma máquina e tem um comando pra isso lá, mas não no meu Minigui eXtended). Daí eu pergunto: de quem é a maioria? É só por opção mesmo ou um dos dois leva mais vantagem sobre o outro? Pra quem está começando assim como eu ou o colega da pergunta aí... (x)Harbour ou Minigui?

Obrigado

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 03 Set 2013 19:17
por amarante
Olá para todos.
Este é meu primeiro post neste forum.
Trabalho com linguagens em padrão XBASE desde 1982. Já usei os mais variados compiladores tanto em Unix/Linux, CP/M (alguém lembra desse OS?) e Windows.
Apesar de já trabalhar com HMG e Minigui a algum tempo eu também tenho algumas dúvidas.
Sabemos que para HMG e Minigui Extended a base é o Harbour e em alguns casos o xHarbour (que pelo que sei este último ficou meio descontinuado e sempre me pareceu instável, apesar de ter ótimas rotinas que não existem em Harbour), mas minha dúvida vai em qual é o melhor dos dois: HMG ou MingiGui Extend.
Hoje para projetos profissionais somente estou utilizando o HMG do Roberto Lopes pois o acho mais estável. Testes mais pesados que fiz com o Minigui Extended (que é um HMG com algumas funções melhoradas) não me foram confiaveis.
Não sei se o motivo foi o compilador usado, pois no HMG uso o MingW e no Minigui Extend o Borland.
Não estou aqui fazendo apologia ao HMG e antes que eu seja bombardeado com críticas dos fãs do MiniGui quero dizer que não deixei de usar o Minigui. Eu tenho aplicações pessoais feitas em Minigui que me satisfazem mais que o HMG, já que no Minigui temos algumas rotinas fantásticas como por exemplo o BUTTONEX cujo visual é bem melhor que o do HMG.
Mas vamos a minhas dúvidas:
Seria possível utilizar um Híbrido, ou seja, uma mistura entre o HMG e o MiniGui Extend sem ter que alterar as bibliotecas dos mesmos?
Alguém já fez essa experiência?
Poderia nos ensinar o caminho das pedras?

Abraços
Amarante

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 04 Set 2013 14:38
por VanderSimples
Raimundo,

O Post que me ajudou muito pra converter meus sistemas de Clipper p/ Harbour foi este: viewtopic.php?f=45&t=12658

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 04 Set 2013 17:17
por Pablo César
Oi Amarante, seja bem vindo ao fórum !
É bom ter você por aqui também. :)Pos
amarante escreveu:Seria possível utilizar um Híbrido, ou seja, uma mistura entre o HMG e o MiniGui Extend sem ter que alterar as bibliotecas dos mesmos?
Alguém já fez essa experiência?
Bom como você mesmo disse, são compiladores diferentes. As bibliotecas do HMG são .a e as do Minigui Extended são .lib. Eu não acho que isto seja possível, sem ter que padronizar as bibliotecas de um para o outro. O que resta (como ambos são OPENSOURCE) é criar recursos adicionais para surtirem o mesmo efeito (ou parecidos).

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 04 Set 2013 19:50
por amarante
Pablo, há muito acesso esse post, mas só agora resolvi me inscrever.
Eu sei das diferenças das libs, mas eu estava pensando em tentar recompilar algumas funções do Minigui com o HMG.
Há poucos dias, em um sistema em HMG, precisei de um Grid com CheckBox, rotina que sei existir em Minigui. Mas como o meu sistema era em HMG tive que criar uma grid a parte.
Sei que seria fácil pegar um dos fontes OPENSOURCE e alterar, mas o que acontece é que acabamos ficando limitados e presos a versão do fonte alterado e bem sabemos (ainda bem) que nossas HMG e MiniGui estão sempre em evolução.
E pelas últimas notícias em breve teremos HMG for WEB, que desejo participar. Precisamos ficar sempre prontos para novas plataformas.
Abraços

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 14 Nov 2013 18:20
por Bettu
Olá pessoal,

Eu sou nova aqui no fórum, mas clippera de muitos anos. Eu já tinha desistido até que me procuraram para fazer algumas modificações e acrescentar a parte gráfica aos programas em clipper 5.2. Por isso, voltei e feliz de conhecer o fórum e ver que ainda tinha possibilidades. Baixei seguindo as indicações daqui do fórum o HMG IDE e realizei as modificações básicas, como acrescentar o main(), mudar de do proc para proc(), etc. Estava dando tudo certo até que acrescentei outro programa para tinha várias validações no get, por exemplo: @17,17 get m_lote when(w_agreg) valid buslote(m_lote)

que logo no mesmo programa estão as function:

Código: Selecionar todos

Func buslote(w_lote)

 if w_lote="   "
   @ 17,17 say spac(24)
   retu .t.
 else
   w_ok=busdat(w_lote,17,21,'f_nomlot','avlote')
   if w_ok
         m_motivo="  "
         @18,19 say spac(26)
         @18,21 say m_has pict '@Z 99999.9'
   else
        @ 17,17 say spac(24)
        retu .f.
   endif
 endif
 retu .t.
na compilação logo de ter incorporado esse programa, no linker aparece uma mensagem de erro: Multiple definition of 'ASIG e na linha debaixo:
Linker .hbmk/win/mingw/avticket.o:avticket.prg: multiple definition of 'BUSLOTE
Esse erro vai aparecendo com a maioria das funções que uso no VALID do GET, já que tentei cometar com * a línea do BUSLOTE, e passou o erro para outra function.
Alguém conhece esse erro e como solucioná-lo? Além das dicas do fórum de como migrar de clipper para harbour, existe algum manual ou lista com as maiorias dos comando que temos que cambiar de clipper para hmg.
Muito obrigada

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 14 Nov 2013 19:46
por Pablo César
Olá Bet seja bem vinda ao fórum !
Bettu escreveu:multiple definition of 'BUSLOTE
Isto quer dizer que nos prgs que você está compilando, a função BUSLOTE está repetida. Isso não pode acontecer, nem no Harbour nem no Clipper. Verifique os prgs envolvidos e deixe apenas um (claro isto se a função for a mesma).
Além das dicas do fórum de como migrar de clipper para harbour, existe algum manual ou lista com as maiorias dos comando que temos que cambiar de clipper para hmg.
Você disse bem ao começo da sentença: do Clipper para o Harbour.

Harbour == Clipper (100% compatível)

HMG = Biblioteca gráfica. Programação GUI

A programação GUI é totalmente diferente a programação CONSOLE que os clippeiros (como eu, rs) estivemos acostumados a ver. Conceitos totalmente diferentes. A biblioteca HMG, serve para deixar em modo WIndows (por assim dizer). O Harbour é que faz a ponte do que era em Clipper e Harbou+HMG geram o executável GUI.

Existe várias leitura (Guia de Referência) para o Harbour:
http://www.elektrosoft.it/tutorials/Har ... -guide.htm
http://www.harbour.vouch.info/index.html
http://www.marinas-gui.org/projects/harbour_manual/
http://vivaclipper.wordpress.com/2012/12/26/harbour-2/

Sobre HMG:
https://sites.google.com/site/hmgweb/
http://www.elektrosoft.it/tutorials/hmg/hmg.asp
http://vivaclipper.wordpress.com/2012/12/26/hmg/

E na própria subpasta DOCS da pasta onde foi instalado o HMG encontrarás todos os comandos.

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 15 Nov 2013 09:57
por Bettu
Olá Pablo, muito obrigada pelas informações!
Em relação ao erro: multiple definition of 'BUSLOTE, eu já tinha procurado se estava repetida, mas não esta, como assim também as outras funções que vão aparecendo com a mesma mensagem de erro. As funções como buslote, estão usadas no valid do get e são definidas no mesmo prg.
Então, eu posso para migrar e não jogar no lixo o programa feito em Clipper passar primeiro o programa ao Harbour e logo ir incorporando as bibliotecas do HMG para deixá-lo em modo Windows criando o executável GUI? O novo executável é estável?
Que bom que encontrei vocês!

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 15 Nov 2013 10:16
por Mario Mesquita
Bom dia, amigos.

Também quero dar meu depoimento, rs.

Como o Raimundo, fiquei anos matutando como migrar para um ambiente "for Windows". Gostei muito do Delphi, mas aquele mecanismo de gerenciamento da base de dados do DataModule, sempre me foi estranho entre outras coisas como "pensar" em OOP.

Mas ao descobrir o HMG, meti a cara e acabou dando certo. Na verdade, eu tentei começar com o FIveWin, mas tb na época adquirir a lib, mais especificamente o não fornecimento de atualizações da lib me desanimaram.

Agora, estou a vontade na HMG, e descobrindo o fórum, consegui o apoio necessário para migrar do Clipper/DOS para HMG/Windows.

Não que eu esteja "fera", ainda mais vendo a turma aqui, com muita bagagem, eheheh...

Enfim, eu recomendo a HMG, dá pra pular do velho Clipper para um ambiente mais moderno sem muitos traumas.

Boa sorte a vocês que estão chegando.

Sds,
Mario.

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 15 Nov 2013 10:24
por jairfab
Provavelmente voce está utilizando DO FUNCAO e Não FUNCAO() ISTO FAZ A FUNCAO FICAR DUPLICADA

duvidas sobre, minigui, harbour, xharbour hmg

Enviado: 15 Nov 2013 16:13
por Bettu
As funções que dão o erro no linker: multiple definition of 'BUSLOTE estão dentro de um while

Código: Selecionar todos

do while .t.
    @15,61 get m_vola pict '@Z 999.99' when(w_agreg) valid fmerma(m_cereal,@m_rest,m_humed,m_vola,m_zara)
    @17,17 get m_lote when(w_agreg) valid buslote(m_lote)  
    @18,21 say m_has pict '@Z 99999.9'
    @18,19 get m_motivo when(w_agreg .and. m_lote="   ") 
    @19,25 get m_contra when(w_agreg) valid busdat(m_contra,19,29,'f_nombre','avcontra') .or. m_contra='  '
    @19,63 get m_dist pict '@Z 999999999.99' when(w_agreg)
    @20,29 get m_obs when(w_agreg) valid Asigtime(m_obs)
    @20,65 get m_hora when(w_agreg)         && valid timevalid(alltrim(m_hora)) 
    read                                   
    opc1=0
    @ 22,0 to 24,79
    if lastkey()=27
         exit
    endi
    if w_agreg
       menulin("Confirma,Modifica,Fim",23,@opc1)
       do case
...
E estão definidas no mesmo prg como

Código: Selecionar todos

Func buslote(w_lote)

 if w_lote="   "
   @ 17,17 say spac(24)
   retu .t.
else