Clipper On Line • Ver Tópico - Migrar para o Harbour / xHarbour
Página 1 de 3

Migrar para o Harbour / xHarbour

MensagemEnviado: 09 Abr 2005 17:18
por Hasse
Por solicitação do Toledo estou postando novamente o assunto Migrar para o xHarbour.
Refiz o trabalho todo para anotar os procedimentos. Acho que ficou mais rico em detalhes, porém tenho a impressão que escaparam alguns.
Desta vez o trabalho foi bem mais rápido, pois a cada erro eu já sabia qual a solução a ser adotada.

1)-Usei o BRMAKE que utiliza um *.MLK de fácil manutenção, onde somente se altera o nome do PRG (inclusão, exclusão ou alteração)

2)-Ele também usa o arquivo BRMAKE.INI com uma boa quantidade de configurações.

3)-O HBMAKE é de uso bem mais complicado, e ainda não entenddi bem todos os requisitos que ele necessita, pois usando os mesmos arquivos PRG, com o BRMAKE consegui compilar o projeto e com o HBMAKE ainda não. Ainda não dessisti e volto ao assunto.

4)-Todas as LIB's usadas no Clipper devem ser recompiladas com o xHarbour, isto para quem tiver os Fontes. Caso contrário a coisa fica masi difícil.

5)-Eliminar: #include "sixcdx.ch" Aparentemente não é suportado, como também parece não ser necessário.

6)-Para quem usa o CDX, deixar os comandos:
REQUEST DBFCDX
RddSetDefault("DBFCDX")

7)-Para quem quiser usar o NTX:
REQUEST DBFNTX
RddSetDefault("DBFNTX")

8)-O PRG principal deve iniciar com:
FUNCTION MAIN()
...
...
RETURN NIL

Se não tiver MAIN(), é gerado um erro. O MAIN() indica ao xHarbour que este PRG é o de partida.

9)-Todos os outros PRG's devem iniciar com FUNCTION MeuPrg(), ou PROCEDURE MeuPrg(). Este nome pode ser igual ao nome do próprio PRG. Caso contrário retornará: "Error E0001 Statement not allowed outside of Procedure or Function"

10)-É aconselhável substituir todos os comandos do tipo:
DO MeuPrg por MeuPrg()
DO MeuPrg with 10,20 por MeuPrg(10,20)

11)-Instruções de uso do BRMAKE:
a)BRMAKE
Create INI file for xHarbour
Informe os 3 path's solicitados.
Mantenha as flags -N -M
Compress Executable with UPX: mantenha NO
Quando a tela azul abrir informando os parâmetros, é possível conferí-los, ESC para fechá-la.
Estes procedimentos geram o BRMAKE.INI
O arquivo BRMAKE.INI contém algumas configurações de fácil manutenção.

Create MLK project file
Modo Gui/Console: mantenha C (usar G somente para aplicação com GUI)
EXE file: informe o nome do executável
Main PRG: informe o nome do PRG de inicialização
(contém o FUNCTION MAIN()
Resource file passe por cima
Include Dir passe por cima
OBJ dir mantenha OBJ
ADS, ODBC, MYSQL e ZIP mantenha NÃO para todos

Ao abrir a janela de OUTRAS LIBS, elas podem ser selecionadas/deselecionadas com ENTER
F2 finaliza a operação de selecionar LIBS
Ao abrir a janela dos PRG's, use ENTER para marcar/desmarcar os PRG's que serão usados.
F10 para gerar o arquivo *.MLK
Com isto temos o arquivo MeuPrg.MLK gerado.
ESC para sair do BRMAKE.

Para compilar e linkar: BRMAKE MeuPrg

As menssagens de erro serão listadas numa janela pequena em azul, no rodapé.
Quando o BRMAKE retornar ao Prompt, a compilação e a linkagem estará realizada e o executável disponível.

12)-o BRMAKE realiza automaticamente a compilação incremental, sendo extremamente rápido quando houver alteração em somente um PRG. Se não houver qualquer alteração também não será realizada a compilação.

13)-Tamanho do executável:
O Clipper uusado é o 5.3b e linkando com BLINKER 7
O xHarbour usado é a versão 0.99.3 (simplex)
No Clipper 500 Kb
No xHarbour 1300 Kb

14)-Para ver os vários parâmetros do xHarbour, usar:
HARBOUR | MORE
Estes parâmetros podem ser usados no BRMAKE, ou então alterar "na mão grande" no arquivo BRMAKE.INI, na linha:
Harbour Flags=

Espero que esta contribuição seja de valia para aqueles que desejam migrar para o Harbour / xHarbour

Abraços.

Hasse

MensagemEnviado: 13 Abr 2005 19:13
por culik
Hasse
vou perguntar de novo

qual o erro que teve com o hbmake?

o hbmake usar c:\xharbour\bin\harbour.cfg para compilar os fontes


mande seu problema direto para meu email(que voce ja tem)

[]s
Luiz

MensagemEnviado: 14 Abr 2005 10:17
por Hasse
Bom dia Culik

