Clipper On Line • Ver Tópico - HMG - Harbour MiniGui
Página 1 de 2

HMG - Harbour MiniGui

MensagemEnviado: 04 Jan 2011 19:13
por Pablo César
Quero compartilhar experiências sobre hmg que na minha opinião vem ser o Clipper em GUI. De todas as bibliotecas gráficas esta é a que mais rápido conseguí entender. Mas bastou uma simples lida no conceito de um artigo externo do blogger Sr. Crocciari no site "HMG Lights" em http://hmglights.wordpress.com/2010/04/21/say/ que fala sobre as principais dificuldades do programadores passar de Clipper para o Clipper modo gráfico. O texto não é um passo a passo mas menciona alguns pontos importantes que decidí re-publicá-los aqui neste fórum, pois temo que no site original possa a vir a desaparecer algum dia.

@ Say
Publicado em 2010 abril por Crocciari
Esta semana tivemos o contato de um amigo programador de Clipper (deixou um comentário em um dos posts), e também recebi outros dois emails de amigos que trabalham constantemente com Clipper.

E aquilo que sempre digo acaba de confirmar-se, tem bastante gente que ainda usa o Clipper em produção, alguns já migraram para Harbour e saíram da pirataria, mas o mais importante elevaram o nível de seus programas, pois herdaram várias melhorias adquiridas no Harbour, porém uma grande maioria não conseguiu ainda entrar no ambiente gráfico (MS-Windows) através da HMG (Harbour MiniGui).

Desta forma resolvi fazer esse post, não trata-se de um guia de como fazer essa entrada, mas sim de uma dica de como pensar para fazê-la.

Deve existir centenas de textos como estes na Internet, talvez até melhores, não custa dar uma procurada por aí, mas vou falar um pouco do que conheço sobre essa “migração” do Clipper 5.2 for MS-DOS para a HMG for MS-Windows.

O grande problema que tive com a HMG quando iniciei-me neste novo universo xBase (Clipper), foi o seguinte:

Eu não conseguia separar o que era uma coisa e outra, não sabia o que era Harbour e o que era a MiniGUI e apesar de pensarmos que sejam a mesma coisa, elas não são, e este é o primeiro passo para o sucesso.

Explico isso da seguinte forma, o Harbour é o compilador que foi criado para substituir o Clipper ele trouxe a evolução exigida pelos clippeiros, ou seja, através dela ganhamos muitas coisas que não tinhamos na nossa linguagem, além de manter-se em evolução, o que já não acontece com o Clipper. O Harbour é gratuíto e sua adoção tira da pirataria os programadores Clipper que não possuem licença de desenvolvimento com o mesmo, e também possibilita a evolução, pois sempre temos novos recursos sendo adicionados.

A HMG (Harbour MiniGUI), pode se dizer para facilitar, é a biblioteca gráfica para deixarmos os programas escritos em Harbour mais agradáveis.

Tenho que instalar os dois no meu PC?

Não! Você baixa a HMG instala em sua máquina e pronto, já pode desenvolver seus programas em Harbour com a biblioteca gráfica MiniGUI.

Agora vem a dúvida de como fazer essa programação, você pode fazer de duas formas distintas, a primeira é da mesma forma como você trabalhava em Clipper, abre um editor de texto e sai desenvolvendo sua aplicação, digitando linha a linha e posicionando os componentes na tela através do código-fonte, só que isso é muito improdutivo, um processo profundamente lento, eu não aconselho a fazer isso.

A segunda maneira de fazer é utilizando a HMG-IDE que acompanha a instalação, através dela, você cria um projeto, formulários, módulos, gruda componentes nos formulários e vai configurando tudo, assim a produtividade aumenta e você já vai tendo uma idéia de como se projeto final vai ficar.

Você que vai sair agora do Clipper e vai entrar na HMG tenha em mente o seguinte pensamento, separe processamento de dados das saídas de tela, eu sempre fiz isso desde meus programas for MS-DOS e isso facilitou minha vida, e seria bom você fazer o mesmo, eu explico isso.

