Página 2 de 3

Re: Dúvidas sobre migração para xHarbour

Enviado: 20 Ago 2008 11:30
por SandroBelarmino
gvc escreveu: Boa sorte. Espero ter ajudado.
Obrigado pelas dicas, tô na luta pra ver o que consigo.

Sandro

Re: Dúvidas sobre migração para xHarbour

Enviado: 22 Ago 2008 18:21
por sygecom
SandroBelarmino escreveu:Pessoal,
Consegui compilar meu programa em xHarbour e, pelo que entendi, apesar da aparencia ainda ser igual a compilada com clipper com a tela do dos a aplicação passa a ser em 32 bits correto?
Correto, passa a ser agora 32BITS porem em MODO CONSOLE.
Eu consegueria usar DLL´s do windows nessa aplicação?
Sim consegue, de uma olhada no Help do xharbour que tem exemplos de uso com DllCall()
Em alguns programas eu uso set printer to lpt1, set printer to lpt2, dentro da mesma aplicação, no xHarbour pode continuar desse jeito que funciona?
Pode continuar que funciona, porem somente vai funcionar com LPT
E no caso do computador ter somente impressora ligada na porta USB, como faria para imprimir? Tem como fazer o programa mandar para a impressora padrão do windows?
Para impressora padrão pode usar assim:

Código: Selecionar todos

func main
set device to print
SET printer to TEXTO.TXT

@ prow()+1,00 say " Imprimindo... "
@ prow()+1,00 say " Imprimindo... "
@ prow()+1,00 say " Imprimindo... "

set printer to
SET DEVICE TO SCREEN

PrintFileRaw( GetDefaultPrinter(), "TEXTO.TXT", "Nome que aparece no Spool do Windows" )
return
Para selecionar a impressora que o usuario vai escolher onde deve imprimir, de uma olhada no exemplo do link abaixo:
viewtopic.php?t=6465
Para compilar o programa eu estou usando o hbmake que tem um assistente para gerar o script de compilação, que é o arquivo .bc, porém nesse assistente, ele abre todos os .prg´s do diretório para eu selecionar quais são usados na aplicação (como se tivesse criando os clp´s do clipper), porém tem algumas funções padrões, que estão em algums prg´s que eu uso para diversas aplicações, ou seja, esses programas com as funções estão em outro diretório, alguém sabe responder se eu tenho como selecionar isso no hbmake para gerar o script? Por enquanto eu estou copiando esses prg´s para dentro do próprio diretório da aplicação, mas em caso de manutenção terei que mexer em todos os prg´s, e com isso corro o risco de mexer em alguma função e nao atualizar todos os prg´s por exemplo.
Desde o CLIPPER eu faço assim, tenho uma LIB chamada SYGECOM.LIB e dentro dela todas as funções que uso em diversos sistemas.
Para criar uma LIB com hbmake use assim:
hbmake nome_da_lib.bc /elx
Logo em seguida vai abrir o hbmake com as opções, basta marcar os .PRG ou .C que participa dessa LIB e gera a mesma, nas opções tem um opção para já enviar a LIB para pasta de LIB do xharbour, pode deixar ela marcada, e depois é só linkar sua LIB em seus aplicativo, é muito mais facil do que ficar colocando .PRG. Obs: Isso é apenas uma segestão.
Pessoal, estou pesquisando as lib´s para colocar o estilo visual nas minhas aplicações, (minigui, hwgui, gtwvw, etc.) sei que aqui não é o lugar para essa pergunta, mas aproveitando a deixa, qual seria a mais prática para eu que estou começando e não tenho muita intimidade com o assunto, não é preguiça e nem falta de vontade de ter que mexer nos programas, a questão da praticidade é que eu gostaria de colocar rapidinho alguma versão dessas em meus clientes.
A mais facil em minha opnião é a wvwtools, a grosso modo falando vc apenas muda os Menus. Mas não deixe de testar outras, eu por exemplo uso HWGUI, claro que muda bastante a parte visual , mas tmb. tenho um visual 100% windows.

Re: Dúvidas sobre migração para xHarbour