Veja o seguinte:

-Pelo que eu percebí o HBMAKE parece ser bem mais criterioso na análise das sintaxes do PRG fonte.

-Certamente eu já teria alguma solução para colocar, mas a minha agenda está abarrotada de trabalho e por este motivo ainda preciso de mais alguns dias. Se eu não conseguir achar a solução, certamente vou te consultar, pois não devem detalhes insolúveis, tendo em vista que muitos colegas estão estão usando este MAKEFILE.

Obrigado pela tua gentileza.

Abraços

Hasse.

MensagemEnviado: 13 Jun 2005 10:22
por Hasse
A pedido do Culik, recompilei o sistema todo, usando o HBMAKE. Por uma questão de justiça e eqüidade realizei o trabalho, e seguem abaixo as minhas anotações:

Uso do HBMAKE

HBMAKE MeuMake.BC -ex

A extensão ".BC" é obrigatória.

Em 'Opções de Ambiente'
Nome do executável: MeuExec (não declarar a extensão)
As demais janelas deixar como estão

Em 'Opções do xHarbour'
Deixar todas as opções como estão

Em 'Selecionar os PRG's'
F5 -> para selecionar/deselecionar todos os PRG's, ou <espaço> -> para selecionar/deselecionar um determinado PRG <ENTER> -> para confirmar e seguir em frente

Em 'Nome do programa principal'
Declarar o PRG (com a extensão ".PRG" obrigatoriamente) de inicialização e que contém a declaração abaixo:
FUNCTION MAIN()

Todas as chamadas do tipo 'DO MyFunction' ou 'DO MyProcedure' devem ser trocadas por 'MyFunction()' ou 'MyProcedure()'. Todas as chamadas do tipo 'DO MyProcedure with 10' devem ser trocadas por 'MyProcedure(10)'. Caso contrário relatará o erro a seguir:
"Cannot open FIL_NAME.prg, assumed external"
Também pode relatar o erro: "Warning: Public ymbol '_HB_FUMyFunction'
defined in both module F:\L0\OBJ\FIO307.OBJ and
F:\L0\OBJ\M_OPNARQ.OBJ"

Para recompilar no modo incrememtal:
HBMAKE MeuMake.BC

Para recompilar todos os PRG's:
HBMAKE MeuMake.BC -f

Para criar LIB's com o HBMAKE:
HBMAKE MinhaLib.BC -elx
HBMAKE MinhaLib.BC

Arquivos auxiliares do HBMAKE

MeuMake.BC:
Neste arquivos estão gravadas algumas configurações criadas
no comando inicial, HBMAKE MeuMake.BC -ex;
Em 'PROJECT = ' consta o nome do projeto (não do executável)
Em 'OBJFILES = ' consta a lista dos OBJ's
Em 'PRGFILES = ' consta a lista dos PRG's
Em 'TOPMODULE = ' consta o nome do executável
Em 'LIBFILES = ' consta a lista das LIB's
Flags
Diversos outros

Makefile.LNK
Neste arquivo são listados:
o Path dos OBJ's do linkador BCC e Flags
o Path das LIB's do linkador
o Path das LIB's do xHarbour e flags
os OBJ's,
as LIB's
o nome do executável

MeuMake.OUT
Lista de compilação, e, onde são listados os erros de sintaxe
que são detectados em tempo de compilação.

Trace.log: não entendi a finalidade

\xHarbour\bin\harbour.cfg contém as seguintes linhas:
CC=BCC32
CFLAGS= -c -Ic:\xharbour\include -OS -O2 -d -Lc:\xharbour\lib
VERBOSE=NO
DELTMP=YES

Muito importante: na linha 'CFLAGS=' observar se a flag
'-O2' ("letra 'O' seguido pelo número 2"). Em hipótese alguma deve conter: ("número 'zero' seguido pelo número 2").

O VERBOSE pode ser alterado para "YES" se for desejável criar uma listagem de erro em um arquivo especial, como abaixo:
"HBMAKE MeuExecutavel.bc -f -p > log.txt", onde todos os PRG's são
recompilados e os erros arquivados em "log.txt".

O DELTMP pode ser alterado para "NO" se for desejável que os "*.OBJ" e os "*.C" não sejam deletados logo após a compilação.


Observações finais:
1)-Em 'MeuMake.BC' poderá ser feita a manutenção dos PRG's a serem compilados no item 'PRGFILES', porém, é MUITO IMPORTANTE que a mesma alteração seja feita no item 'OBJFILES'. É preferível refazer com 'HBMAKE MeuMake.BC -ex', tanto para adicionar PRG's quanto para retirá-los da compilação.

2)-É possivel que o compilador informe que não encontra vários arquivos *.h na pasta \xHARBOUR\INCLUDE. Muito possivelmente estes arquivos estão nas pasta \BCC55\INCLUDE. Copiar os mesmos para a pasta \xHARBOUR\INCLUDE.

