Você está na página 1de 6

Compilador Clipper open-source, compile sem problemas os sistemas .PRG no Linux!

Autor: Alessandro de Oliveira Faria (A.K.A. CABELO) <alessandrofaria at netitec.com.br >


Data: 17/05/2005

Introdução

CLIP trata-se de um compilador CLIPPER para Linux desenvolvido pelos Russos. São tantas vantagens que
este compilador nos proporciona, que irei mencionar apenas as principais:

Possui total compatibilidade com o compilador CA-Clipper (incluso a versão 5.3).


Desenvolvimento de sistemas com interface gráfica baseado na biblioteca GTK.
Bibliotecas para acesso a banco de dados cliente-servidor SQL (Firebird-Interbase, MySQL, Oracle e
outros).
Funções Sockets para comunicação TCP/IP.
Suporte a manuseio de imagens e gráficos primitivos.

Planejamento do projeto:

Suporte para plataforma Windows.


Compatibilidade com FiveWin.
Compatibilidade com FoxPro.

Download e extração do pacote

No exemplo abaixo, criaremos uma pasta (clipper), efetuaremos o download do pacote clip no link:

ftp://ftp.linux.ru.net/mirrors/clip/clip-prg-1.1.14-1.tgz

E usaremos o comando tar para extrair os pacotes.

$ mkdir clipper
$ cd clipper
$ wget ftp://ftp.linux.ru.net/mirrors/clip/clip-prg-1.1.14-1.tgz
$ tar -zxvf clip-prg-1.1.14-1.tgz

Assista o vídeo da instalação no link abaixo:

http://cabelo.linuxdicas.com.br/imagens/clipper/download-extract.html
Compilando, criando e instalando o pacote .RPM

Depois de descompactado, vamos compilar o pacote para a sua distribuição. No meu caso compilei e criei o
pacote .rpm utilizando o comando mkrpm.

$ cd clip-prg-1.1.14-1
$ ./mkrpm

Assista o vídeo da compilação no link abaixo:

http://cabelo.linuxdicas.com.br/imagens/clipper/compila-rpm.html

Nesta etapa acabamos de gerar os pacotes .rpm, verifique os arquivos que foram gerados:

$ cd ..
$ cd clip_distrib/1.1.14-1/
$ ls -l
total 1
drwxr-xr-x 2 cabelo users 72 2005-05-06 11:29 deb-i386-glibc2.3
drwxr-xr-x 2 cabelo users 840 2005-05-06 11:52 rpm-i386-glibc2.3

$ cd rpm-i386-glibc2.3/
$ ls -l
total 9115
-rw-r--r-- 1 cabelo users 9104 2005-05-06 11:50 clip-bzip2-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 17127 2005-05-06 11:51 clip-com-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 12479 2005-05-06 11:50 clip-crypto-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 211828 2005-05-06 11:50 clip-cti-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 1403010 2005-05-06 11:52 clip-dev-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 4493593 2005-05-06 11:52 clip-dev-1.1.14-1.src.rpm
-rw-r--r-- 1 cabelo users 501295 2005-05-06 11:51 clip-gtk-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 9063 2005-05-06 11:50 clip-gzip-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 23658 2005-05-06 11:51 clip-interbase-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 1346089 2005-05-06 11:52 clip-lib-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 16285 2005-05-06 11:51 clip-mysql-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 230920 2005-05-06 11:51 clip-oasis-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 729240 2005-05-06 11:52 clip-prg-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 169892 2005-05-06 11:51 clip-r2d2-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 25728 2005-05-06 11:51 clip-rtf-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 83167 2005-05-06 11:51 clip-ui-1.1.14-1.i586.rpm
-rw-r--r-- 1 cabelo users 858 2005-05-06 11:52 Readme

Aconselho instalar os pacotes na seguinte ordem:

clip-lib-1.1.14-1.i586.rpm Biblioteca básica de runtime.


clip-prg-1.1.14-1.i586.rpm Pacote de desenvolvimento (compilador)
clip-dev-1.1.14-1.i586.rpm Utilitários para o desenvolvedor
clip-interbase-1.1.14-1.i586.rpm Biblioteca de acesso ao Banco Interbase e Firebird
clip-gtk-1.1.14-1.i586.rpm Biblioteca GUI GTK

