Contato
     
 
FlagShip -> FAQ

Conversão dos fontes Clipper para FlagShip

Copiar os fontes para o diretório do Linux / Unix (Via FTP)

Deve possuir fontes de todos os programas, pois o FlagShip vai converter em fontes C.

Não pode ser usado um PRG de um sistema DESCOMPILADO com VALKIRIE.

Totalmente compatível com os comandos, sintaxes e funções do Clipper 5.2x, 5.3 desde que não utilize os comandos novos do 5.3.

Comandos DOS devem ser alterados para comandos Linux / Unix.
Ex.: run "copy cliente.dbf c:\copia\cliente.dbf"

Alteração na INICIALIZAÇÃO e FINALIZAÇÃO de IMPRESSÃO

Bugs e funções não documentadas no Clipper não são contemplados
Ex.: INDEX ON DTOS(datacad) to TEMP
DbSeek(date())

No Clipper, o registro é localizado, mas no FlagShip não.

Não existem bibliotecas gráficas no FlagShip ainda (está previsto o lançamento do Visual FlagShip).

Veja o FS-CGI para a criação de interfaces via CGI.

Como FlagShip gera executável em C, é muito importante observar a versão da linguagem C do sistema operacional

- Criar um Makefile, equivalente ao Rmake do Clipper DOS
Veja o tópico abaixo sobre o Makefile

- Verificar a necessidade de inserir no início do programa o #INCLUDE "fspreset.ch"

O Include "fspreset" converte automaticamente a contra barra (\) para barra (/) e converte também os nomes de
arquivos para minúsculo (caixa baixa)

Copia dos arquivos .DBF e .DBT do DOS para Unix/Linux

Copiar todos os arquivos .DBF e .DBTpara o diretório específico do Unix / Linux via FTP.

Veja que o ideal é copiar os arquivos com o nome em minúsculo (caixa baixa). Caso os arquivos no Unix / Linux estejam em maiúsculo, renomeie-os com o comando mv. Exemplo: mv ARQUIVO.DBF arquivo.dbf

Criação de índices com o FlagShip

O índice do arquivo para o FlagShip é um .IDX e é um arquivo "single order" e possui um algorítmo muito mais otimizado que o os índices .NTX do Clipper. Cria-se o índice com o comando index on. Veja no fsman a sintaxe do comando Index. Exemplo: INDEX ON nome TO cliente

Caso queira utilizar o índice compatível a DBFCDX, veja no manual fsman, como usar o codebase nos capítulos GEN: 3 Installaton , REL: New in FlagShip rel. 4.4, LNG: 2.11 Objects and Classes e OBJ: 1. Overview

Criação do Makefile para compilação com FlagShip

O makefile tem o seu formato próprio e não deve conter caracteres estranhos. A melhor forma de verificar é editando com o vi (editor do Unix). Não edite com editores do DOS, pois pode gerar caracteres estranhos ao Linux / Unix e pode gerar erros.

O limite de cada linha no Makefile é de 3000 caracteres, mas pode usar o contra barra (\) para indicar mudança de linhas.

Leia com atenção o capítulo FSC Compiling e Linking e também o FSC:2 Using The Make Utility do fsman

Exemplo:
OBJ=teste.o teste1.o teste2.o

teste: $(OBJ)
<tab>FlagShip $(OBJ) -oteste

teste.o: teste.prg
<tab>FlagShip teste.prg -m -c -q
<tab>rm teste.c

teste1.o: teste1.prg
<tab>FlagShip teste1.prg -m -c -q
<tab>rm teste.c

teste2.o: teste2.prg
<tab>FlagShip teste2.prg -m -c -q
<tab>rm teste.c

Caso utilize o parâmetro /N no Clipper, utilize o parâmetro -na no FlagShip

Se o programa principal inicia com a função ou procedure Main(), coloque o parâmetro -Mmain
Exemplo: FS_FLAGS=-Mmain -oexemplo
Utilize a tecla TAB onde estiver <tab>.

Caso tenha alguma dificuldade em criar um Makefile, copie o scrip do makemake para o diretório /usr/local/bin/ descompacte-o com o comando unzip makemake. Clique aqui para copiar o makemake.

Copie todos os programas .prg que devem ser compilados no seu diretório de trabalho e digite makemake. Este scrpt criará automaticamente o Makefile com todos os programas que foram colocados no diretório. Edite o Makefile e verifique se foi criado conforme o modelo acima. Corrija-o se necessário.

Não crie o Makefile com o usuário root.

Problemas de compilação

Escreva um programa simples, compile e tente executar:

// inicio do programa teste
? "Oi mundo"
inkey(0)
// fim do programa

Grave o programa como oi.prg e compile com a sequinte linha de comando
FlagShip oi.prg. Caso tenha ocorrido algum erro, verifique se os seguintes pacotes estão instalados:

  • Linguagens: cpp , egcs e egcs-c++
  • Bibliotecas: glib-devel, glibc-devel e ncurses-devel
  • Sistema: kernel-headers
  • Ferramentas: make

Para verificar se os pacotes estão instalados, utilize o seguinte comando: rpm -qa |grep -i <nome do pacote>. Exemplo: rpm -qa | grep -i glib

Deverá aparecer na tela, o seguinte:

glibc-2.1.1-6
glib-1.2.1-2
glib-1.2.1-2
glib-devel-1.2.1-2
glib10-1.0.6.5
glib-devel1-2.1.1-6

Veja também Criação do Makefile para compilação com FlagShip.

Problemas com o tbrowse

Em ambiente Linux, deve-se instalar um arquivo relativo ao method:Width da coluna TBrowse().

Clique aqui para fazer o download do arquivo tbmethds.zip que contém o objeto relativo ao method:Width da coluna do tBrowse.

Nota: Este objeto é válido somente para o FlagShip em Linux, para outras versões entrar em contato com o suporte da Inso.

Problemas da falta de includes na compilação

Em ambiente Linux / Unix, para se compilar programas de qualquer linguagem há a necessidade de instalar o kernel-headers.

O comando para verificar se o kernel-headers está instalado:
rpm -q kernel-headers

O comando para instalar:
rpm -ivh kernel-headers

 

  © 2005 - Direitos Reservados
Telefone: (11) 5096-4321
contato@inso.com.br