Enviado: 01 Set 2008 21:29
por albertothe
ei galera sou novo na area queria tirar uma duvida estou compilando um sistema clipper em XHarBour, ele até que compila sem erro, mas quando execulto o sistema ele da o seguinte erro: erro was compiled by older version, pcode version 7 is no longer supported - please recompile, por favor alguém me ajuda aí.... valew
:{

Re: Dúvidas sobre migração para xHarbour

Enviado: 02 Set 2008 11:54
por sygecom
Recompile suas LIB e seu projeto. Deve ter alguma LIB que foi compilada com versão diferente da que vc esta usando.

Re: Dúvidas sobre migração para xHarbour

Enviado: 02 Set 2008 22:56
por albertothe
b noite..
muito obrigado deu certim
valew

:)Pos

Re: Dúvidas sobre migração para xHarbour

Enviado: 30 Jul 2010 15:20
por alisdava
Caro Clodoaldo

Eu estou fazendo a conversão dos meus sistemas em GASPRO para xharbour, com a conversão da lib do GAS e também da getsys do GAS que vc fez .

Para editar, compilar, organizar os fontes, estou usando o o xDev Studio,

Estou tendo os seguinte erro na hora da compilação.

Unresolved external _HB_FUN_ERROMSG
Unresolved external _HB_FUN_VAL_AX
Unresolved external _HB_FUN_VAL_BX

Vc pode me ajudar.

Re: Dúvidas sobre migração para xHarbour

Enviado: 30 Jul 2010 17:34
por gvc
O xHarbour não esta encontrando as funções ERROMSG, VAL_AX, VAL_BX.
Veja em qual arquivo elas estão declaradas. Lembrando que o clipper só usava os 10 primeiros caracteres para identificar procedures, funções, campos e variáveis. O [x]Harbour usar mais, acho que até 128 caracteres.
Isso tb pode ser de alguma biblioteca. É melhor verificar isso tb.

Re: Dúvidas sobre migração para xHarbour

Enviado: 31 Jul 2010 10:46
por alisdava
Caro amigo

Essa função ERROMSG encontrei aqui no forum as outras duas , VAL_AX, VAL_BX. são da LIB do GAS acho que teria q descompilar essa LIB.

Re: Dúvidas sobre migração para xHarbour

Enviado: 31 Ago 2010 12:24
por clipsis
Ola, boa tarde!

Também estou tendo que converter meus projetos feitos em GASPro para Harbour.

Onde posso conseguir : lib do GAS e também da getsys do GAS , convertido para Harbour. em alguma seção aqui no forum para download?

Alguem poderia me fornecer esses arquivos?

Desde já agradeço

Clipper Sistemas

Re: Dúvidas sobre migração para xHarbour

Enviado: 31 Ago 2010 13:08
por Stanis Luksys
Pessoal,

Gostaria de aproveitar o tópico para fazer umas perguntas bem básicas. Não é necessariamente sobre "migração", mas também não vejo necessidade de abrir um tópico novo só pra isso, já que assim como o inicio do tópico, se trata de dúvidas de iniciante.

1) Hoje em dia, quais são as reais diferenças entre o Harbour e o XHarbour? Andei lendo que o Harbour tem estado mais estável e sendo mais constantemente atualizado. É verdade?

2) Alguém tá conseguindo compilar o XHarbour no Linux sem Xorg ou Xfree, ou seja, no Linux console puro? Aqui da pau... Já o Harbour vai na boa, aliás a compilação do Harbour é infinitamente mais organizada e simples. É só rodar o configure e o make.

3) As funções que só tem no XHarbour, nunca irão pro Harbour mesmo? Eu to usando o Harbour aqui e ta legal, rodando redondinho, mas andei olhando naquele guia de refereência que baixei no site do Maligno, e umas funções básicas como IsDir() ou IsDirectory() não existem no Harbour, apesar de que encontrei a HB_DirExists(), mas é bem mais chatinha pra lembrar de cabeça...

4) Alguém já usou a função Directory() ou ADir() no Linux? No Harbour não retorna os arquivos ocultos de jeito nenhum, tive que alterar direto la no "DIRECT.C" e recompilar... Alguém usando XHarbour no Linux sabe se essas funções de diretório, emtre outras de manipuação de arquivos, funcionam como no Windows?

Bom, por enquanto é só... Valeu!

Re: Dúvidas sobre migração para xHarbour