A maioria de nós quando fazemos um programa Clipper vamos escrevendo o programa assim, entramos um dado “@ Say @ Get@”, processamos os dado entrado, e retornamos o resultado “@ Say” e assim sucessivamente até chegarmos ao fim do que queremos para nosso projeto.

Agora no HMG o ideal (correto) seria fazermos assim, criamos um formulário para receber os dados, e criamos funcões ou procedimentos para processar os dados entrados e um outra para mostrar o resultado processado, então executamos a entrada, no final chamamos a função de processamento e esta ao final chama a função de mostrar o resultado, parece um jeito bobo de programar, mas escutem o que digo, fica muito mais fácil assim.

Minha dica então para projetar um sistema em HMG é separar tudo o quanto for possível em funções e procedimentos, estas separações devem ser feitas seguindo o conceito não colocar as comandos de exibição de tela dentro das funções de processamento e dentro das funções de exibição de telas não colocar comandos de processamento, isso evita que o sistema trave por algum tempo enquanto processa dados, lembre-se que você está em um ambiente multi-tarefa e o usuário não vai gostar de ver aquela tela congelada enquanto ele clica em alguma coisa.

Um conceito bem interessante em programas MS-Windows é fornecer algo para o usuário fazer enquanto sua aplicação processa algo, essa é a magia do ambiente de multi-tarefa, evite rotinas longas de processamento, faça com que elas sejam enxutas o máximo possivel e que sempre acionem uma exibição na tela para que o usuário faça algo enquanto seu programa esta pensando.

Não é nada demais esse post, mas espero que ajude aos amigos que querem migrar do Clipper para a HMG.

Lembre-se separe o processamento das entradas e saidas de telas, quebre o sistema em funções o máximo que puder, e do mais, DEDIQUE-SE!

Não fique preso ao Clipper, pois aqui o ambiente é novo, imagine que você esta em um novo país com nova cultura e novos costumes, sua única vantagem é o idioma que é o mesmo que você fala.

Um grande abraço e muita boa sorte!


Ja comecei estou fazendo meu primeiro aplicativo, o STRU que era em modo console em Harbour, agora estou fazendo com que ele trabalhe tanto em GUI como em modo console. Dependerá da passagem de parâmetros ao chamar o aplicativo. Em breve postarei essa versão.

A versão da IDE que estou utilizando é a HMG 3.0.35 (acho que a versão 4 ainda não saiu) e pode ser baixado em:
http://download844.mediafire.com/mq90waa9emhg/vp3kivo0q59gptb/hmg.3.0.35.exe

Outro material que me ajudou muito é este tutorial (também externo): http://sites.google.com/site/vivaclipper2/tutorial

Re: HMG - Harbour MiniGui

MensagemEnviado: 05 Jan 2011 21:17
por Itamar M. Lins Jr.
Ola!
A HMG 4.0 já saiu.
Só irei comparar um exemplo da Minigui com a Hwgui.

Em Minigui.
include <minigui.ch>

Function Main

    DEFINE WINDOW Win_1 ;
        AT 0,0 ;
        WIDTH 400 ;
        HEIGHT 200 ;
        TITLE 'Hello World-2' ;
        MAIN
       
        DEFINE LABEL lblHello
           ROW 75
           COL 125
           VALUE "Hello World !"
           FONTNAME "Lucida"
           FONTSIZE 16
        END LABEL
       
    END WINDOW

    ACTIVATE WINDOW Win_1

Return


Em Hwgui:
include <hwgui.ch>

    INIT WINDOW Win_1 MAIN  AT 0,0 SIZE 400,200 TITLE  'Hello World-2'
    @ 75,125 SAY "Hello World !" size 20,50
    ACTIVATE WINDOW Win_1

    ou

    Win_1 := HMainWindow():New( Iif(.F.,2,1),,,,0,0,400,200,"Hello World-2",,,,,,,,,,,,,,,,,)
    HStatic():New(,,,75,125,20, 50,"Hello World !",,,,,,,,.F.,,, );
    Win_1:Activate( !.F., .F., .F., .F.,, .F. )