3)-No TBROWSE o xHarbour ainda não tem implementado o funcionamento correto da função que altera a cor da linha do BROWSE usado no Clipper, como abaixo:
OTB:colorRect({OTB:RowPos,1,OTB:RowPos,OTB:ColCount},{4,5})

Hasse

MensagemEnviado: 13 Jun 2005 11:07
por culik
Hasse

> 3)-No TBROWSE o xHarbour ainda não tem implementado o >funcionamento correto da função que altera a cor da linha do BROWSE >usado no Clipper, como abaixo:
> OTB:colorRect({OTB:RowPos,1,OTB:RowPos,OTB:ColCount},{4,5})

Ja corrigo na xharbour 0.99.50 de www.xharbour.org


[]s
Luiz

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 03 Jul 2008 07:17
por paulobergo
Bom dia!
Excelente artigo...
Quero acrescentar que uso o upx (upx301w) para compactar os executáveis, o que reduz o tamanho da aplicação...
Aliás, com o upx, não só compacto as aplicações "xh"/Clipper... compacto os executáveis e dlls que crio em Delphi... e até hoje só uma aplicação (uma dll de 2.6mb) não funcionou compactada...
Abraços!

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 27 Jul 2008 17:08
por clodoaldomonteiro
Olá amigos!

Uma colocação boa nesse tópico seria mencionar o uso do xDev, que tem edior, compilador, mostra todas as procedures/funções e a IDE é bem amigável.

Quando fui migrar usei ele e vi que ele compilava tudo sem problema nenhum.

Hoje não consigo mais digitar no prompt de comando "rmaker programa.rmk" ou coisa parecida, uso tudo na IDE do xDev.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 11 Fev 2009 15:09
por Netavin
Boa tarde meu amigos !
Esta semana tambem completei com sucesso a transição do meu sistema em Clipper 5.3 para xHarbour 1.0.0.B1.
Tempos atrás eu havia lido alguma instrução de como baixar o xHarbour e fazer a instalação do mesmo. Confesso que achei trabalhoso a maneira como ensinava. Esta semana usei um instalador de outro Fórum que foi mamão com açúcar.
Agora aproveito para solicitar aos companheiros já bem mais experientes em xHarbour, uma dica de qual(is) Lib(s) usar. Pois hoje meu sistema está no puro texto.

Obrigado !

[]´s
Netavin

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 11 Fev 2009 21:41
por Hasse
Caro Netawin.

Não há uma LIB poderosa, milagrosa ou salvadora da pátria.

Você deve explicar o que você necessita, o que você deseja fazer, e certamente, ou haverá um recurso nativo do próprio xHarbour, sem necessidade de qualquer LIB, ou então haverá uma LIB específica para resolver o teu problema.

Já existem algumas centenas de LIB's para o uso no xHarbour, cada qual com as suas características, suas vantagens, e algumas vezes com suas desvantagens.

e a aplicação for muito complexa pode haver necessidade de mais de uma LIB. Cada caso é um caso e como tal deve ser tratado.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 12 Fev 2009 01:01
por Netavin
Salve amigos do Forum !
... bem, para começar: janela 3D, botões, ícones ...

Obrigado !!

[]´s