Enviado: 31 Ago 2010 14:34
por clrod
Olá
1) Hoje em dia, quais são as reais diferenças entre o Harbour e o XHarbour? Andei lendo que o Harbour tem estado mais estável e sendo mais constantemente atualizado. É verdade?
Um bom lugar para começar ver melhor: http://pt.wikipedia.org/wiki/Projeto_Harbour

Tem um texto preparado pelo Prezmek que era o grande craque do xHarbour que indica diversas diferenças contundentes. As mais sutis nem esão listadas neste texto. O Prezmek abandonou o xHarbour e passou a se dedicar exclusivamente ao Harbour. Depois disso o xHarbour estagnou.
Sabe inglês? http://harbour-project.svn.sourceforge. ... b-diff.txt

Essa semana teve um liberação nova do xHarbour, basicamente bug fix, alguns graves (que poderiam ser percebidos com um teste simples) e que ficaram ativos por meses. Um dia bem agitado do Harbour tem mais modificações que o xHarbour tem em meses.
2) Alguém tá conseguindo compilar o XHarbour no Linux sem Xorg ou Xfree, ou seja, no Linux console puro? Aqui da pau... Já o Harbour vai na boa, aliás a compilação do Harbour é infinitamente mais organizada e simples. É só rodar o configure e o make.
O Linux no xHarbour é relaticamente novo. Um dos motivos do fork é que eles queriam se concentrar no Windows. Boa parte do que foi acrescentado ao xHarbour foi criando "hidden problems" que dificultou outras melhorias. O Prezmek cansou de ver o xHarbour sendo destruído aos poucos.
Antes que alguém diga que ele tá funcionando direitinho, é bom dar uma lida no xhb-diff.txt acima e procurar ver se a turma do xHarbour contesta esse texto. O máximo que eles fazem é dizer que não precisam de alguma coisa que o xHarbour não é capaz de fazer.
3) As funções que só tem no XHarbour, nunca irão pro Harbour mesmo? Eu to usando o Harbour aqui e ta legal, rodando redondinho, mas andei olhando naquele guia de refereência que baixei no site do Maligno, e umas funções básicas como IsDir() ou IsDirectory() não existem no Harbour, apesar de que encontrei a HB_DirExists(), mas é bem mais chatinha pra lembrar de cabeça...
Pode ser que exista na xhb.lib ou mesmo no xhb.ch que serve como um tradutor quando apenas a sintaxe é diferente. Mas se não existe, você pode criar um translate para fazer o que você deseja e até mesmo submeter para o pessoal do Harbour incluir na distribuição oficial se a tradução for feita corretamente.

Praticamento tudo o que o xHarbour tem que poderia trazer problemas para o core do Harbour foi implementada na xhb.lib do Harbour. O Viktor que é o gerente do Harbour já propôs um merge dos dois projetos já que hoje o Harbour é quase 100% compatível com o xHarbour e se as duas equipes trabalhassem juntas, seria possível atingir 100% de compatibilidade.
O inverso não é verdadeiro, se você usar coisas específicas só existentes no Harbour e tem muita, mas muita coisa mesmo, o programa nunca poderá ser compilado no xHarbour.
4) Alguém já usou a função Directory() ou ADir() no Linux? No Harbour não retorna os arquivos ocultos de jeito nenhum, tive que alterar direto la no "DIRECT.C" e recompilar... Alguém usando XHarbour no Linux sabe se essas funções de diretório, emtre outras de manipuação de arquivos, funcionam como no Windows?
Uma das grandes diferenças do Harbour para o xHarbour é que o Harbour decidiu manter compatilibilidade total como Clipper e melhorar a linguagem através de funções novas e o xHarbour preferiu "consertar" algumas funções problemáticas do Clipper, só que isso tornou o xHarbour quase compatível com Clipper. Ou seja, o xHarbour resolveu um problema (e às vezes isso é questionável) e causou outro. O Harbour deu uma solução até melhor sem causar nenhum problema.
Eu nunca usei essas funções no Harbour e nada parecido mas já usei algumas funções exclusivas do Harbour para manipular arquivos e elas eram extremaente poderosas e corretas.
Se achar que isso é bug, tenho certeza que os desenvolvedores encontrarão uma solução rapidamente ou adotarão uma que você sugerir.