$ su
# rpm -ivh clip-prg-1.1.14-1.i586.rpm
# rpm -ivh clip-dev-1.1.14-1.i586.rpm
# rpm -ivh clip-interbase-1.1.14-1.i586.rpm
# rpm -ivh clip-gtk-1.1.14-1.i586.rpm

Temos que inserir a variável ambiental CLIPROOT, faremos isto no arquivo /etc/profile:

# echo "export CLIPROOT=/usr/local/clip" >> /etc/profile

Nesta fase o seu o compilador CLIP está instalado em seu sistema Linux e pronto para compilar qualquer
sistema Clipper ;-)

Assista o vídeo da instalação no link abaixo:

http://cabelo.linuxdicas.com.br/imagens/clipper/install-rpm.html

Compilando um projeto escrito em Clipper!

O meu sócio/amigo/irmão (Índio - alexandrecastro@netitec.com.br) escreveu um programa para controle de


conta-corrente bancária aproximadamente em 1988-1989. Peguei estes fontes e fui compilá-lo para verificar
a eficiência do compilador. Para minha surpresa funcionou na primeira!

Não vou escrever nenhum guia de referência deste compilador, mas segue abaixo a sintaxe de compilação.

Mais informações em:

http://www.itk.ru/clip-doc.en/index.html

clip -eM (nome-do-arquivo-fonte)

Exemplo:

$ clip -eM main.prg

O comando acima cria um binário cujo nome seria "main".

Vamos baixar o primeiro programa desenvolvido pelo Índio em Clipper, espero que ele não ache ruim o que
estou fazendo ;-)

Efetue o download em:

http://cabelo.linuxdicas.com.br/imagens/clipper/bancario-clip.tar.gz

$ cd ../../../
$ mkdir fontes
$ cd fontes/
$ wget http://cabelo.linuxdicas.com.br/imagens/clipper/bancario-clip.tar.gz
Descompacte os fontes:

$ tar -zxvf bancario-clip.tar.gz


ban_001.prg
calc.prg
funcoes.prg
hp.ch
main.log
main.prg
MANUAL.DOC
menus.ch

Compilando os fontes:

$ clip -eM main.prg funcoes.prg ban_001.prg


warning 1: cannot load charset 'utf-8': No such file or directory
line 61, pos 71, in file 'std53.ch',
included at line 15 in file 'std.ch',
included at line 0 in file 'main.prg'

warning 1: cannot load charset 'utf-8': No such file or directory


line 61, pos 71, in file 'std53.ch',
included at line 15 in file 'std.ch',
included at line 0 in file 'funcoes.prg'

warning 1: cannot load charset 'utf-8': No such file or directory


line 61, pos 71, in file 'std53.ch',
included at line 15 in file 'std.ch',
included at line 0 in file 'ban_001.prg'
warning 2: declaration function with module name 'BAN_001'; force -n flag
line 54, pos 17, in file 'ban_001.prg'

Agora vamos executar e ver o resultado:

$ ls
ban_001.o calc.prg hp.ch main.o menus.ch
ban_001.prg funcoes.o main main.prg
bancario-clip.tar.gz funcoes.prg main.log MANUAL.DOC

$ ./main
Assista o vídeo da compilação no link abaixo:

http://cabelo.linuxdicas.com.br/imagens/clipper/compilando-prg.html

Outras considerações (interface gráfica e acesso ao Firebird)

Não vou comentar todas as vantagens desde compilador para não tornar este texto extenso. Mas para
deixá-los de curiosos, vale à pena compilar os seguintes fontes que são fornecidos como exemplo:

Exemplos gráficos - Biblioteca GTK:

(path-do-download)/clip-prg-1.1.14-1/cliplibs/clip-gtk/example

Exemplos para acesso ao Banco de dados Firebird e Interbase:

(path-do-download)clip-prg-1.1.14-1/cliplibs/clip-interbase

Para testar os exemplos, basta entrar nas respectivas pastas e digitar o comando "make". Pronto!!! Todos os
binários serão gerados sem nenhuma dificuldade.

O exemplo de acesso ao banco Firebird é impressionante, pois com muita facilidade é possível criar
aplicação cliente-servidor no estilo Clipper no modo console ou gráfico.

Use a força, seja livre. USE LINUX!!!


http://www.vivaolinux.com.br/artigo/Compilador-Clipper-opensource-compile-sem-problemas-
os-sistemas-.PRG-no-Linux

Voltar para o site

Você também pode gostar