Netavin

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 12 Fev 2009 01:43
por sygecom
Abra um novo topico com duas duvidas.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 11 Out 2009 00:54
por C Â . R Â
Ola pessoal :{

Como podem ver, sou bem novato aqui no Forum.
Pois agora estou tendo possibilidade de usufrir a internet aqui em casa. (antes discada, sem condições de usar a qualquer hora).
Estou maravilhado com esse forom. Puxa, se tivesse conhecido antes, concerteza não estária tão atrazado.

Bom, eu li agora pouco sobre a permuta entre Clipper para Harbour / xHarbour, confesso que estou perdido, pois ainda uso o Clipper Summer87, e o editor sk.
Gostaria de saber como faço para obter esses tais programas e se o sk ainda é viavél para esses novos programas.
Se o Harbour /xHarbour são plataformas grafica "windows" ou trabalho na base do "DOS"?

Pelo visto, dormi jamis,...rs rs rs

Agradecimentos :D

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 16 Out 2009 16:47
por Itamar M. Lins Jr.
Bom, eu li agora pouco sobre a permuta entre Clipper para Harbour / xHarbour, confesso que estou perdido, pois ainda uso o Clipper Summer87, e o editor sk.
Gostaria de saber como faço para obter esses tais programas e se o sk ainda é viavél para esses novos programas.
Se o Harbour /xHarbour são plataformas grafica "windows" ou trabalho na base do "DOS"?


hummm sk... é o side quick ?
O Harbour é uma linguagem de programação xBase compativel com o Clipper mas possue extensões, tem toda a sintaxe do clipper ou pelo menos perto disso, e avança resolvendo diversos problemas que o clipper não conseguiu resolver. Um exemplo é impressão USB ou rodar em outro sistema operacional como Linux por exemplo sem precisar mudar uma linha de código, bastando apenas recompilar seus fontes. Essas coisas é possivel também de serem feitas com o clipper, mas atravéz de emuladores, etc... e será sempre um programa de 16 bits, enquanto o Harbour é 32 Bits até 64 Bits já roda.
O Harbour possue diversas, Diversas mesmo com D maiusculo, bibliotecas gráficas para todos os gostos, são desenvolvidas independente. Não fazem parte do fonte pricipal do Harbour.
As mais usadas são Minigui, Hwgui não pagas, e a Fivewin que é paga essas são as primeiras, mais existem as GTWVT, GTWVW... Roda tanto no windows com no antigo DOS, para isso é preciso uma cópia velha do Harbour. Pois o DOS não é mais suportado nas versões atuais.

Seja bem vindo.

Saudações,
Itamar M. Lins Jr.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 18 Out 2009 00:07
por C Â . R Â
Ola Itamar M. Lins Jr.

Obrigado por sua respostas.

.... então para que eu possa migrar do clippper para o Harbour tenho que ter os compiladores, libs etc.. nãó é?

Bom, então onde se consegue tais compiladores?
E de posse dos compiladores, será preciso fazer algumas alteraçõs no fontes ?

Quanto sk, sim é o SIDE QUICK.
Esse ainda é viável com o novo compilador (Harbour)?

Vc sabe de alguma literatura sobre o Harbour, para que eu possa me familiarizar? (Conhecer novos command, funções etc...)

abraços

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 18 Out 2009 11:39
por Itamar M. Lins Jr.
.... então para que eu possa migrar do clippper para o Harbour tenho que ter os compiladores, libs etc.. nãó é?
Bom, então onde se consegue tais compiladores?

Olha eu estou usando assim:
http://www.microsoft.com/Express/VC/#webInstall
Neste site eu pego o compilador MSVC 2008 express, ele não é compativel com win98, somente XP ou superior.
Então eu preciso do harbour para MSVC 2008. Certo?
http://sourceforge.net/projects/harbour ... e/download
Porque o harbour foi compilado apartir dos fontes usando esse compilador ok?
Se eu for usar o xHarbour, então irei pegar ele no seguinte endereço:
http://sourceforge.net/projects/xharbou ... p/download
ou o xharbour deste site aqui:
http://be.kz/direct/xHarbour.kr/free/66 ... alC_v9.exe
Se for usar o BCC 5.5.1. (Borland C) que gerar aplicações 32 Bits para Win98/XP voce vai ter que baixar [x]Harbour para este respectivo compilador ok agora?
Os sites oficiais são esses:
O primeiro:
www.harbour-project.org
e o segundo:
www.xharbour.org
Que foi criado apartir de "pontos de vistas técnicos diferentes." lá tem a explicação em inglês.

E de posse dos compiladores, será preciso fazer algumas alteraçõs no fontes ?

Nos fontes clipper sim, colocar no modulo principal:
Function main.

Tem mais coisas, procure na internet e aqui no forum na seção dicas e tutoriais, use o google.
Quanto sk, sim é o SIDE QUICK.
Esse ainda é viável com o novo compilador (Harbour)?

Use o xEdit é gratuito.
http://www.xharbour.com/xhc/index.asp?p ... show_sub=2
Vc sabe de alguma literatura sobre o Harbour, para que eu possa me familiarizar? (Conhecer novos command, funções etc...)

Tem no site do Maligno um Help muito bem feito pela xHarbour.com.
http://pub.buzinello.com/xbase/xharbour ... e_v1.1.zip

Saudações,
Itamar M. Lins Jr.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 19 Out 2009 04:10
por C Â . R Â
Obrigado Itamar M. Lins Jr.

Farei a minha parte...

Tudo de bom :)Pos

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 22 Mar 2010 16:06
por coucello
Pessoal, estamos querendo migrar da versão do xharbour 1.0.0 para uma versão mais recente para verificar se alguns dos problemas que estamos enfrentando hoje já foram resolvidos.
Aí surgiu uma dúvida entre nós: será que é mais vantajoso partir para a versão 1.2.1 do xarhour ou, como tem sido citado no fórum, seria melhor tentar migrar para a versão mais recente do harbour (já que este continua sendo atualizado ao invés do xharbour que parece ter estagnado)?????
Queríamos saber a opinião de vocês com relação a esse processo já que existem algumas funcionalidades que não estão disponíveis no harbour e, principalmente, na possibilidade de estarmos indo numa direção e, no futuro, termos que fazer nova correção de rota...

Coucello

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 22 Mar 2010 21:20
por sygecom
Unica coisa que não tem no Harbour é o SQLRDD, quem está usando ele tem que usar xHarbour e não tem saida, outra vantagem do xHarbour.com é o tal RMDBFCDX que é um DBFCDX muito rápido para rodar em rede, do meu ponto de vista apenas isso, se não depende de um dois dois citado, migre de uma vez para Harbour + MSVC a velocidade é violentamente mais rápida.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 08 Abr 2010 02:58
por clrod
Ao que me parece quem era o responsável por esses RDDs todos abandonou o xHarbour e está só contribuindo no harbour. Na minha opinião o xHarbour está em coma e não tem mais salvação, principalmente porque tem erros estruturais nele, não serão correções de bugs que resolverão seus problemas. Faltou alguém que sabia arquitetar o software como o tem o doidão do Viktor no Harbor. Esse cara é bom!Eu quase entrei nessa de ter mais recursos no xHarbour, mas hoje nem tem muita diferença, acho até que o Harbour já tem mais recursos sem fazer alarde e o que o xHarbour tem a mais não funciona direito.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 09 Abr 2010 00:20
por sygecom
Pois é, cada um deve testar e ver o que é melhor para si, estou usando xHarbour sem problemas por enquanto.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 25 Mai 2010 01:43
por rochinha
Amiguinhos,