T+

Re: Dúvidas sobre migração para xHarbour

Enviado: 31 Ago 2010 18:12
por Stanis Luksys
Valeu clrod,

Estou um pouco desatualizado, mas você me passou a mesma impressão que eu vinha tendo de ler e pesquisar. O Harbour lhe parece então mais indicado no momento. Acho engraçado porque de certa forma eu sempre defendi o uso da minigui+harbour, ao invés da hmg extended. Hoje em dia não sei como andam estes projetos. Aliás, falando nisso, instalei o windows aqui pelo virtual box e baixei a minigui indicada lá no outro post, e me pareceu muito crua. (depois escrevo mais lá, não quero desviar muito o post).

Quanto ao Harbour e as funções de diretório, acontece exatamente pelo motivo que você citou. Não é uma questão de plataforma ou de SO, mas sim de manter comportamento do Clipper mesmo. A função Directory() usa os atributos de arquivos como segundo parâmetro. Acontece que no Linux utiliza-se normalmente como forma de ocultar o arquivo, apenas o (. ponto ) no início do nome. Andei testando aqui e não consigo entender porque critério as máscaras ( *.* ) e ( * ) não retornam estes arquivos, conseguindo trazer eles apenas com ( .* ), mas me parece uma forma do SO em sí tratar os caracteres curingas. Não posso dizer que seja bug do Harbour, mas na minha visão o ideal seria ele saber que no linux oculto não é atributo, e quando você passar no segundo parâmento de Directory a letra "H", ele trazer os ocultos. Foi o que eu mudei lá... Na verdade o problema está na constante HB_OS_ALLFILE_MASK, no hbsetup.h.

De resto, muito obrigado pelas informações, e estou lendo os links passados. Fico mais tranquilo agora de saber que com o Harbour que já compilei e instalei, estou bem servido. Vou pesquisar sobre a xhlib e o include, nem ví ainda se tenho aqui...

Valeu mesmo, e desculpem se desvirtuei o tópico.

Re: Dúvidas sobre migração para xHarbour

Enviado: 31 Ago 2010 19:16
por lugab
Oi, pessoal.

Peço licença pra pongar no tpc e fazer 2 perguntinhas típicas e básicas :

Tenho um sisteminha em clipper compilado com o xharbour 1.0 + Gtwin (modo texto).

1- O que exatamente eu preciso fazer pra compilar esse sisteminha em HArbour, em lugar do xharbour ? Não muso lib privada, nem nada. Será q muda muita coisa ?

2 - Onde baixo o Harbour + o borland mais atual, caso eu tome coragem de mudar , pois é tanto link que existe, q eu nem sei...?

Hoje eu tenho 2 pastas : Uma do xbarbour e uma do Borland e não precisei instalar nada. Só baixei e explodi os 2 arquivos nas referidas pastas...

Agradeço a quem ceder seu preciso tempo , em meu favor..

gabriel

Re: Dúvidas sobre migração para xHarbour

Enviado: 01 Set 2010 03:30
por clrod
Stanis:

Saiba que eu praticamente tinha fechado com o xHarbour quando comcei aventar a possibilidade de voltar ao mundo xBase, mas quando eu comecei testar, analisar o desenvolvimento de cada um e acompanhar o que rolava nas listas dos projetos principalmente ano passado, eu não tive dúvidos que o caminho era o Harbour e cada dia eu fico mais contente de ter tomado essa decisão. Com o Harbour eu sei que terei uma ferramenta moderna que não fica devendo nada ao que está mais na moda, já o futuro do xHarbour parece ser o mesmo que o Clipper é hoje.

Eu quase fechei com a Minigui também e em algum momento considerei a MHBExt porque o projeto parecia mais organizado e o Roberto tava muito teimosos naquela época. Mas há quase um ano o Roberto comeceu cederdevagarzinho tentando não deixar perceber e começou melhorar a Minigui até que culminou com a HMG 4 que eu acho que é o caminho certo, porém pre mim já é tarde, eu já me "apaixonei" pela HBQt e estou fazendo meus projetos usando ela diretamente. É um pouco mais difícil para quem está acostumado com xBase mas o resultado é melhor.