Saudações,
Itamar M. Lins Jr.

HMG - Harbour MiniGui

MensagemEnviado: 06 Jan 2011 07:47
por Pablo César
Diferente formas, mesmo resultado. Achei mais fácil a versão 3 do que a 4.
A HMG 4.0 já saiu
O que eu quis dizer é que não saiu a IDE para 4, certo ? Ou será que já saiu (mostre onde baixar).

Re: HMG - Harbour MiniGui

MensagemEnviado: 06 Jan 2011 08:38
por Itamar M. Lins Jr.
Ola!
Ai é que está o X da questão.
Para quê aprender a 3 se essa versão será descontinuada ? A sintanxe da nova versão é diferente mas sengundo Roberto manterá compatibilidade com a 3.
Só postei, porque é comparando que podemos saber, não é só falar essa distribuição ou lib gráfica é a mais fácil, temos que comparar com outras.
Poderá até ser o futuro, mais usuários, etc mas no meu ponto de vista não é a mais fácil, pode até as pessoas que gostam de programar como no Visual Basic digitando "minhavariavel.cor.tamanho" achar legal, mas quem vém do clipper acha isso muito estranho.
http://hmgforum.com/ , esse é o link principal da HMG, no momento, penso eu.
http://sourceforge.net/projects/hmg/ Esse é o lugar para download, provavelmente não tem IDE porque mudou toda a estrutura interna da Minigui, coragem do Roberto Lopez em fazer isso.

Saudações,
Itamar M. Lins Jr.

HMG - Harbour MiniGui

MensagemEnviado: 06 Jan 2011 09:11
por Pablo César
não é só falar essa distribuição ou lib gráfica é a mais fácil, temos que comparar com outras...//...
mas no meu ponto de vista não é a mais fácil,
Ok Itamar, essa é a sua opinião e respeito. Só que para mim "clippeiro velho" foi MUITO mais fácil pegar essa versão "HMG 3.0.35", por isso que dei o meu testemunho. E quianto a comparar, você está certo, lembra que até pedí ajuda... conseguí experiência quase nula. Agora já com esta versão eu encntrei um caminho. Até então eu pensava que tinha que baixar o Harbour, baixar IDE e configurar IDE. Mas com essa versão NADA disso é preciso. E o comentário do @ SAY deixou-me com mais vontade de experimentar. Claro que não foi fácil, tive que pesquisar vários matérias na internet, mas basicamente o que precisei estava lá no fórum do Roberto Lopez. O meu primeiro programa xBase-GUI coloquei a disposição na área de "Downloads": http://www.pctoledo.com.br/forum/filebase.php?c=0&f=141&page=1 e sinto-me muito orgulhoso em poder trabalhar em xBase, pois até o momento só tinha conseguido em Java e C++. Mas tudo bem, fica aqui registrado as opiniões dos outros, para mim vou continuar com a versão "HMG 3.0.35" que vem com IDE e ora porque se o pai da criança falou que vai manter a retrocompatibilidade na versão 4... então seguirei enfrente. Não importa qual ferramenta você está usando, o importante é o que você faz com ela...
A versão "HMG 3.0.35" é super fácil instalação e fácil comprensão, além de ter bastante material a respeito.

Re: HMG - Harbour MiniGui

MensagemEnviado: 06 Jan 2011 09:36
por Itamar M. Lins Jr.
Ola!
Eu já postei no forum n coisas de como usar a Hwgui.
O problema é que o pessoal quer pegar um pacotão tudo pronto, CLICK, CLICK, NEXT, FINISH.
Abrir uma IDE colar Labels, TEXTBOX, etc e sair distribuindo aplicações e sabemos que não é assim.
Com Hwgui você tem a facilidade de aproveitar quase a totalidade do código em CLIPPER.
Entretando a Minigui é uma boa, excelente opção também.
Outra coisa, a HMG 4 vém com a IDE só baixar do link que postei compilar e usar.
Agora o pessoal ainda tém a mania de querer configurar na unha a coisas e complica tudo, como se fosse na época do CLIPPER/DOS.
A versão da HMG 4, que está disponível para download já sofreu n ajustes, o melhor é sempre aprender usar o SVN no caso da HMG/Harbour.