E eu ainda uso o .45 Flex, hehehe, dinossáurico, mas faz tanta coisa que cês nem queira m saber...

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 21 Jun 2010 00:09
por djjack
Boa Noite Pessoal,

Tenho um sistema desenvolvido em Clipper 5.2, tal sistema foi gerado pelo GASPRO e não só eu mas muita gente que utiliza essa ferramenta tem interesse em migrar para XHarbour.

Nosso problema: tem uma LIB chamada GASPRO52.LIB que não temos os fontes.

Como proceder nesse caso?

Pesquisando pelo fórum, consegui extrair todos OBJ da LIB com o LIBRA, e minha idéia era compilar cada um deles separadamente e depois descompilar com Valkyrie e obter os fontes. Porém estou tendo problemas em alguns OBJ, não compila, aparecem vários erros e não gera o EXE.

Se alguém puder ajudar, ficaremos muito gratos.

Sérgio.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 21 Jun 2010 14:47
por JoséQuintas
Mudaria o seu tutorial, pra facilitar.

Num primeiro momento, tudo que o xHarbour aceita, o Clipper também.
Isso significa que durante os testes pode usar os mesmos fontes nos dois.
Vai poder alterar seu fonte normal, rodar no clipper, e testar no xHarbour.
Nada melhor pra teste do que ter os mesmos fontes, tendo certeza de que estão corretos.

No Clipper o default é que o nome do programa é o mesmo nome que está no fonte (nome.prg).
Ao compilar com /N, o nome do fonte é desprezado, e vale o que estiver dentro do fonte.
Este é o default do xHarbour.

Então... iniciando...

1. Primeiro verifique o que está usando além do Clipper, pra ver se vai ter tudo na mão.
Pode estar usando LIBs no Clipper sem equivalente em xHarbour, então este vai ser o primeiro ponto a verificar.

2. Pode converter xharbour sem sair do clipper
Basta alterar sua linha de compilação do clipper, acrescentando o /n
E a partir daí, iniciar as modificações.

3. Cada módulo tem que ter seu nome dentro do fonte.
DIGITA.PRG
@ 1, 1 get texto

Isso vai ser alterado para
DIGITA.PRG
Procedure Digita // ou Function Digita()
@ 1, 1 get texto

A única exceção é o programa principal.
Obrigatoriamente, o nome tem que ser MAIN.
PRINCIPAL.PRG
Function Main()

Nessa primeira alteração, se tomar cuidado, pode usar o próprio xharbour pra ajudar, ou se seus fontes tiverem menos de 64kb, o próprio clipper. Assim só precisa mexer a mão o fonte principal. É apenas um esboço, confirme antes de colocar em prática sobrescrevendo os fontes originais.

mDirFiles := Directory("*.prg")
For nCont = 1 To Len(mDirFiles)
mNomePrg := mDirFiles[nCont,1]
mNomeInterno := Substr(mNomePrg,1,At(".",mNomePrg)-1) // primeira parte é o nome
mFontePrg = memoread(mNomePrg)
MemoWrit(mNomePrg,"procedure " + mNomeInterno + Chr(13) + Chr(10) + mFontePrg)
Next

Pronto.
Se usa só clipper padrão, o programa já deverá ser compilado tanto no Clipper quanto no xHarbour.
A partir daqui começarão algumas diferenças, mas mesmo assim ainda será possível usar nos dois.
Uma delas é quanto a nomes abreviados: comece a eliminar as abreviações
Tem também maiúsculas/minúsculas, ou detalhes simples, que algumas linhas no programa principal resolvem.
Nesta parte, acrescente
#ifdef __HARBOUR__
comandos diferentes
#endif
Pronto. Seu fonte continuará sendo o mesmo em Clipper e xharbour, e no programa principal, só essas linhas acima.
Pode escolher pra compilar com Clipper ou xHarbour a qualquer momento, sem mexer em nada.

De um modo geral, isso será suficiente pra ver o funcionamento lado a lado da versão Clipper e xHarbour.
Mas tudo depende do que usa a mais além do Clipper, e também do estilo do seu fonte.
Ainda vai encontrar algumas pequenas diferenças entre Clipper e xHarbour nesta fase.

Como estará usando o mesmo fonte, verá o mesmo resultado.
E vai estar ajustando tudo no ambiente clipper, o que vai tirar dúvidas sobre estar fazendo certo, e até evitar ter duas versões de fonte pra mexer.

