xharbor no Conectiva Linux 10

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Gelson
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 16 Abr 2005 17:04

xharbor no Conectiva Linux 10

Mensagem por Gelson »

Olá, pessoal

Postei esta msg em um tópico no CA-clipper em "um grande programador" mas resolvi coloca-la nop lugar certo, que é aqui.

Aproveitando a oprtunidade, eu baixei o xhabour-0.99.4.rpm para usar no meu Conectiva Linux 10 quero muito conhecer esta ferramenta, e estou a procura de algum material didático de como usa-lo no Linux, já andei googleando pela net, mas não achei nada, encontrei material ensinando a usa-lo no Windows, preciso de informações básicas (como executa-lo, como funciona a compilação, como faço p/configurar os parametros files,buffers, set clipper enfim todos aqueles que são configurados no windows), ou seja coisas básicas mesma.

Se algum dos colegas puder me dar umas dicas, ou indicar um link na net.
fico grato por qualquer ajuda.

obrigado.
Gelson
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 16 Abr 2005 17:04

Mensagem por Gelson »

Pessoal

Só quero acrescentar que já vi o post do Hasse em https://pctoledo.org/forum/viewtopic.php?t=2014.
Sem duvida uma ótima fonte de referencia, vai me ajudar muito, mas ainda tenho dúvidas.

1- Quando eu instalar o rpm que peguei na net, o BRMAKE será instalado junto ou tenho que pega-lo na net ?
No tópico dele todos aqueles procedimento podem ser aplicados em plataforma linux ? ou só windows ?
Gelson
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 16 Abr 2005 17:04

Mensagem por Gelson »

Olá, pessoal

Ando googleando pela net procurando as seguintes bibliotecas para instalar o xhabour no meu CL10, mas não achei ainda.

lib-xharbour.so
libxharbour 0.99.4

Se alguém aqui tiver os rpms e puder me mandar por e-mail ( gelson@progressnet.com.br) ou puder me indicar um link na net, ficarei muito grato.
culik

xharbour conectiva 10

Mensagem por culik »

Gerson

vc instalou o xharbour incompleto
todos os pacotes abaixo devem ser instalados

xharbour-0.99.xx-0cl10.i386.rpm
xharbour-contrib-0.99.xx-0cl10.i386.rpm
xharbour-lib-0.99.xx-0cl10.i386.rpm
xharbour-pp-0.99.xx-0cl10.i386.rpm
xharbour-static-0.99.xx-0cl10.i386.rpm

