quinta-feira, 24 de abril de 2008

xHarbour - Como começar



Para começar a trabalhar com o xHarbour primeiramente é necessário obter o programa e como aqueles que já procuraram na internet, verão que há muita informação desencontrada e poucos roteiros que realmente dão resultados.

Então coloco aqui minhas experiências, você pode obter o xharbour de três maneiras distintas:

-------------------------------------------------
1ª - Adquirir o produto em:

http://www.xharbour.com.br/ (Esta é a versão comercial do produto)
-------------------------------------------------
2ª - Baixar os Binários compilados de:


(versão estável compilada para windows)
e as Libs daqui:

Descompacte os binários em C:\ e mantenha a estrutura de pastas do arquivo compactado, as LIBs descompacte em C:\XHARBOUR\LIB.
-------------------------------------------------
3ª - Baixar os fontes do CVS e compilar:
(se escolher esse método, siga o roteiro abaixo)

1 - Obter o TORTOISE
- (é o modo para baixar os fontes do CVS) pegue a versão 1.8.25 do link:
http://www.tortoisecvs.org/download.shtml
nesta página clique na linha onde está grifado como abaixo:

Stable (for deployment) - TortoiseCVS-1.8.25.exe - 5.67 MB - 11th February2006

Você será redirecionado para uma página de mirror.
Escolha um qualquer e clique no link Dowload da coluna Download.
Em seguida instale. (Não mude nada na instalação).
Reinicie o Computador.
-------------------------------------------------
2 - Obter o BISON
- (é o parser (analisador gramatical), usado para construir ocompilador xharbour ) pegue a versão 2.1 - completa menos os fontes, no link:

nesta página clique na linha onde está grifado como abaixo:
Complete package, except sources
Setup 3008634 19 November 2005 17974bac507f85ab4072fb5ce88d640d

Você será redirecionado para uma página de mirror.
Escolha um qualquer e clique no link Dowload da coluna DownloadInstale
(Mude o diretório/pasta de instalação para C:\BISON).
Reinicie ocomputador.
-------------------------------------------------
3 - Obter o BCC55
- (é o compilador de linha de comando Free da Borland para windows)
pegue no link:


Instale-o em C:\BCC55 (mude a pasta durante a instalação)
Vá para a pasta: C:\BCC55\BIN e crie os seguintes arquivos:

BCC32.CFG, ILINK.CFG, ILINK32.CFG contendo:

BCC32.CFG
-Cole as duas linhas abaixo dentro deste arquivo.
-Ic:\xharbour\bcc55\include;c:\xharbour\include
-Lc:\xharbour\bcc55\lib;c:\xharbour\lib

ILINK.CFG
-Cole a linha abaixo dentro deste arquivo.
-Lc:\xharbour\bcc55\lib;c:\harbour\lib

ILINK32.CFG
-Cole a linha abaixo dentro deste arquivo.
-Lc:\xharbour\bcc55\lib;c:\xharbour\lib

-------------------------------------------------
4 - Obter o TASM32
- (Turbo Assembler da Borland) pegue no link:


Descompacte-o na pasta C:\BCC55\BIN

-------------------------------------------------
5 - Obter o UPX
- (é o compactador do executável gerado pelo xHarbour)
- pegue nolink:

nesta página clique na linha onde está grifado como abaixo:

upx125w.zip Win32 console version 154 kB

Descompacte-o na pasta C:\BCC55\BIN

-------------------------------------------------
6 - Obter o DJGPP
- (é um sistema para desenvolvimento 32 bits para DOS)
- "ATENÇÃO "
- Este aqui é para quem precisar gerar executáveis para a plataforma MS-DOS 32bits)
nesta página clique na linha onde está grifado como abaixo:
djdev203.zip 11-Aug-2002 01:20 1.5M
Crie uma pasta: C:\DJGPP e descompacte o arquivo acima dentro dela
(mantenha a estrutura de pastas original)

-------------------------------------------------
Pronto instalou tudo:

Agora baixe os fontes do xharbour pelo CVS.
(Para isso preferencialmente,crie uma pasta no seu HD. Ex: C:\CVS\XHARBOURFONTS).
Abra essa pasta peloWindows Explorer, em seguida clique no menu Arquivo em:

CVS Obter Módulo...
Vai abrir uma nova janela, nesta janela preencha os campos:

CVSROOT::pserver:anonymous@cvs.sourceforge.net:/cvsroot/xharbour
Protocolo: Servidor de senha (:pserver:) -> escolha na lista que já vem pronta
Servidor: cvs.sourceforge.net
Pasta do Repositório: /cvsroot/xharbour
Nome do Usuário: anonymous
Módulo: xharbour

Clique em ok.
Aguarde até que apareça uma mensagem informando que foi finalizado com sucesso

-------------------------------------------------
Se tudo correu bem até aqui você deve agora ter uma pasta \xharbour em:

C:\CVS\XHARBOURFONTS

Copie ou Mova esta pasta para C:\
Se já existir uma pasta com esse nome (C:\xharbour),
renomeie ou delete-a antes.

-------------------------------------------------
Volte ao Internet Explorer e obtenha o arquivo:

BCC640.LNK do link:


Descompacte esse arquivo em C:\xharbour\lib

xHarbour - Como começar - Parte II

Crie um arquivo .BAT com o seguinte conteúdo:

SET PATH=C:\BCC55\BIN;c:\bison\bin;c:\xharbour\bin;%PATH%
SET INCLUDE=c:\Bcc55\include;c:\xHarbour\include;%INCLUDE%
SET LIB=c:\Bcc55\lib;c:\xHarbour\lib;%LIB%
SET HB_LEX=SIMPLEX
SET BISON_SIMPLES=c:\bison\bison.simple
SET CFLAGS= -5 -OS -a8SET HB_PATH=C:\XHARBOURSET

Execute-o
Vá para C:\xharbour e digite:

make_b32 clean
makallbc clean
makallbc

Se chegou até aqui você conseguiu e está com o xharbour devidamente compilado.

Iniciando os trabalhos


Minha primeira referência com o projeto xHarbour na verdade aconteceu num Workshop realizado em São Paulo no hotél transamérica, ao qual fui enviado pela empresa que trabalhava na época. O WorkShop na verdade era sobre o lançamento do CA-VO (Visual Object) o qual se apresentava como o sucessor natural do clipper para ambiente Windows/GUI 32 bits. Este na verdade todos sabemos acabou não vingando, o motivo não importa agora, mas me foi apresentado um painel que indicava um caminho de transição mais ou menos assim: Clipper 5.2 -> Clipper 5.3 -> DBFast (quem se lembra desse ! eu testei !) -> CA-VO -> Projeto Harbour. Como na época eu estava testando o DBFast e o clipper 5.3 adquiridos pela empresa, acabei ignorando o CA-VO. Em seguida minha empresa optou por trabalhar com softwares da plataforma MS, e comprou o VB, e lá fui eu aprender VB, cheguei até a fazer alguns sistemas nessa linguagem.
Mas eu gostava mesmo é do Clipper, na época eu pensava que se havia alguma linguagem que continuaria se sobressaindo era essa (em função do parque de máquinas que havia - muitos 486, monitores Mono, as vezes até sem HD), então uma linguagem for windows nem pensar. E acabei continuando com Clipper, meus sistemas foram ficando cada vez mais complexos e eu tinha um tbrowse muito bem escrito, o que me permitia muito reaproveitamento de código com poucas mudanças e muita funcionalidade, assim eu fui adaptando, mudei o sistema de índices (adotei o SIXNSX), incorporei a Visual 2 Lib, a Vouch lib, OSLib e por ai vai. Assim foram aparecendo Windows 95, 98, 2000, ME e XP e os meus sistemas continuaram rodando. Hoje ainda tenho sistemas rodando em todas essas plataformas. Isso acabou gerando um misto de acomodação com excesso de requisições, que fizeram com que eu fosse levando do jeito que estava, sempre encontrando paliativos, para o que era necessário e deixando de realizar a mudança que agora estou me propondo a fazer.
Com relação ao xharbour, devo dizer por que estou optando por ele. Compatibilidade inicial com os sistemas instalados. É isso, acho que todo desenvolvedor Clipper passa por esta angustia: trocar de linguagem, o que vou enfrentar no ambiente de produção ? vou conseguir sanar os problemas decorrentes de quedas de força, desligamentos indevidos, abortagem do sistema pelos usuários, inadequação da infra-estrutura de hardware dos clientes ?
Por isso buscamos inicialmente manter a compatibilidade, não podemos perder os clientes e assim buscamos a ferramenta que nos proporcione isso. De minha parte, eu tentei com o Clipper 5.3 (achei muito improdutivo o ambiente gráfico), DBFast (idem), MS-VB (tive muitas dificuldades para trabalhar com bases de dados que não fossem do ACCESS), Delphi (esse posso dizer que gosto muito do ambiente de desenvolvimento, mas tem muitas limitações para trabalhar com DBFs, que diga-se podem ser contornadas com o APOLLO, mas mesmo assim encontrei muito pouco auxílio e para falar a verdade eu acho o Pascal muito chato), por fim veio o Harbour/xHarbour. Quando conheci o site do projeto, achei uma maravilha, era a solução para os meus problemas - 100% de compatibilidade com o Clipper e ainda gerava executáveis de 32 bits e fornecia suporte a API do Windows, DLLs, GUIs e no futuro portabilidade para outras plataformas, então estava resolvido, mãos à obra ! Baixei o dito, e tudo o mais que foi indicado e fui compilar e para grande surpresa, nada ! não conseguia nem compilar. Ai cadastra em news aqui, fórum ali, muita informação e pouco resultado. Achei que o produto ainda estava muito imaturo (de fato ainda não havia nem o .COM), por isso fui deixando, somente acompanhando os news, o que fiz até a época da criação do xHarbour comercial, logo depois eles criaram um novo news e eu deixei de ter contato até agora, que fui pesquisar qual era o status atual do projeto e para minha surpresa, verifiquei que o xHarbour realmente está com tudo para se tornar um grande sucesso, capaz de realizar tudo o que havia sido prometido.
Assim explicado o motivo da minha escolha, seguirei reportando aqui o que for aprendido nesse meu caminho de migração, talvez para uma audiência que seja só minha, (espero que outros possam se beneficiar), mas farei do mesmo modo, como uma ferramenta de perseverança no que estou me propondo a fazer.

Objetivo do Blog


A idéia inicial deste blog é criar um ponto de reunião e de troca de experiências para aqueles programadores, que como eu e outros tantos pelo Brasil afora, ainda dependem quase que integralmente de programas escritos em clipper, mas tem intenção de portar seus aplicativos para uma ferramenta de desenvolvimento visual.