Aqui nem uso xHarbour, mas o fonte continua podendo ser compilado nos dois, mesmo após anos de modificações.
É só fazer essas mudanças básicas, e manter o padrão.

Lógico... isso é só pra testar, ou pra uma mudança rápida a qualquer momento, mantendo os fontes sempre atualizados para Clipper/xHarbour.
Se decidir por xHarbour seria só usar, se decidir por não xHarbour, pelo menos organizou seus fontes Clipper e deixou prontos para uma decisão futura.

Sim.. ia esquecendo...
Do mesmo modo que no Clipper configura PATH para EXE, Includes e LIBs, também precisa configurar para o xHarbour e para o compilador C. De um modo geral, o hbmake atende a compilação, desde que estejam configurados esses PATHs.

MensagemEnviado: 24 Ago 2010 11:21
por coucello
Leonardo,
Nós estamos tentando viabilizar uma solução de conversão para Mysql. Pelo que pesquisamos o ideal seria através do SQLRDD. Teria alguma outra possibilidade? Através do xharbour? Ou através do Harbour?
Também tem sido bastante comentado o uso do Postgrees. Qual o melhor PostGrees ou Mysql?

Paulo.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 24 Ago 2010 19:40
por clrod
Olá

Existem diversas soluções para migrar para MySQL e depende de como você quer fazer isso. Existe a biblioteca nativa do MySQL para o Harbour, existe o Mediator, a SQLLib do Vailton, só para citar algumas. Eu não optaria pelo SQLRDD, gambiarra por gambiarra, use uma gratuita. Eu sei que o SQLRDD funciona legalzinho, mas enquanto a migração do modelo DBF não for feita para o modelo SQL, será gambiarra.

O modelo usado para acessar DBF é muito diferente do modelo SQL e essa migração sem troca de modelo só poderá ser feita com uma impedância enorme na utilização dos recursos. Claro que tem que pensar no código legado também. Tem que pesar se compensa ou não portar a aplicação para o modelo SQL de programação.

Mesmo mantendo o modelo de acesso estilo DBF para acessar o MySQL, eu não usaria o SQLRDD principalmente porque ele está atrelado a um produto que caminha a passos largos para ser um novo Clipper, um projeto abandonado. Só não vê isso quem não quer. Nem mesmo todos os bugs verificados estão sendo corrigidos, quanto mais ter funcionalidades. E mesmo as funcionalidades novas do Harbour, em sua maioria, não podem ser portadas para o xHarbour sem grandes modificações por causa do modelo adotado por eles. É apenas a minha opinião de + de 25 anos com xBase, mas se alguém se manter no Clipper ou ir para xHarbour é um dead end. O xHarbour foi feito para ganhar dinheiro e isso não está acontecendo mais, o interesse de seus mantenedores praticamente desapareceu quando o dinheiro parou de entrar. Fora isso o principal e mais competente colaborador abandonou o projeto e passou ser o maior crítico do xHarbour em termos técnicos.

O PostgreSQL é mais robusto, mais dentro dos padrões, mais ACID, mais poderoso em programabilidade de stored procedures, mais "tunável", mais escalável e mais próximo do SQLServer ou Oracle, ou seja, é mais enterprise. Ele é melhor desenvolvido.

O MySQL é flexível e é mais fácil de usar. Usando o MyISAM ele é mais rápido, usando o InnoDB a velocidade não é tão vantajosa mas os recursos e robustez se aproximam mais do PostgreSQL. Já dá para usar o engine de armazenamento MariaDB também que tenta ser a união das melhores capacidades do MyISAM e do InnoDB mas claro que também trás algumas desvantagens de cada um. Os outros engines de armazenamento servem muito bem para situações específicas.

Eu acho que a tendência do povo no médio e longo prazo é migrar não só para o engine de armazenamento MariaDB, mas para o banco de dados MariaDB como um todo. O MariaDB é um fork do MySQL feito pelo "Monty", o criador do MySQL, depois que o MySQL foi vendido para a Sun. Agora na Oracle, tem mais motivos para essa migração. Apesar do MariaDB ser 100% compatível como o MySQL, ele corrige uma série de problemas existentes no MySQL que eram complicadas de serem resolvidas sem um fork. Outro fork do MySQL interessante para o futuro é o Drizzle, mas este não tem nenhum compromisso com o legado.

Essas são as principais diferenças, mas você precisaria analisar detalhadamente cada recurso e ver se encaixa com suas reais necessidades. Mudar de DBF comum indo para MySQL é sair de 2 (com ADS ou LetoDB pode ser 3 ou 4) e ir para 7 ou 8 dependendo do engine utilizado. Migrar para o PostgreSQL é ir para 9. Para quem está acostumado com DBF a transição para MySQL é mais suave. Eu não recomendaria uma migração direta para PostgreSQL para quem não tem muita experiência com banco de dados.

T+

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 09 Set 2010 13:06
por Dozao
Alguem sabe, onde posso encontrar o instalador do Harbour 2.0.0 num formato .zip??