Saiba que o Harbour tem a multiplataforma como um dos seus principais pilares e muitos dos que participam do desenvolvimento tem um interesse até maior pelo Linux o que em nada impede todo esforço necessário para manter o Harbour funcionando da melhor forma possível no Windows que é a plataforma usada por mais de 90% do ususários do Harbour. A escolha da HBQt como a GUI de referência foi feita baseada no conceito de multiplataforma. A HBIde é desenvolvida pensando que ela deve funcionar igual em todas as plataformas.

Se conseguir dar algum pitaco em inglês mesmo que precise usar um tradutor, eu aconselho você escrever na lista dos desenvolvedores do Harbour sobre essa questão dos diretórios no Linux, o pessoal é bem aberto.

Na distribuição padrão do Harbour tem a xhb com seus fontes, claro. Claro que não é uma lib default e deve ser referênciada no excelente HBMK2 para criar aplicativos usando-a.

Gabriel:

1 - Muda muito pouco ou nada, principalmente se usar a xhb.lib do Harbour. Claro que algumas coisas muito malucas não podem ser reproduzidas no Harbour, mas em geral a migração é tranquila.

2 - Última versão oficial: http://sourceforge.net/projects/harbour ... e/download
Liberação diária (noturna) p/ Windows: http://sourceforge.net/projects/harbour ... e/download
p/ Linux: http://sourceforge.net/projects/harbour ... 2/download

O Borland eu nem sei mais onde pegar. Eu aconselharia você usar o MingW que é o compilador "quase oficial" do Harbour embora não muito recomendado, o Borlando pe totalmente suportado pelo Harbour até onde dá (mesmas limitações do xHarbour). O MingW é o gcc p/ Windows e é um pouco mais complicado para colocá-lo para funcionar, mas vale à pena e com o HBMK2 a dificuldade de uso do MingW é a mesma do Borland ou até mesmo porque costuma dar menos problema com ele.
Tem um INSTALL na distribuição do Harbour com informações sobre tudo isso.
Fácil de instalar mas não tanto recomendado apesar de suportado e usado por muita gente com sucesso: http://sourceforge.net/projects/tdm-gcc/
Mais complicado mas é o gcc mais novo e o mais recomendado: http://sourceforge.net/projects/mingw/ Esse precisa saber quais arquivos precisa baixar, só isso de mais complicado, então você talvez precise de ajuda da lista: http://groups.google.com/group/harbour- ... b74f74836d O massimo fez até um batzinho para pegar e instalar automaticamente o 4.5.

O processo de instalar do Harbour hoje é quase igual ao do xHarbour.

É claro que sempre há pequenas diferenças na instalação ou uso, mas não é que seja mais difícil, é diferente e sempre assunta um pouco quando se está acostumado com outra coisa. Como o Stanis disse, usar o HBMK2 é muito mais fácil e organizado que o make do xHarbour.

T+

Re: Dúvidas sobre migração para xHarbour

Enviado: 01 Set 2010 08:13
por lugab
Clrod, obrigado...

Como vc bem previu, eu achei complicado e me assustei, com tantas diferenças.

Se eu usar esse harbour 2.0 q vc postou o link, eu poderei usar o Borland q eu já possuo e já uso pra compilar com o xharbour 1.00 ?

Essa pergunta acima se justifica, pq eu acabei de experimentar meu script usando o HArbour 2.0 no lugar do Xharbour 1.0 e já deparei com os seguintes erros, que é a ausencias das seguintes libs e funçoes, no harbour 2.0 q baixei..

- Pcrepos.lib
- Dbfcdx.lib
- Dbfntx.lib
- Dbffpt.lib

Também foi relatado a ausência das funções abaixo. (Eu não sei em qual LIB do Harbour elas estão cadastradas )

- Hb-Fun-PrintFileraw
- Hb-Fun_Win32prn
- Hb_Fun_getprinters
- Hb_Fun_Defaults
- Hb_Fun_OpenProcess

(Tudo Isso q falta acima, existe no meu xharbour 1.00)

Eu Uso um script de compilação de terceiros q usa o Borland, e pelos erros acima, acredito que não saberei mesmo compilar nada, sem usar o referido script.

( E eu aqui pensando q sair de xharbour para harbour fosse algo só um pouco mais trabalhoso do que retirar o X do início do nome do projeto. )

Gabriel