É isso que eu tento ensinar as pessoas serém independentes aprender a pegar do CVS/SVN e compilar só assim estaremos mais perto das novidades e ajudando mais no desenvolvimento das nossas ferramentas.

Saudações,
Itamar M. Lins Jr.

Re: HMG - Harbour MiniGui

MensagemEnviado: 06 Jan 2011 09:49
por Itamar M. Lins Jr.
Claro que não foi fácil, tive que pesquisar vários matérias na internet, mas basicamente o que precisei estava lá no fórum do Roberto Lopez.

Com as outras ferramentas é a mesma coisa.
Tem forum para tudo, GTWVW, HWGUI, Minigui, HBQT etc é só procurar na internet ou perguntar aqui nos foruns.
Aqui mesmo tém "separado", Minigui e Hwgui, tem pergunta sua lá no forum da Hwgui ?
E as pessoas pensam diferente mesmo por isso a diversidade de opções.

Saudações,
Itamar M. Lins Jr.

HMG - Harbour MiniGui

MensagemEnviado: 06 Jan 2011 09:59
por Pablo César
Eu já postei no forum n coisas de como usar a Hwgui.
Sim, eu vejo mas tem tantas mensagens espalhadas que de fato fica um tanto confuso, pois não há uma explicaão compilada ou eu ao menos fiquei perdido. Talvez seja bom abrir um novo tópico (ou juntar todos) ou até mesmo indicar as outras fontes que ajudem a compor uma instalação de fácil entendimento.
O problema é que o pessoal quer pegar um pacotão tudo pronto, CLICK, CLICK, NEXT, FINISH.
é... de fato mas que não quer isso ?
a HMG 4 vém com a IDE só baixar do link que postei compilar e usar.
aí que tá... compilar ? ishiiii... vou dar uma olhada, mas é aí que complica... (não sabia que já tinha a IDE em http://sourceforge.net/projects/hmg/files/BINARIES/hmg.4.bin.win.2010.11.03.exe/download)
o melhor é sempre aprender usar o SVN no caso da HMG/Harbour.

É isso que eu tento ensinar as pessoas serém independentes aprender a pegar do CVS/SVN e compilar só assim estaremos mais perto das novidades e ajudando mais no desenvolvimento das nossas ferramentas.
Não querendo abusar ... mas tem como você indicar a como usar SVN ?

Re: HMG - Harbour MiniGui

MensagemEnviado: 06 Jan 2011 12:20
por Maya Fiuza
Olá Fórum!

Colega, seu entusiamo reflete o meu. Foi e é a mesma emoção com que conheci também a MiniGUI e compartilho da sua opnião.
Faz apenas alguns meses e para mim até agora tem sido muito compensador e prazeiroso, embora tenha feito testes rápidos com a HwGUI.
Também testei FiveWin, mas achei que o código (parecido) fica mais "macarrônico" ou menos limpo.

Não havia antes usado o Harbour/xHarbour modo console. Instalei a HMG 3 e depois de algumas configurações iniciais dos .CFG já tinha minhas primeiras janelas e até um GRID. Fiquei pasma.
Como foi um salto direto (não conheci as GTs antes), fiquei mal-acostumada com pack pré-compilado e por isso ressinto desconhecer alguns termos e LIBs ambíguas ao modo gráfico/console e que são muito referênciadas aqui na sessão [x]Harbour, fora isso, só alegria.

NOTA: sou de outra área que ainda exerço paralelamente (Tecnoestrutura), tive 3 anos para aprender CA-Clipper e entender um pouco produtos-empresa. O maior desafio aqui está sendo vencer conceitos muito enraizados.
Acho que a MiniGUI te incuca o modelo (janelas, dados, processos) de forma mais intuitiva.

Re: HMG - Harbour MiniGui

MensagemEnviado: 06 Jan 2011 13:05
por Toledo
Itamar M. Lins Jr. escreveu:Outra coisa, a HMG 4 vém com a IDE só baixar do link que postei compilar e usar.

Lembrando: a IDE da HMG4 ainda não está completa, praticamente só está pronto a tela principal da IDE. Ainda não dá para gravar e gerar os fontes das janelas criadas (form).

Pablo César escreveu:aí que tá... compilar ? ishiiii... vou dar uma olhada, mas é aí que complica

Para compilar a IDE, basta entrar na pasta C:\HMG.4\SVN\HMGIDE e digitar: BUILD IDE
Simplesmente isto, sem qualquer configuração de variáveis de ambiente ou arquivos.

Pablo César escreveu:se o pai da criança falou que vai manter a retrocompatibilidade na versão 4...

Sim, os comandos da HMG3 são aceitos na HMG4, veja um exemplo:

HMG3:
Function Main
    DEFINE WINDOW Win_1 ;
        AT 0,0 ;
        WIDTH 400 ;
        HEIGHT 200 ;
        TITLE 'Hello World' ;
        MAIN
       
        DEFINE LABEL lblHello
           ROW 75
           COL 125
           VALUE "Hello World !"
           FONTNAME "Lucida"
           FONTSIZE 16
        END LABEL
    END WINDOW
    ACTIVATE WINDOW Win_1
Return


HMG4:
Function Main
Local oWin_1
   With Object oWin_1 := Window():New()
      :Row      := 0
      :Col      := 0
      :Width   := 400
      :Height   := 200
      :Title   := 'Hello World'
      :Type   := WND_MAIN
      :OnInit   := { || oWin_1:Center() }

      With Object oLabel := Label():New()
         :Row      := 75
         :Col      := 125
         :Width      := 200
         :Value      := 'Hello World !'
         :FontSize   := 16
         :FontName   := 'Lucida'
      End With
   End With
   oWin_1:Activate()
Return Nil


Os dois exemplos podem ser compilados com HMG4.

Veja mais exemplos na pasta C:\HMG.4\SVN\SAMPLES. Para compilar, basta digitar BUILD e o nome do arquivo PRG.

Abraços,

Re: HMG - Harbour MiniGui

MensagemEnviado: 06 Jan 2011 13:18
por Toledo
Em tempo... a HMG4 ainda não está finalizada, então falta algumas implementações a serem feitas.

Senti a falta do funcionamento da tecla ENTER em TextBox (tem que usar a tecla TAB) e em botões (botão só funciona com clique do mouse).

Já postei um tópico sobre este assunto no fórum da HMG (Enter in TextBox and Button) e o rathinagiri disse que será implementado.

Abraços,

HMG - Harbour MiniGui

MensagemEnviado: 03 Fev 2011 23:50
por Pablo César
Gostaria de contribuir com mais este artigo que traduzí e extendí a matéria:

From CA-Clipper to Windows in 5 Minutes que está em anexo.

 

Re: HMG - Harbour MiniGui

MensagemEnviado: 04 Fev 2011 06:40
por Toledo
Pablo, ainda não conhecia este artigo... muito bom. A tradução ficou ótima!

E pelo jeito você adotou a MiniGui (HMG). Eu também gosto muito dela... pena que na versão 4 ainda falta algumas implementações e finalizar a IDE, que ajuda demais na criação dos projetos.

Abraços,

HMG - Harbour MiniGui

MensagemEnviado: 07 Fev 2011 20:42
por Pablo César
ainda não conhecia este artigo... muito bom. A tradução ficou ótima!
Obrigado Toledo, fiz para ajudar aos colegas.

Realmente gostei muito da IDE / HMG foi muito bom instalar e sair usando... sem precisar configurar nada ! Isso facilitou a comprensão, pois eu venho instalando / desinstalado Harbour/xHarbour/BCC/Minigui há anos e nunca dei pé com bola, agora estou expandido o mundo GUI e se eu puder ajudar aos outros, será um prazer pois é assim que agora me sinto.

A propósito, pena mesmo que HMG 4 ainda está em desenvolvimento, isso deve-se certamente porque é uma ferramenta totalmente nova, promete ser OOP e o melhor multi-plataforma, não é mesmo ?

Estou também estudando o HMGS (extended) do Grigory Filatov, o quê vocês acham ? Sei que tem colegas aqui que ja programam há anos com ela e está cada vez melhor. Ao menos a IDE parece muito similar com HMG do Roberto o que facilita a compresão.

HMG - Harbour MiniGui

MensagemEnviado: 26 Out 2012 13:03
por Pablo César
Sempre haverão diferenças de formas de trabalho. Eu gosto de utilizar a IDE da HMG e da Minigui. Neste tópico: http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=13054&p=75087&hilit=hmg#p75069 um dos colegas diz que "as "IDEs" economizam tempo, mas limitam o aprendizado e a otimização do executável". Mas como eu já disse várias vezes antes, a instalação do HMG simplificou muito a minha vida. Devo ter perdido uns 5 anos a 6, cansado de instalações entre Harbour, xHarbour, BCC, configurações de ambientes, instalações de IDEs, bibliotecas gráficas, enfim... tudo não passava de uma verdadeira "salada", tudo misturado, sem nexo, isso porque o projeto do Harbour foi amadurecendo com o passar dos anos e tudo foi feito de forma independente, com documentação quase nula, não foi apresentado como apenas um produto, talvez tudo isso por ser um OPEN-SOURCE. Mas enfim, eu dei meus primeiros passos no mundo de programação para WIndows, graças a ter conhecido a HMG pelo site estrangeiro do Raumi75 e outro site "HMG Lights" do brasileiro Daniel Crocciari que despertou o meu interesse e ao instalar o HMG logo vi que toda aquela confusão de instala isto e instala aquilo... simplesmente acabou. Então para esclarecer ainda mais, ao baixar o HMG e instalá-lo, ele irá instalar:

- A IDE, que servirá tanto para fazer as suas telas gráficas, como para editar os fontes e como para compilar
- Harbour e suas contribs
- Editor de Textos Notepad++
- Bibliotecas gráficas
- Pasta DOC onde guarda a documentação do HMG
- Pasta SAMPLES onde contém centenas de exemplos práticos, pronto para serem compilados
- Pasta SOURCE onde contém os fontes do HMG

A IDE da HMG é bem simples como poderão notar:
HMG_IDE.PNG

HMG - Harbour MiniGui

MensagemEnviado: 26 Out 2012 20:40
por marcos.gurupi
Caro ainda estou usando em meu retaguarda texto (console) e um pouco de hwgui, estou pensando em mudar tudo para grafico. Vc poderia me dizer (alem do que vc jah disse) a principal ou as principais vantagens do HMG ?

HMG - Harbour MiniGui

MensagemEnviado: 26 Out 2012 21:13
por Pablo César
marcos.gurupi escreveu:Vc poderia me dizer (alem do que vc jah disse) a principal ou as principais vantagens do HMG ?
Acredito que tudo o que eu disse sobre usar HMG é mero ponto de vista pessoal. Apenas indico, porque pra mim foi prático e fácil aprender e usar HMG, logo Minigui e ainda incluir código em C. No entanto se esses argumentos (prático e fácil), não forem convencer você, é porque não interessam a você. Aliás, quando eu uso HMG para compilar qualquer código em Harbour (menos outros códigos que envolvem outras bibliotecas gráficas e não gráficas, isto é código puro em Harbour), vou logo com HMG na compilação com a IDE, pois me oferece muita flexibilidade, muito dinamismo e resultado praticamente imediato. Não tenho que ficar me preocupando qual biblioteca tenho que incluir. A salvo algum necessidade eventual e esporádica de um biblioteca externa e exclusiva. Mas a maioria, tá lá no HMG.

Caro ainda estou usando em meu retaguarda texto (console) e um pouco de hwgui, estou pensando em mudar tudo para grafico.
A hwgui tmabém oferece um excelente resultado e se você já o domina continue. Mas não é a minha praia e muito menos xHarbour (eu baní este da minha prática de programação) ou ao menos até que se apresente de forma mais amigável e avançada.

Mas claro, tudo isto é experiência pessoal. Eu até concordo em partes com os colegas quando dizem que a utilização de IDE, principalmente no uso do Designer para confeccionar as telas. Mas tudo depende do interesse de cada um, isto é, se você apenas quer um resultado rápido e deixar que um programa auxilie a faze-lo e como compilá-lo sem você ter a mínima noção de como é feito ? Ai vai de cada um. Mas nada que você não possa vir a entender com o tempo e no momento certo (que cada um tem no aprendizado). Então isso de que a IDE mascara e não ajuda no real aprendizado é relativo (na minha opinião). Pois veja, mesmo utilizando o Designer em HMG, você pode visualizar o formulário (o arquivo com extensão fmg) e copia/colar no seu código e desta forma transformá-lo em comando interativos de programação. Eu também prefiro este método, mas claro primeiro desenho a vontade com o Designer.

HMG - Harbour MiniGui

MensagemEnviado: 20 Mar 2014 19:39
por microvolution
olá pessoal, parabéns pelo post.
De todas as IDEs que encontrei para migrar clipper para harbour, honestamente, essa foi a única que consegui alguma coisa.
Bom, esse alguma coisa foi, adicionar todos os meus programas (.PRGs) individualmente à medida que uma função era chamada e apresentava erro.
Mas, pude observar algumas coisas:
1ª - em alguns dos meus ".PRGs" eles não aceitaram o início nem com "function" ou "procedure" apesar do encerramento com "return" ou "return nil", apresentava uma mensagem de "redefinition of procedure or function". Então nesses casos excluí (comentei com "//") essas linhas.
2ª - quando se inicia um novo projeto, observei que gera um MAIN.PRG e um MAIN.FMG que não sei o que fazer com eles (apesar que o MAIN.PRG ter conseguido excluí-lo).
3ª - ao compilar, apesar do arquivo final (.EXE) ter sido gerado e com o tamanho aproximadamente ao do original em clipper, ele não aparece nada.
Então, o que os amigos podem me ajudar, lembrando que usava o RTLINK e o EXOSPACE para compilar/linkeditar e os programas foram construídos com o auxílio de um gerador de programas da SQUADRA SOFTWARE de Belo Horizonte-MG (chamado SCULPTOR na última versão comercial v3.331)?
se alguém puder me dar um passo a passo ficarei muito grato e com certeza compartilharei com meus colegas as minhas experiências.
gRATO,
W de Paula.

HMG - Harbour MiniGui

MensagemEnviado: 21 Mar 2014 08:54
por Pablo César
microvolution escreveu:1ª - em alguns dos meus ".PRGs" eles não aceitaram o início nem com "function" ou "procedure" apesar do encerramento com "return" ou "return nil", apresentava uma mensagem de "redefinition of procedure or function". Então nesses casos excluí (comentei com "//") essas linhas.
Não é que não aceita Function nem Procedure... apenas está acusando que o nome dessas funções ou procedures (como queira chamar) estão em duplicidade. Em Clipper, era muito comum criar o nome do PRG e executá-lo através do DO <nome_do_prg> e se quisesse passar parâmetros fazia: DO <nome_do_prg> WITH <parm1> <param2> ... etc...
No Harbour ainda aceita essa forma, portanto não precisaria adicionar a palavra "Function" nem "Procedure" no inicio, desde que chame com DO <nome_do_prg> ...

Eu sou a favor, de colocar o nome da função diferente ao do PRG, claro que as chamadas da função deverão ser com o novo nome para que chame a função e não o PRG.

Se nada disso, funcionou... é porque em algum lugar o nome da função ou procedure está em duplicidade. Isto é, digamos num PRG você tem a função chamada Function Incluir (por exemplo) e em outro PRG você também tem outra função com o mesmo nome: Function Incluir. Então se for assim, uma dela vai ter que renomear para um nome diferente, pode até mesmo ser: Function Incluir2 mas tem que ser diferente a outra.

microvolution escreveu:2ª - quando se inicia um novo projeto, observei que gera um MAIN.PRG e um MAIN.FMG que não sei o que fazer com eles (apesar que o MAIN.PRG ter conseguido excluí-lo).
Esses arquivos são criados pela IDE de forma obrigatória e sugestiva quando é clicado no botão "criar novo projeto". Mas podem ser excluídos tanto fisicamente como pela IDE no menu Projeto \ Excluir arquivo mas tem que posicionar-se com o mouse no arquivo. A IDE cria esses arquivos como default. O PRG é o arquivo programa e o FMG é o arquivo gráfico de tela. NEste seu caso, por ser modo console, não necessita carregar nenhuma tela gráfica.

microvolution escreveu:3ª - ao compilar, apesar do arquivo final (.EXE) ter sido gerado e com o tamanho aproximadamente ao do original em clipper, ele não aparece nada.
Se você está utilizando a IDE do HMG versão 3.0.35 então você tem aquela opção na propria IDE para dizer que você precisaria compilar em modo CONSOLE (veja na janela "Gerenciador de Projeto" na aba "Configuração" no item "Console mode:" e deixe como .T. Mas se você está utilizando uma versão posterior, você vai ter que inserir no inicio do PRG principal:

REQUEST HB_GT_WIN_DEFAULT

Function Main()
SetMode(25,80)
O request é pra carregar o drive GT, isto é para o modo ANSI/CONSOLE e o SetMode é pra definir o tamanho da tela. O Function Main, é obrigatório para compilações em Harbour.

Se houverem mais dúvidas ou não funcionou as dicas dadas, poste novamente relatando o que está ocorrendo e o que você fez. De preferência, poste parte do seu código fonte. Boa sorte.

HMG - Harbour MiniGui

MensagemEnviado: 04 Jul 2015 12:59
por microvolution
olá pessoal, boa(m) tarde/noite/dia!
estou aqui só pra encerrar (por enquanto) minha participação neste tópico, pois em 20/03/14, havia postado dúvidas e o PC respondeu como sempre fez.
Bom, até 31/12/14 eu nada havia conseguido fazer, até que em janeiro/2015 estava pra finalmente desistir consegui com ajuda de outro colega que muito me ajudou e meu aplicativo já está migrado em modo console usando a HMG 3.0.35 ou 3.0.46. Instalei a HMG 3.4.0 mas, com ela ainda nada se compila; termina o processo de compilação, mas, não gera o .EXE nem aparece algum erro. Como não tem um debug, fiquei no ar.

Já estou tentado o 2º passo que é mudar pra modo gráfico e depois que isso conseguir passarei para o 3º passo que é mudar o banco de dados e finalmente tentar homologar na Receita Estadual meu aplicativo e após sair na praça pra vender.

Bom, mas, obrigado a todos que muito tem nos ajudado.

HMG - Harbour MiniGui

MensagemEnviado: 29 Nov 2015 21:32
por microvolution
bom, graças a Deus, consegui entender a diferença entre a HMG 3.0.35 e as 3.0.46 e 3.4.0, para funcionar em MODO CONSOLE, é necessário um tal HB_GT_WIN_DEFAULT antes da FUNCTION MAIN().

Vejam o resultado, consegui finalmente compilar:
versao do harbour 3.JPG


Bom, agora preciso resolver a questão da impressão que não entendi patavina de nada...