Aqui onde estou nao podemos fazer download de qualquer arquivo .exe... Nao estou conseguindo baixar ele, pra realizar uns testes aqui... se alguem souber e/ou puder me ajudar, ficarei muitooo grato...

Abraço!

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 09 Set 2010 13:49
por clrod

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 09 Set 2010 14:06
por Dozao
Esse .zip ae eu baixei, mas nao sei como utiliza-lo....

Fiz todas as adaptações de ambiente e sempre na hora de fazer qualquer coisa, aparece que os comandos nao sao reconhecidos pelo sistema.... O que eu preciso fazer?

Vou tentar compilar um programa que nao vai nem reza em xharbour em harbour pra ver se tenho algum resultado.... Mas nao estou conseguindo....

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 09 Set 2010 18:38
por Itamar M. Lins Jr.
Ola!
Seu problema é que voce não explica o que está fazendo.
Só reclama, se voce postar passo a passo o que está fazendo, todos aqui lhe ajudaram com mais facilidade.

Qual é o tutorial que está seguindo ?

Saudações,
Itamar M. Lins Jr.

Configuração de ambiente - Harbour

MensagemEnviado: 11 Nov 2010 08:15
por Pablo César
Realmente, ainda não entendo se de fato há tantas versões do Harbour e outras que confundem-se com xHarbour...

Eu preciso estabilizar-me com apenas o HARBOUR, pois com a versão 1.1.0 tenho conseguido bons resultados (ao menos lograr a compilação normal) e gostaria de passar para a versão 2.0, sei que ja tem a 2.1. Eu ja baixei ambas versões e ficam numa pasta hb20 e hb21. Ok até aí tudo bem, mas como configura o seu ambiente ?

No Harbour 1.1.0 eu seguí a instalação de um colega ao qual chama um atalho e este chama uma batch que configura o ambiente. Acho que eu gostaria de continuar assim ou será que eu deveria compilar através do hbIDE ? Aí ja complica um pouco mais, pois terei que configurar o IDE. Mas se eu tiver que usar a batch como o 1.1.0 fazia, será que poderia adaptar para que funcionasse com hb20 ou hb21 ?

O conteúdo da batch do 1.1.0, é:
@echo off
set HB_COMPILER=bcc
set HB_PATH=C:\Harbour
set HB_INSTALL_PREFIX=%HB_PATH%
set HB_EXTERNALLIBS=no
set PATH=C:\Harbour\bcc\bin;%HB_PATH%\bin;%PATH%;
%SystemRoot%\system32\cmd.exe
Convém eu manter várias versões do Harbour ? Desculpem a minha ignorância, nem sempre consigo destinguir entre instruções Harbour ou xHarbour, não sei o que é contrib no [x]Harbour, não sei se é Harbour ou xHarbour... Também tem o Harbour "nightly-src" o quê seria essa versão ? Tem algum lugar que informa as versões e qual é a finalidade das mesmas ?

Será que só eu que faço tanta confusão ? Alguém poderia me esclarecer por gentileza ?
Estou aqui humildemente pedindo um luz, não pensem que estou me fazendo de desentendido, na verdade só leigo e quero aprender.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 14 Nov 2010 11:53
por Itamar M. Lins Jr.
Ola!
Vamos ver se consigo responder e que vocês consigam entender.
No Harbour 1.1.0 eu seguí a instalação de um colega ao qual chama um atalho e este chama uma batch que configura o ambiente. Acho que eu gostaria de continuar assim ou será que eu deveria compilar através do hbIDE ?

Por favor, esqueçam uso de bat com o Harbour 2.1 ou do SVN.
Ele procura no PATH e faz todo o serviço "ATENÇÃO NO PATH".
Vejam o meu PATH como é:
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Dev\Harbour\bin;
C:\Arquivos de programas\TortoiseSVN\bin;c:\mingw\bin;C:\Arquivos de programas\C
VSNT\;C:\Arquivos de programas\smartmontools\bin;;C:\ARQUIV~1\ARQUIV~1\MUVEET~1\
030625


Reparem que só tem a linha: "C:\Dev\Harbour\bin;" que faz referência ao local dos "binários" do Harbour.
E essa que faz referência ao local do MingW: "c:\mingw\bin;" que é o compilador que estou usando no momento.
Não é necessário bat nenhum é coisa do passado.
Minhas variaveis HB_*
C:\>set HB
HB_INSTALL_PREFIX=c:\dev\harbour
HB_WITH_BLAT=C:\blat\blat262\full\source
HB_WITH_QT=C:\Qt\2009.04\qt\include

Só uso o blat para envio de emails, e a QT, por causa da HBIDE para criar a HBIDE apartir dos fontes.
Esse HB_INSTALL_PREFIX, é necessário para criar os binários do Harbour pelo SVN é o local onde ele vai gravar os arquivos.
ATENÇÃO na pasta onde o Harbour gera as LIBS, pois agora dentro da pasta LIB tem outras pastas separadas para cada compilador.
Por exemplo:
\dev\harbour\lib\win\mingw