onde xx e a versao(a proxima sera 0.99.50 que estara disponivilizada em www.xharbour.org


quando instala o xharbour no linux., o hbmake que e a ferramenta oficial de build e instalada automaticamente

para criar um makefile file use no diretorio dos seus fontes
hbmake seu.bc -ex
para compilar uma app de um makefile ja anteriormente criado com o hbmake use
hbmake seu.bc

[]s
Luiz
Gelson
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 16 Abr 2005 17:04

Mensagem por Gelson »

Obrigado pela dica Luiz,
Acabei de abaixar e logo mais a noite vou instalar e testar com meus fontes, já converti meus fontes dos usando o dos2unix, não se era preciso mas por segurança já converti.

um abraço e muito obrigado
Gelson
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 16 Abr 2005 17:04

Mensagem por Gelson »

Olá, a todos

Dúvidas :

1- Copiei de converti todos meus prg usando o dos2unix, preciso copiar também os OBJs ? Pois apareceu uns erro mencionando-os

2- Coloquei Function main() e Return Nill no meu fonte princial ? é necessário isto ou deve-se usar apenas na versão do xharbour para plataforma Windows ?

3- No meus fontes, não troquei Do MeuPRG por Do MeuPrg(), esta mudança também se aplica a versão do xharbour para Linux ?

4- Tentei gerar um executável usando hbmake ccop.bc –ex deixei as telas do Enviroment option tudo como me foi apresentado, dei F5 para selecionar todos os prgs.

5- Foi gerado um arquivo ccop.bc, porém quando uso ./ccop.bc para executá-lo não funciona.

Este realmente é meu executável ?

Usei > para gerar um arquivo com os erros, mas são tantos não vou coloca-los aqui agora, vou aguardar para ver se os itens acima tem alguma coisa a ver.

obrigado.
culik

xharbour conectiva 10

Mensagem por culik »

Gelson escreveu:Olá, a todos

Dúvidas :

>1- Copiei de converti todos meus prg usando o dos2unix, preciso >copiar também os OBJs ? Pois apareceu uns erro mencionando-os
Sim todos os .prg vindos do windows devem passar pelo dos2unix no linux

>2- Coloquei Function main() e Return Nill no meu fonte princial ? >é necessário isto ou deve-se usar apenas na versão do xharbour para >plataforma Windows ?
nao e necessario, e Obrigatorio

>3- No meus fontes, não troquei Do MeuPRG por Do MeuPrg(), >esta mudança também se aplica a versão do xharbour para Linux ?
se aplica a todas as versoes, seja linux/windows/freebsd/hpux
todos os do xxxx devem ser transformados em xxxx()


>4- Tentei gerar um executável usando hbmake ccop.bc –ex >deixei as telas do Enviroment option tudo como me foi apresentado, dei >F5 para selecionar todos os prgs.
essa e apenas a primeira parte

>5- Foi gerado um arquivo ccop.bc, porém quando uso ./ccop.bc >para executá-lo não funciona.
isso nao e o executavel
vc nao compilou a app ainda
para compilar a app, ja que gerou o .bc usando o hbmake use
hbmake ccop.bc [-f] para compilar onde -f e opcional e informa que deve recompilar tudo


[]s
Luiz
Gelson
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 16 Abr 2005 17:04

Mensagem por Gelson »

Olá, pessoal
Troquei meusprg por meusprg(), só que quando compilei deu erro em todas as linhas que mudei.
Ex.:
do case
* inclusão
case resp$ 'Aa'
do ccop02() // depois que tirei () do meu primeiro prg, pelo meus a compilação não acusou erro nas linhas onde havia do ccop02,etc

Se eu mandar compilar apenas o segundo fonte está dando " stament not alowed outside of procedure or function " isto da primeira linha até a ultima do ccop02 que é meu segundo arquivo fonte. Qualquer outro que eu pegar dá a mesma msg.

Tentei compilar outros fontes e reparei que o sistema sempre me informa que não consegui abrir o prg que esta vinculado ao fonte compilado.
Ex.: mandei compilar o ccop03 que no fonte faz uso do ccop04,ccop05.
no final as informações após a compilação aparece : cannot open ccop04,
cannot open ccop05
Gelson
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 16 Abr 2005 17:04

Mensagem por Gelson »

Olá a todos...

Fiz um outro teste,
criando um prg para criar uma caixa com alguns prompts
reparei mas msg abaixo:

In file included from /usr/include/xharbour/hbvmpub.h:60,
from /usr/include/xharbour/hbpi.h:61,
from /root/tmp/hb-build-root-2302.c:1:
/usr/include/xharbour/hbdefs.h:57:19 stdio.h: Arquivo ou diretório não encontrado
stdlib.h: Arquivo ou diretório não encontrado
string.h:Arquivo ou diretório não encontrado

Procurei por estes arquivos e realmente não estão no diretório xharbour
Dei um rpm -qi e todos os 5 pacotes do xharbour foram instalados.
Que arquivos são estes ? na compilação dos meus fontes ( post anterior ) esta informação também aparece.
culik

Mensagem por culik »

Gerson

Fiz um outro teste,
criando um prg para criar uma caixa com alguns prompts
reparei mas msg abaixo:

In file included from /usr/include/xharbour/hbvmpub.h:60,
from /usr/include/xharbour/hbpi.h:61,
from /root/tmp/hb-build-root-2302.c:1:
/usr/include/xharbour/hbdefs.h:57:19 stdio.h: Arquivo ou diretório não encontrado

vc nao tem os pacotes de devel do linux instalado na sua maquina

use o seguinte comando para instalar

apt-get update
apt-get install task-c-devel task-c++-devel xfree86-devel-static gpm-devel glibc-devel-static

[]s
Luiz
culik

Mensagem por culik »

Gelson
> do case
>* inclusão
> case resp$ 'Aa'
> do ccop02() // depois que tirei () do meu primeiro prg, pelo meus a >compilação não acusou erro nas linhas onde havia do >ccop02,etc
Todos os do xxxxx devem ser transformados em xxxx()
nao e recomendado usar set procedure
todos os .prg da sua app devem ser refereciados no hbmake

>Se eu mandar compilar apenas o segundo fonte está dando " stament >not alowed outside of procedure or function " isto da primeira linha até a >ultima do ccop02 que é meu segundo arquivo fonte. Qualquer outro que >eu pegar dá a mesma msg.
Correto a mensagem
isso de deve a falta de uma function xxxxx onde xxxxx pode ser o nome do .prg como a primeira linha do seu .prg


[]s
Luiz
Gelson
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 16 Abr 2005 17:04

Mensagem por Gelson »

Olá,

Instalei os pacotes e compilação do meu teste passou beleza, gerou um executável de 640kb, grande a bessa para uma telinha de nada (os executáveis no xharbour são grandes mesmo ? ) Ah, só não executou, tentei ./teste no xterm nas não rodou, tentei como root mesmo
// teste.prg //

function Main()
setcolor("GR+/B")
@23,15 clear to 23,68
@02,01 prompt "Incluir"
@02,10 prompt "Excluir"
@02,19 prompt "Consultar"
@02,31 prompt ":::FIM:::"
return nill

.

Coloquei novamente o " function Manin() no prg principal e voltei () onde havia do case
porém o erro de syntax voltou aparecer.Veja só. {ccop01.prg(44) error E0030 Syntax error: " Syntax error at '( ' " } nesta linha do prg só tem :


* inclusâo
case resp $'Aa'
do ccop02

meu fonte principal ficou assim:

Código: Selecionar todos

FUNCTION MAIN()
CLEAR ALL
SETCOLOR("W+/C")
SET DELETE ON
SET TALK OFF
SET BELL OFF
SET DATE BRITISH
SET EPOCH TO 1990
DO WHILE .T.
   RESP = ' '
   CLEAR
   @1,2 TO 19,79 DOUBLE
   @21,10 SAY 'VERSAO ANO 2005'
   @1,9 SAY ' CONTAS -  MENU PRINCIPAL'
   @3,10 SAY 'A. INCLUSAO '
   @4,10 SAY 'B. EXCLUSAO '
   @5,10 SAY 'C. ALTERACAO '
   @6,10 SAY 'D. CONSULTA'
   @7,10 SAY 'E. RELATORIOS'
   @8,10 SAY 'F. COPIA DE SEGURANCA'
   @9,10 SAY 'G. RESTAURAR ARQUIVOS'
   @10,10 SAY 'H. VENDAS A PRAZO POR PERIODO' 
   @12,10 SAY 'T. TERMINAR'
   @14,10 SAY 'RESPOSTA'   
   @16,10 SAY DATE()  
    DO WHILE RESP = ' '
         @14,19 GET RESP
         READ
         IF UPPER (RESP) $ 'ABCDEFGHT'
            EXIT
         ENDIF
         RESP = ' '
    ENDDO
    
  
  DO CASE
*    INCLUSAO 
     CASE RESP $ 'Aa'
          DO CCOP02()

*    EXCLUSAO 
     CASE RESP $ 'Bb'
          DO CCOP03()

*    ALTERACAO  
     CASE RESP $ 'Cc'
          DO CCOP04()

*    CONSULTA              
     CASE RESP $ 'Dd'
          DO CCOP05()

*    RELATORIOS                       
     CASE RESP $ 'Ee'
          DO CCOP06()
     
*    COPIA DE SEGURANCA
     CASE RESP $ 'Ff'
          DO CCOP07()

*    RESTAURAR ARQUIVOS
     CASE RESP $ 'Gf'
          DO CCOP08()
 
*    VENDAS A PRAZO POR PERIODO
     CASE RESP $ 'Hh'
          DO CCOP33()

     CASE RESP $ 'Tt'

         SET TALK ON
         SET BELL ON
         CLEAR ALL
         CLEAR
         EXIT
    ENDCASE
 

    CLEAR ALL
ENDDO
RETURN NILL

Seria isto mesmo ?
No xharbou os executáveis podem ser executados no KDE (usando-se atalhos com no windows ?
No windwos usandos o config.sys e o autoexec.bat para configurar os parametros files, buffes, etc.. no Xharbour como fica isto ?
culik

xharbour conectiva 10

Mensagem por culik »

Gelson

Olhe a alteracao do seu codigo abaixo

acho que vc nao leu nas mensagem anteriores que todos os
do algumacoisa devem ser substituidos por
algumacoisa()

Código: Selecionar todos

FUNCTION MAIN()
CLEAR ALL
SETCOLOR("W+/C")
SET DELETE ON
SET TALK OFF
SET BELL OFF
SET DATE BRITISH
SET EPOCH TO 1990
DO WHILE .T.
   RESP = ' '
   CLEAR
   @1,2 TO 19,79 DOUBLE
   @21,10 SAY 'VERSAO ANO 2005'
   @1,9 SAY ' CONTAS -  MENU PRINCIPAL'
   @3,10 SAY 'A. INCLUSAO '
   @4,10 SAY 'B. EXCLUSAO '
   @5,10 SAY 'C. ALTERACAO '
   @6,10 SAY 'D. CONSULTA'
   @7,10 SAY 'E. RELATORIOS'
   @8,10 SAY 'F. COPIA DE SEGURANCA'
   @9,10 SAY 'G. RESTAURAR ARQUIVOS'
   @10,10 SAY 'H. VENDAS A PRAZO POR PERIODO' 
   @12,10 SAY 'T. TERMINAR'
   @14,10 SAY 'RESPOSTA'   
   @16,10 SAY DATE()  
    DO WHILE RESP = ' '
         @14,19 GET RESP
         READ
         IF UPPER (RESP) $ 'ABCDEFGHT'
            EXIT
         ENDIF
         RESP = ' '
    ENDDO
    
  
  DO CASE
*    INCLUSAO 
     CASE RESP $ 'Aa'
         CCOP02()

*    EXCLUSAO 
     CASE RESP $ 'Bb'
         CCOP03()

*    ALTERACAO  
     CASE RESP $ 'Cc'
         CCOP04()

*    CONSULTA              
     CASE RESP $ 'Dd'
         CCOP05()

*    RELATORIOS                       
     CASE RESP $ 'Ee'
         CCOP06()
     
*    COPIA DE SEGURANCA
     CASE RESP $ 'Ff'
         CCOP07()

*    RESTAURAR ARQUIVOS
     CASE RESP $ 'Gf'
          CCOP08()
 
*    VENDAS A PRAZO POR PERIODO
     CASE RESP $ 'Hh'
          CCOP33()

     CASE RESP $ 'Tt'

         SET TALK ON
         SET BELL ON
         CLEAR ALL
         CLEAR
         EXIT
    ENDCASE
 

    CLEAR ALL
ENDDO
RETURN NILL

>Seria isto mesmo ?
O codigo acima agora esta certo
>No xharbou os executáveis podem ser executados no KDE (usando-se >atalhos com no windows ?
Sim
>No windwos usandos o config.sys e o autoexec.bat para configurar os >parametros files, buffes, etc.. no Xharbour como fica isto ?[/quote]
Nao tem limites no xharbour
vc pode abrir quantos arquivos quiser

[]s
Luiz
Responder