Quando eu compilo o Harbour do SVN e no momento estou usando o Mingw "NO WINDOWS", ele separa as libs na pasta \lib\win\mingw.
Se eu for usar o BCC 5.XX para gerar os binários então ele irá criar as pastas "NO WINDOWS" \lib\win\bcc.
Mas não é necessário nos preocuparmos com nada disso, usem a HBIDE que faz todo o serviço, é muito simples.

Abrindo a HBIDE em cima no MENU temos: "File Edit View Project Build Setup Help"
Abrindo a opção "Project", temos algumas abas, nelas configuramos tudo!
Imagem
Imagem

Então a HBIDE pelo PATH acha o hbmk2 que faz todo o serviço.
Convém eu manter várias versões do Harbour ?

Não. Use a mais nova. Usando do SVN ou pegando a do site oficial que é liberada uma vez por dia, ela é gerada automaticamente(passível de bugs)
...nem sempre consigo destinguir entre instruções Harbour ou xHarbour,...

No Harbour existe um arquivo de compatibilidades, as principais funções do xHarbour há muito tempo foram incorporadas no Harbour, algumas já existiam só que com nomes diferentes. Então para saber quais são, abrimos o arquivo hbcompat.ch que fica na pasta contrib\xhb.
...não sei o que é contrib no [x]Harbour,...

Contrib é a pasta de contribuições que os dois compiladores possuem, lá tem as libs(Bibliotecas-Funções) para acessar a porta serial, por exemplo, drives(RDD) para acessar alguns bancos de dados, etc..., nem tudo que está na pasta contrib usamos.
...não sei se é Harbour ou xHarbour...

Harbour é o primeiro projeto, é o projeto "Mãe" criado por Antonio Linares, de uma "variação" de ideias originou-se o xHarbour.
O xHarbour logo no início tinha muita atividade, no CVS mas como ele é mantido por uma empresa e muitos programadores contribuindo para poucos ganharem dinheiro deu no que deu, praticamente 3 anos sem nenhuma atividade, apenas correções e algumas cópia de correções do Harbour.
Também tem o Harbour "nightly-src" o quê seria essa versão ?

Essa versão é liberada automaticamente a noite, é uma cópia do SVN. O pessoal que não usa SVN pode baixar ela para testar, correções etc...

Saudações,
Itamar M. Lins Jr.

Re: Migrar para o Harbour / xHarbour

MensagemEnviado: 25 Abr 2011 23:22
por sygecom
Olá Paulo,
coucello escreveu:Leonardo,
Nós estamos tentando viabilizar uma solução de conversão para Mysql. Pelo que pesquisamos o ideal seria através do SQLRDD. Teria alguma outra possibilidade? Através do xharbour? Ou através do Harbour?

Eficiente que nem o SQLRDD apenas o SQLLIB para Mysql.

coucello escreveu:Também tem sido bastante comentado o uso do Postgrees. Qual o melhor PostGrees ou Mysql?

Realmente o Postgresql está sendo bem citado ultimamente. Eu uso Postgresql 8.4.1 e estou muito satisfeito.

Migrar para o Harbour / xHarbour

MensagemEnviado: 02 Set 2012 00:58
por bcm
Estou precisando da libgas.prg alguem poderia enviar para meu email msgoes@gmail.com

Migrar para o Harbour / xHarbour

MensagemEnviado: 11 Set 2012 21:52
por Valnegocios
Ola,

Vendo esses exemplos de como migrar de clipper para xHarbour quero dizer que:

1-Fiz a cópia do xHarbour
2-Fiz a cópia do BCC55

Agora como faço para compilar meu programa todo em xHarbour.

uso o clipper 52e.

Se alguem puder me ajudar eu agradeço.

Obrigado.

Migrar para o Harbour / xHarbour

MensagemEnviado: 11 Set 2012 22:53
por Pablo César
Valnegocios escreveu:Agora como faço para compilar meu programa todo em xHarbour.

uso o clipper 52e.

Se alguem puder me ajudar eu agradeço.
Desculpe, talvez eu venha a parecer muito inconveniente com a minha pergunta a seguir: Por quê razão deseja migrar de Clipper para xHarbour ?

Deseja apenas converter os seus fontes Clipper para 32bits, você aceita fazer em Harbour ? (É o meio que eu tenho para prestar-lhe grande empurrãozinho e você sair compilando). Se assim desejar, tenho para indicar a IDE do HMG em modo console bem rápido e prático. A sua experiência de instalar, configurar, quebrar a cabeça e não chegar a lugar algum (eu passei também, no começo). Leia este tópico se for do seu interesse: http://www.pctoledo.com.br/forum/viewtopic.php?f=45&t=12658&start=0&hilit=.0.035

Migrar para o Harbour / xHarbour

MensagemEnviado: 01 Dez 2012 13:05
por Laudelino Scarmagnani
Olá pessoal.
Estou usando o xHarbour. Mudou algo? É Harbour?
Abraços
Laudelino