Este HowTo originalmente pode ser encontrado em
http://www.thexbasefiles.com/br/dl_fs.htm e foi uma
colaboração de José Maria Wunsch. Abaixo segue
o howto integralmente sem nenhuma modificação do
original.
Atenção: Lembramos que este tópico
está fora do escopo de atendimento do suporte Técnico
Conectiva Linux, e que a utilização dos procedimentos
citados abaixo é de própria conta e risco de cada
um.
HOWTO FLAGSHIP EM PORTUGUÊS Revisão 1.7 -
17/06/1999
O objetivo deste "HOWTO" é auxiliar os amigos que
estão iniciando (como eu) a estudar/migrar programas
Clipper(DOS) para FlagShip(LINUX / UNIX). Todos as dicas e exemplos
deste documento estão sendo criados através do
FlagShip Personal 4.48 (free) em um [1]Conectiva Linux Guarani 3.0
. Este documento pode ser copiado e distribuído livremente.
Correções, adições e comentários
podem ser enviados para o e-mail <wunsch@hotmail.com>
José Maria Wunsch Guarapuava PR
01) O QUE É O FLAGSHIP ?
É uma linguagem de programação 4GL com
compilador/tradutor de código de linguagens xBase para
linguagem C no ambiente UNIX ( roda em mais de 50 tipos de UNIX
inclusive o LINUX) gerando executáveis nativos.
A linguagem FlagShip é baseada no padrão do Xbase
com todo a extensões do CA-CLIPPER. Todos os programas
escritos em Clipper"87 ou 5.x e outros dialetos do Xbase podem ser
compilados pelo FlagShip com mínimas
adaptações. Graças a compatibilidade com o
CA-CLIPPER é a melhor ferramenta para transportar
aplicações do DOS para UNIX (e brevemente para 32Bit
PC baseado em Windows.)
FlagShip é projetado principalmente por desenvolvedores
de software profissionais. Mas por causa de sua interface simples,
pode ser usado perfeitamente por semi-profissionais e
usuários de computador avançados que necessitam criar
aplicações de banco de dados com mínimo
esforço de programação.
Está sendo desenvolvido (desde 1990) por uma empresa de
Munique (Alemanha) chamada MULTISOFT. Mais de 2.000 cópias
(1995) instaladas na Europa. Foi introduzido nos Estados Unidos em
1994 pela ([3]WorkGroup) e no Brasil em 1999 pela [4]Inso
Informática. Todas as vantagens de UNIX agora estão
disponíveis para os desenvolvedores Clipper:
multiusuário / multitarefa, nenhumas
limitações de RAM, acesso a rede, altos níveis
de segurança, e muito mais... As aplicações
podem ser distribuídas e copiadas sem royalty ou taxas.
O FlagShip trás produtividade obtidas pelas linguagens
Clipper/ xBase para o poderoso UNIX.
02) O QUE CONTÉM O FLAGSHIP ?
O FlagShip contém:
* Uma linguagem de programação flexível e poderosa, compatível com
Clipper e dBASE. Seus comandos e funções são principalmente
compatível ao Clipper 5.x / Summer"87 e compatibilidade com
FoxBase/FoxPro através de um pacote adicional.
* Um Preprocessador. O preprocessador usa o arquivo padrão "
#include std.fh" por default (usualmente armazenado em
/usr/include).
* Um compilador/tradutor que traduz dados preprocessados em fontes
na linguagem C. E então invoca o compilador/linkeditor do UNIX
gerando executáveis em código nativo.
* As bibliotecas que acompanham o FlagShip possui:
- Todos módulos necessários para suportar a linguagem, variável
dinâmica,
declarações e comandos.
- Todas as funções padronizadas ligadas automaticamente quando
necessárias
- Um "runtime system" para suportar o macros executados em
run-time.
- O banco de dados e índices.
- O sistema de input/output.
- As classes de objeto.
- Um debugger.
* Ferramentas para copiar/tratar de arquivos do MS-DOS para o UNIX.
|
03) QUAIS AS VANTAGENS DO FLAGSHIP ?
* Total compatibilidade com a linguagem CA-CLIPPER (mais de 1000
comandos e funções).
* Total compatibilidade com base dados DBF/DBT do CA-CLIPPER.
* Muitas funções adicionais para aproveitar todo o potencial do
UNIX.
* Sistemas multiusuários, multitarefas e multiprocessamento.
* Acesso a grandes arquivos de dados ( DBFs até 4 Gigabytes).
* Sem limitações de memória RAM.
* Manutenção centralizada.
* Produz executáveis nativos.
* Capacidade de bloquear automaticamente arquivos e registros
(Similar ao FoxPro).
* Capacidade de bloquear múltiplos registros por arquivo.
* Mais de 160 novas funções/comandos em relação ao Clipper.
* Roda em uma plataforma mais estável, o UNIX.
* Não requer conhecimentos adicionais: Sendo compatível como o
Clipper você não precisa aprender uma nova linguagem, evitando
novos investimentos em estudos e treinamentos.
* Segurança dos dados: O UNIX traz um completo mecanismo de
segurança
* Roda mais rápido, pois o programa é integralmente convertido para
linguagem C. Você não precisa conhecer nada da linguagem C.
* Roda mais rápido em redes. Todos os arquivos são executados na
memória do servidor. O trafego de dados pela rede é muito pouco
(respostas de vídeo e entrada de teclado), com isto é possível
rodar um programa em uma rede LAN ou WAN sem problemas.
* Pode ser criados aplicativos CGI para WEB.
* Facilmente você pode migrar todos os seus programas feitos em
clipper, recuperando todo o seu investimento, além de migrar
facilmente os seus sistemas para o Linux (o melhor sistema
operacional da atualidade)
* Pouco investimento novo em hardware. Terminais 386/sx processam
informações iguais a um Pentium 550, você precisa somente ter um
servidor linux bem configurado.
* Você não precisa se preocupar os CONFIG.SYS e AUTOEXEC.BAT
(lembra-se do SET CLIPPER=F100, FILES ??).
* Maior integridade dos dados.
* Tem acesso direto a linguagem C. Fontes e bibliotecas em C podem
ser adicionadas diretamente a sistemas FlagShip.
* Capacidade de acessar bancos de dados relacionais através de API"s
ou RDD"s.
* Capacidade de acessar arquivos do COBOL através do RDD Cobol.
|
04) QUAIS AS DESVANTAGENS DO FLAGSHIP ?
* Respostas de vídeo/teclado mais lentas em relação ao Clipper.
* Poucas bibliotecas de terceiros disponíveis até o momento.
* Ainda não possui um ambiente de desenvolvimento visual (gráfico).
* Falta de manuais e livros em Português (Mas você pode usar como
referência qualquer livro existente para CA-CLIPPER).
|
05) ALGUNS MOTIVOS PARA VOCÊ ADOTAR O FLAGSHIP
* Recuperar todo o seu investimento feito no Clipper, programas,
recursos humanos, etc.
* Rodar os seus programa no LINUX ( o melhor sistema operacional da
atualidade).
* Rodar os seu programas em máquinas mais potentes como workstation,
superservers e mainframes.
* Rodar os seus programas mais rápidos e seguros.
* Rodar o seu programa remotamente em LANS, WANS , MODEM, INTERNET,
podendo interligar várias empresas (filiais) a um baixo custo.
* Rodar o seu programa sem limites de memória RAM e com grande
capacidade de armazenamento.
* Para poder continuar evoluindo com o padrão Clipper, sem precisar
migrar para outras linguagem diferentes como Basic(VB) ou
Pascal(Delphi).
* Grandes oportunidades para vender aplicações, ferramentas,
bibliotecas e utilitários.
* Porque você não esta apenas interessado em um sistema com uma
aparência bonita "janela".
* Maturidade é a chave do sucesso, o Unix (1960) e o Clipper (1985)
já provaram isto.
|
06) EM QUE SISTEMAS OPERACIONAIS O FLAGSHIP RODA ?
Todos os maiores UNIX, tais como : Linux, SCO, IBM, SUN, ATT,
HP, DEC, Sequent, Bull, Fujitsu, Data General, Motorola, Unisys,
NCR, UnixWare, Silicon Graphics, Siemens e muitos outros (mais de
50 ao todo).
07) EM QUE SISTEMAS OPERACIONAIS O FLAGSHIP AINDA NÃO
RODA ?
DOS/Windows 95/98/NT, NetBSD, FreeBSD, BSDI, QNX e algumas
variações destes. A versão Windows NT
estará disponível em breve.
08) EM QUE HARDWARE O FLAGSHIP RODA ?
Máquinas x86 (486,Pentium), Workstation, Mainframes e
Superservers.
09) QUAL A VERSÃO ATUAL DO FLAGSHIP ?
A versão atual do FlagShip é a 4.4.
10) ALGUMAS CARACTERÍSTICAS DA LINGUAGENS (VERSÃO
4.4):
* Nr.de
procedures/UDF"s..................................................
..: Ilimitado
* Tamanho máximo de arquivos
DBF"s..................................: 4 Gigabytes
* Tamanho máximo de
executáveis.........................................: 4 Gigabytes
* Áreas de trabalho abertas
simultaneamente..........................: 65534
* Arquivos abertos
simultaneamente.......................................: Ilimitado
* Nr de variáveis de
memória.................................................:
Ilimitado
* Nr de registros por banco de dados
(dbf)............................: 4 bilhões
* Nr. de campos por
registro..................................................: 65.000
|
11) QUAIS AS NOVIDADES PARA O FUTURO ?
* Novos RDDs (Oracle, Informix, Sybase,Microsoft SQL Server, etc).
* Total compatibilidade com FoxPro e VO..
* Visual FlagShip - desenvolvimento Gráfico (X-Windows e Windows).
Deverá ser disponibilizado no segundo semestre de 1999.
* Novas bibliotecas de terceiros (3RD).
* Versão para Windows NT.
* Suporte a índices como NTX e CDX.
|
12) O FLAGSHIP É MAIS RÁPIDO QUE O CLIPPER ?
Uma aplicação em FlagShip é de 2 a 100
vezes mais rápido do que o Clipper. É importante ter
um servidor bem configurado (memória, hd,etc.) para se ter
um desempenho melhor.
13) QUAIS AS LICENÇAS DO FLAGSHIP ?
DEMO (para 4 usuários) A versão DEMO é
igual a PRO, porém com vários limites, o melhor para
se conhecer e testar é usar a versão PERSONAL. A
versão demo pode ser encontrado no CD do Conectiva Linux
Guarani (para linux) ou pode ser carregado (download) na
página da Multisoft http://www.fship.com - Roda apenas por 30 dias (mais
pode ser reinstalado). - Executáveis rodam por apenas 1
hora. - Grava apenas 100 registros.
PERSONAL (para 2 usuários) A versão personal
é a ideal para se conhecer e testar o FlagShip. Pode ser
encontrada em versão comercial ou grátis (free) para
a comunidade Linux. A versão Grátis (free) para linux
ser carregado (download) diretamente da Multisoft
http://www.fship.com/free.html ou ainda em algumas
distribuições, como no Conectiva Linux Guarani. A
versão Free é para uso pessoal ou para
desenvolvimento de aplicações de banco de dados
grátis (domínio público, código aberto
ou licença GPL).
PRO (sem limites) É a versão comercial do
FlagShip. No Brasil pode ser adquirida na Inso Informática
-SP no seguinte endereço: Inso Informática S/C Ltda.
R. Dr. Alceu de Campos Rodrigues, 229 tel:. (011)-820-0962 http://www.inso.com.br
<inso@dialdata.com.br>
--------------- geral <jhsomers@somers.com.br>
---- suporte técnico
14) COMPATIBILIDADE DO KERNEL E COMPILADOR C PARA LINUX
Ao resolver instalar o FlagShip no Linux você precisa
escolher uma versão compatível com o Kernel e
ferramentas (compiladores,bibliotecas,utilitários).
Atualmente existem 4 versão do FlagShip para Linux. Escolha
corretamente, caso contrário o seu executável
não compilará ou rodará corretamente, veja as
opções disponíveis para o Linux :
* FlagShip for Linux ELF and Glibc-2.
È usado com /lib/libc.so.6 e /lib/libc-2.1.1. e versões
superiores. Esta versão requer compilador C egcs (1.1 / 2.91 ou
superior). À instalação usa rpm 3.0.6 ou superior , ou no modo
*.tgz. As distribuições típicas são RedHat 6.x, SuSE 7.x, Caldera
2.x etc.
* FlagShip for Linux ELF and Glibc
É usado com /lib/libc.so.6 e /lib/libc-2.0.x.so ou anterior.
Esta versão requer compilador C gcc 2.7 ou 2.8. À instalação do
usa rpm 2.5.5 ou superior, ou no modo *.tgz. As distribuições
típicas são RedHat 5.x, SuSE 6.x, Debian 2.x etc.
* FlagShip for Linux ELF and Libc
Esta versão requer compilador C gcc 2.7 ou 2.8. À instalação usa
rpm 2.4.12 ou superior, ou no modo *.tgz arquiva. As distribuições
típicas são RedHat 4.x, SuSE 5.x, Debian 1.x, Caldera OpenLinux
1.x, SlackWare Linux etc.
* FlagShip for Linux aout
Disponível apenas para bibliotecas estáticas. Esta versão requer
compilador gcc 2.5. As distribuições típicas são mais velhas (pre
Oct-1995) RedHat, SuSE etc.
|
Para verificar quais versões você possui use: ls -l /lib/libc* cc
-v
Se estiver instalando através de uma
distribuição não precisa se preocupar pois
já colocaram a versão correta.
15) QUAL O ESPAÇO REQUERIDO PARA INSTALAR O FLAGSHIP
?
Aproximadamente 25 Mbytes de espaço em máquinas
com pelo menos 8 Mbytes de RAM .
16) COMO CONSEGUIR O "SERIAL NUMBER / ACTIVATION KEY" PARA
INSTALAR O FLAGSHIP PERSONAL (FREE) PARA LINUX
Para instalar a versão Personal Grátis (linux)
você precisará do "Serial Number / Activation Key".
Estes dados são enviados gratuitamente (via e-mail)
após o preenchimento de um formulário na home page do
FlagShip (Multisoft), o endereço é:
http://www.fship.com/free.html
17) COMO INSTALAR O FLAGSHIP PERSONAL (FREE) EM UM SERVIDOR COM
O CONECTIVA LINUX GUARANI ?
* Você precisa instalar as ferramentas de programação em linguagem C
do Linux antes do FlagShip (caso não tenha selecionado durante
instalação), verifique/instale os seguintes RPM"s "rpm -qa | less"
:
- gcc-2*rpm
- libc-*rpm,
- libc-include*rpm,
- libc-static-*rpm,
- libc-devel-*rpm,
- binutils-*rpm,
- *kernel-source-*rpm
* Entre no linux com o usuário ROOT.
* Monte o cd nr 2 do Conectiva Linux Guarani
mount /mnt/cdrom
* Vá para o diretório da Multisoft
cd /mnt/cdrom/Multisoft
Instale o RPM do FlagShip personal
rpm -i FlagShip-4.48-6448.i386.rpm (ou a versão que tiver no
CD)
Instale o FlagShip
/usr/bin/FSinstall
E informe o seu SERIAL NUMBER e ACTIVATION KEY
Pronto.. já está instalado, crie um teste.prg e compile assim:
FlagShip teste.prg -oteste
runfscons ./teste
|
Os arquivos do FlagShip são instalados em vários diretórios públicos
:
Executáveis e scripts............................: /usr/bin/*
Bibliotecas...........................................: /usr/lib/*
Arquivos header..................................: /usr/include/*
Arquivos de fontes e documentos........: /usr/FSsrc/*
Manual on-line.....................................:
/usr/FSsrc/manual/*
Parâmetros do compilador...................: /etc/FSconfig
|
18) COMO COPIAR UM SISTEMA DO "DOS" (CLIPPER) PARA O LINUX
(FLAGSHIP)?
Para copiar um sistema já existente em clipper no
dos/windows para linux utilize um programa FTP, uma
opção boa é o WS FTP (versão
shareware), este FTP tem uma opção importante que
permite copiar arquivos para o linux convertendo nomes dos arquivos
para minúsculas. (importe para depois utilizar o
"fspreset.fh") Copie todos os arquivos PRG no formato ASC e os
demais (DBF,DBT,FRM) no formato BINÁRIO.
Existem também vários utilitários do próprio FlagShip para o
tratamento de arquivos DOS / UNIX, tais como :
* FSload
* dos2unix
* FSadopt
* unix2dos
|
19) PASSOS PARA MIGRAR UM SISTEMA CLIPPER PARA
LINUX/FLAGSHIP
* Instale o FlagShip
* Copie todo o seu sistema para o linux utilizando um FTP com a
opção "converter para minúscula" ativado :
BINARY --- dbf, dbt, frm
ASC -------- prg, txt
* Inclua o comando:
#include "fspreset.fh" na primeira linha de seu programa
principal.
* Compile/link o seu sistema (você também pode criar um arquivo
Makefile)
FlagShip *.prg -M nome_do_programa_principal
-o nome_do_executável
Execute o sistema
newfscons nome_do_executável
newfscons teste -ou- newfscons ./teste
|
20) FASES DA GERAÇÃO DE UM EXECUTÁVEL NO
FLAGSHIP
1 - Precompila ( /usr/bin/FlagShip_p ).
2 - Converte os PRG para a linguagem C ( /usr/bin/FlagShip_c ).
3 - Compila usando um compilador UNIX ( /usr/bin/cc ).
4 - Linka usando um linker padrão UNIX ( /usr/bin/ld ).
Todas as fases são realizada automaticamente a se executar FlagShip
nome.do.progr.. A configuração pode ser alterada no arquivo
(/etc/FSconfig).
|
21) COMO COMPILAR NO FLAGSHIP
FlagShip
--- Executa o FlagShip
FlagShip [opções] Arquivos
Alguns exemplos:
* FlagShip teste.prg
Compila um programa chamado teste.prg e gera um executável a.out.
Para executar use :
newfscons ./a.out
* FlagShip *.prg -oteste -Mmenu
Compila todos os PRG"s do diretório atual sendo menu.prg o módulo
principal (main), gera o executável de nome teste. Para executar
use :
newfscons ./teste
make
Compila utilizando o utilitário "make" (semelhante ao rmake do
clipper). Você precisa criar um arquivo chamado "Makefile"
(semelhante a um .rmk do clipper). Caso o nome do arquivo seja
diferente de Makefile use:
make -f arquivo
ou
make // se existir um arquivo Makefile no diretório
corrente
Principais parâmetros de compilação:
-M nome : Define o nome do programa principal (main)
-a : Executa somente a fase de preprocessador.
-m : Compilação modular
-nd : Exclui informações para debugação
-o nome : define o nome do executável
-q : Compila no modo "quiet", não apresenta os nr de
linhas de compilação
Observação:
* No linux não existe extensões como forma de indicar se um arquivo
é um programa executável. Ao informar o parâmetro "-o" para
definir o nome do executável não precisa indicar .exe (coloque
-oteste ao invés de -oteste.exe).
* Quando não é informado o nome do executável através do parâmetro
de compilação "-o" o FlagShip cria por padrão o executável
"a.out".
|
22) VELOCIDADADE DE COMPILAÇÃO
Os clippeiros poderão ficar um pouco decepcionados ao
compilar seus primeiros programas em FlagShip, isto porque o
compilador C "cc/gcc" é um pouco lento, para tornar mais
rápido basta utilizar o "make" (semelhante ao RMAKE do
clipper). Veja alguns exemplos:
/usr/FSsrc/tools/321contact/source.d/Makefile /usr/FSsrc/tools/dbu/Makefile Os arquivos .RMK
não são compatíveis com os Makefile,
você terá que adapta-los.
23) COMO EXECUTAR UM PROGRAMA FLAGSHIP ?
nome_do_executável ----------------> executa o aplicativo
./nome_do_executável ---------------> executa o aplicativo que está
no dir. corrente
newfscons nome_do_executável -----> se estiver no console
newfsterm nome_do_executável -----> se estiver em um terminal
newfswin nome_do_executável ------> se estiver em um x-windows
|
Por motivo de segurança o diretório corrente
não faz parte do PATH. Portanto para executar um programa
informe um "./" antes do nome. Ex.: newfscons ./teste
Se você desejar colocar o diretório corrente no
PATH adicione o seguinte comando no arquivo /etc/profile : export
$PATH:. Agora você pode executar da seguinte forma: newfscons
teste
24) - UTILIZANDO O DBU DO FLAGSHIP
O script do DBU da versão personal executa um runFS que
não é encontrado. Para rodar o DBU em qualquer parte
do linux edite o arquivo /usr/bin/dbu substitua o "runFS" por
"newfscons". Se as teclas de funções não
estiverem funcionando quando estiver em um terminal, execute o
seguinte comando no prompt: export
TERM=at386
25) FLAGSHIP COM SAMBA
O samba permite que outras máquinas Windows acessem os
arquivos, diretórios e impressoras de um servidor linux.
Assim é possível mapear um diretório do linux
(ex. drive G:) em uma maquina Windows no ambiente de rede. Depois
de mapeado pode-se acessar pelo DOS o drive G:
Você pode por exemplo:
* Dar manutenção nos arquivos dbf"s diretamente no linux com o
dbase, fox, dbu, etc.
* Criar frm"s.
* Editar/criar programas com seu editor preferido do clipper.
* Copiar arquivos diretamente entre DOS/LINUX.
* Até rodar um programa Clipper(DOS) no linux.
|
Você precisa ter no mínimo 2 máquinas
ligadas em rede (uma com o linux e a outra com Windows) para poder
usar o Samba.
26) UTILIZAÇÃO DO FSPRESET.FH
Um dos principais problemas na migração de
sistemas do Clipper para FlagShip é:
* No FlagShip existe diferenças entre nomes de arquivos maiúsculas e
minúsculas.
Todos são diferentes:
- use Arquivo.dbf
- use ARQUIVO.DBF
- use arquivo.dbf
- use Arquivo.Dbf
* Os caminhos (PATH"s) no FlagShip a barra é normal "/", ex.
CLIPPER -> use \dados\arquivo.dbf
FLAGSHIP -> use /dados/arquivo.dbf
O FlagShip não aceita índices NTX do clipper, o default é IDX, ex.:
CLIPPER -> index on codigo to codigo.ntx
FLAGSHIP -> index on codigo to codigo.idx
|
Para que você não tenha que fazer mudanças
em todo o seu fonte basta incluir a seguinte linha no topo de seu
programa principal (MAIN): #include
"fspreset.fh"
Com isto todo o seu sistema será adaptado automaticamente para:
- converter todo os nomes de arquivos dos comandos abaixo para
minúsculas.
USE file
SET INDEX TO file
INDEX ON .. TO file
COPY TO file
APPEND FROM file
PRINT TO file
FCREATE file
FOPEN file
DIR file
ADIR file
DIRECTORY file
- converte path"s para formato UNIX Ex.:
USE \SISTEMA\Arquivo.DBF ---> USE /sistema/arquivo.dbf
- substitui NTX por IDX
index on codigo to codigo.ntx ---> index on codigo to codigo.idx
|
27) CONSULTANDO O MANUAL ON-LINE DO FLAGSHIP
O manual on-line é a maior fonte de
informações sobre o FlagShip, possui mais de 1500
páginas. Para executar digite :
O executável do manual on-line é criado
automaticamente (inclusive índices) durante a
instalação do FlagShip. Para obter
informações de como usar o "fsman" leia o arquivo : (
/usr/FSsrc/manual/fsman.dos ).
28) EDITOR DE PROGRAMAS PARA FLAGSHIP
Para quem não gosta do editar seus PRG"s no "vi", editem no "joe". O "joe" é um editor de textos com comandos
semelhantes aos editores do Clipper ou Borland. Outra
opção é utilizar editores do DOS/WINDOWS
através do SAMBA.
29) CRIANDO APLICATIVOS PARA WEB
Como o FlagShip e um pouco de conhecimento em HTML
(especialmente formulários) você poderá criar
aplicativos CGI facilmente. Veja alguns exemplos em:
/usr/FSsrc/tools/fs4web /usr/FSsrc/tools/webkit
30) COMO IMPRIMIR ?
O Clipper imprime diretamente na porta de impressora. Em Unix,
onde muitos usuários usam os recursos da máquina
simultaneamente isto poderia causar problemas. A
solução é imprimir através de SPOOL de
impressão. O FlagShip permite você imprimir
diretamente na porta de impressão (igual ao DOS) mas sugere
o uso em SPOOL. O Unix possui vários comandos para
administrar SPOOL de impressão.
Supondo que sua impressora esteja configurada para o lp1.
no prompt do linux:
cp teste.txt /dev/lp1 (copia diretamente para a porta de
impressão lp1)
cat teste.txt > /dev/lp1 (copia diretamente para a porta de
impressão lp1)
lpr teste.txt (imprime através de SPOOL )
1) Para imprimir diretamente na porta de impressão
Inclua o comando seguinte para imprimir diretamente na porta lp1:
SET PRINTER TO /dev/lp1
2) Para imprimir utilizando SPOOL.
SET PRINTER TO rel.prn
.... comandos...
run lpr rel.prn
Todos os demais comandos de impressão podem continuar como no clipper,
ex.:
- report form teste to print
- set device to print
- set print on
O Linux pode imprimir em impressoras:
* Locais (a impressora está conectada diretamente ao sistema)
* Remotas (a impressora está conectada á rede local UNIX) .
* LAN (a impressora está conectada a outra máquina que utiliza uma
rede LAN Manager ou SMB.
|
Lembre-se:
Por default o FlagShip imprime sempre em um arquivo "spooler" no
diretório corrente.
O nome é criado automaticamente da seguinte forma:
nome_do_programa_principal.process_id
O nome do arquivo pode ser recuperado através do comando
FS_SET("print"), exemplo:
|
report form teste to print noconsole // imprimi um relatório
print_file := FS_SET("print") // recupera o nome do
arquivo SPOOLER
run lpr -dlaser -m -s print_file // imprime o arquivo em
um SPOOL chamado laser
erase print_file // exclui o
arquivo SPOOLER
ou ainda
report form teste to print noconsole
run ("lpr -dlaser -m -s " + FS_SET("print"))
|
31) POSSO USAR O FONTE C (QUE FOI TRADUZIDO) NO DOS?
Quando um fonte PRG é convertido para C, ele é
feito especialmente para o UNIX (50 tipos de UNIX), portando
você poderá ter problemas ao tentar rodar no DOS como
administração de memória. Mais a Multisoft
promete lançar novas versão em breve para Windows/
NT.
32) EU POSSO MANTER UM CÓDIGO FONTE COMUM PARA UNIX E DOS
?
Sim!. O FlagShip tem um número de recursos que tornam
isto muito fácil. Compile uma versão de código
com o Clipper para executar em DOS, ou com FlagShip ao executar e
Unix..
Você poderá colocar alguns #ifdef para
compatibilizar programas DOS/UNIX, exemplo:
#ifdef FlagShip
#include "fspreset.fh"
#endif
|
33) PORQUE A RESPOSTA DE VÍDEO É MAIS LENTA DO QUE
NO DOS ?
Esta é uma pequena desvantagens do FlagShip em
relação ao Clipper, isto corre porque o Clipper
escreve diretamente na RAM de vídeo. O FlagShip não
pode fazer isto devido a natureza do UNIX (multi-usuário) e
o provável use em terminais remotos. Já no FlagShip
tudo é feito no servidor, a resposta de vídeo precisa
trafegar pela rede até o vídeo do terminal.
34) O RUNTIME DO FLAGSHIP NECESSITA DE LICENÇAS ?
Sistemas escritos em FlagShip podem ser copiados e
distribuídos sem nenhum pagamento de royalty ou taxas de
runtime (igual ao Clipper).
35) O TAMANHO DO EXECUTÁVEL DO FLAGSHIP É MAIOR
QUE AO DO CLIPPER ?
Sim (2 a 3 vezes maior), isto por causa do código nativo
comparado com ao P-código produzido pelo Clipper. Mas
você pode criar executáveis até 2 Gigabytes e
rodará perfeitamente.
36) ARQUIVOS DE ÍNDICES NTX DO CLIPPER NÃO PODEM
SER USADOS NO FLAGSHIP ?
Na atual versão (4.4) não, mas a Multisoft promete
para próximas. O arquivo de índice default para o
FlagShip é o IDX.
37) ONDE EU CONFIGURA AS OPÇÕES DO COMPILADOR
"CC"
No arquivo /etc/FSconfig
38) QUAIS AS EXTENSÕES DE ARQUIVOS UTILIZADAS PELO
FLAGSHIP ?
A principais são:
* prg Arquivo fonte de programas FlagShip/Clipper/dBase.
* dbf Arquivo de dados FlagShip/Clipper/dBase.
* frm Arquivo de relatório FlagShip/Clipper/dBase.
* c Arquivo fonte em C convertido apartir de um ".prg"
* o Objeto - criado apartir de um ".c"
* a Biblioteca objeto, criado por "ar"
* so Biblioteca dinâmica, criado por "ld"
|
39) QUAL É O COMPILADOR E LINKEDITOR DO FLAGSHIP ?
Um fonte em linguagem C (após a tradução de
um .PRG) é compilado por "cc" ou "gcc" e linkado por "ld"
mais isto depende da versão do UNIX.
40) COMO INTERROMPER UM PROGRAMA EM EXECUÇÃO ?
No Clipper se o comando SETCANCEL(.F.) basta teclar ALT C, o
equivalente no FlagShip é o CONTROL K.
41) QUAL A TECLA QUE ATIVA O DEBUGADOR DO FLAGSHIP
Para chamar o debugador pressione CONTROL O.
42) POSSO COPIAR BIBLIOTECAS DO CLIPPER(.LIB) PARA O LINUX E
USAR NO FLAGSHIP ?
Se você possuir os fontes poderá copiar para o
Linux e compila-las novamente (FlagShip ou CC) gerando uma
versão para o FlagShip. Se as bibliotecas forem de terceiros
terá que entrar em contado com o representante/fornecedor e
solicitar uma versão compatível com o FlagShip.
43) EU UTILIZO A BIBLIOTECA "CA-TOOLS" DO CLIPPER, POSSO USAR NO
FLAGSHIP ?
No FlagShip existe a biblioteca "FS2 Toolbox" que é
compatível com a CA-TOOLS do Clipper. Veja alguns exemplos
no diretório (
/usr/FSsrc/tools/fs2tools ).
44) O QUE EU PRECISO ESTUDAR PARA APRENDER A LINGUAGEM FLAGSHIP
?
Se você já é um programador em Clipper
poderá criar programas sem nenhum estudo adicional.
Terá que apenas se adaptar ao UNIX o que é bastante
simples para quem já trabalho com o DOS. Para
usuários iniciantes o melhor e começar estudar nos
vários livros existentes sobre CLIPPER e UNIX.
45) COMO RODAR PROGRAMAS DE UM SERVIDOR LINUX EM UMA
MÁQUINA COM WINDOWS 95/98.
Través de emuladores de terminal, existem vários
por ai inclusive shareware.
46) POSSO ACESSAR BANCO DE DADOS ORACLE, INFORMIX, SYBASE ?
Sim, através de código em C (FlagShip Open C API
System). Mas a Multisoft promete lançar RDD para estes
bancos de dados. A Inso Informática também
deverá disponibilizar alguns RDD em breve (CA-INGRES II,
ORACLE..)
47) POSSO FAZER UM SISTEMA EM FLAGSHIP PARA AMBIENTE
GRÁFICO (GUI) ?
A Multisoft promete para breve o Visual FlagShip (VF) que
poderá rodar em ambientes gráficos do UNIX e
WINDOWS.
48) DIFERENÇAS ENTRE O CLIPPER / DOS E FLAGSHIP /
UNIX
* O comprimento de nomes de arquivos em todas versões UNIX é no
mínimo 14 caracteres. Caracteres maiúsculos e minúsculos são
distinguidos, o ponto (.) é tratado como qualquer outro caracter.
Em UNIX os nomes de arquivos são usualmente criados em minúsculas
, os diretório e caminhos são escritos com "/" ao invés de "\". O
FlagShip se adpta automaticamente a esta diferenças (veja
fspreset.fh e funções FS_SET() ).
* Arquivos de índices NTX não podem ser usados no FlagShip.
* Bibliotecas (LIB) do clipper não podem ser usadas diretamente no
FlagShip, precisam ser recompiladas.
* O FlagShip imprime em SPOOL por default.
* Atributos de arquivos recuperados por ADIR() ou DIRECTORY são
diferentes no UNIX.
* Algumas combinações de teclas [ALT]+[KEY] usadas no Clipper
precisam ser trocadas, nem todas podem ser utilizadas no UNIX.
* Arquivos .clp e .rmk do clipper não são compatíveis no FlagShip.
* Existe diferenças entre comandos DOS/UNIX. (Ex. RUN DIR *.* ,
trocar por RUN ls *.*)
* UNIX é totalmente diferente ao controlar a memória RAM/overlay em
relação ao DOS .
|
49) COMO CRIAR OU EDITAR ARQUIVOS DE RELATÓRIOS (.FRM) OU
ETIQUETAS (.LBL) NO UNIX
Os arquivos de relatório ou etiquetas (FRM/LBL) podem ser
criados no DOS e copiados para o UNIX. Ainda não encontrei
uma forma de criar diretamente no UNIX.
50) COMO MELHORAR O DESEMPENHO DO FLAGSHIP ?
O desempenho de compilação/execução
de programa FlagShip e ligado diretamente ao desempenho do
servidor. Quanto mais usuários estiverem utilizando o
servidor/programas (processos) ao mesmo tempo, pior será o
desempenho.
Algumas dicas para melhorar o desempenho do servidor:
* Melhorando-se a configuração do servidor, processadores por
exemplo.
* Aumentando-se a memória RAM (para o UNIX, quanto mais melhor).
* Colocando-se HD (winchester) mais rápidas.
* Melhorando-se as memórias caches.
* Mantenha no mínimo 25% livre de espaço por partição.
|
51) COMO VERIFICAR AS CONFIGURAÇÕES ATUAIS ?
As configurações como: teclado, terminais, telas,
cores e teclas especiais podem ser verificadas através do
programa /usr/FSsrc/fscheck.prg
Para compilar use: FlagShip fscheck -ofscheck
52) QUE ARQUIVOS EU PRECISO INSTALAR EM MEU CLIENTE ?
* O diretório do sistema contendo: Executável, dbf"s, dbt"s, frm"s,
etc.
* Arquivos /usr/bin/newfs*
* Arquivos /usr/lib/terminfo/FS*
* Arquivos /usr/lib/keyboard/FS*
* E quando compilado dinamicamente o arquivo /usr/lib/libFlagShip.so
|
53) POSSO CRIAR APLICAÇÕES COM ACESSO A PORTA
SERIAL OU MODEM ?
É perfeitamente possível tratar portas seriais no
FlagShip através das funções FOPEN(),
FWRITE(), FCLOSE(). Também a biblioteca "FS2 Toolbox" possui
várias funções para o controle de portas
seriais.
54) FLAGSHIP E O BUG DO ANO 2000
O FlagShip armazena a data sempre com o século cheio, Por
default as datas são apresentadas no formato "YY", para
adaptar seu programa para o ano 2000 basta mudar a
apresentação para "YYYY". Acrescente o comando
seguinte no topo de seu programa principal :
SET CENTURY ON // mostrará datas no formato longo
Mais informações veja em :
http://www.fship.com/y2k.html
55) RODANDO O FLAGSHIP EM TERMINAIS
O Unix pode ser acessado por terminais via linhas seriais ou
rede. O FlagShip suporta todas as principais marcas de terminais
através do fornecimento de arquivos de
descrições. Mas você pode fazer
configurações específicas ou mudar as
configurações atuais para funcionar teclas e cores.
Quando for usar terminais "ansi" ou "vt100" utilize os
correspondentes "fsansi" e "fsvt100" que foram adaptados para o
FlagShip.
56) QUAIS BANCO DE DADOS SQL EU POSSO ACESSAR ATRAVÉS DO
SQLKIT ?
Atualmente podem ser acessados o Just Logic/SQL, PostGreSQL e o
Solid Server, mais informações podem ser encontradas
no diretório (
/usr/FSsrc/tools/sqlkit ).
57) COMO EXECUTAR UM PROGRAMA EM UM AMBIENTE XWINDOWS (WINDOWS
MAKER, KDE, ETC.)
Dentre de um emulador xterm execute o comando :
newfswin nome_do_programa
Ou crie um ícone para o comando.
|
58) POSSO ACESSAR ARQUIVOS DO COBOL NO FLAGSHIP ?
Sim, arquivos do COBOL podem ser acessados no FlagShip
através do RDD Cobol. Mais informações
você poderá encontrar no diretório ( /usr/FSsrc/tools/rddcobol ).
59) COMO DESINSTALAR O FLAGSHIP
Para desinstalar o FlagShip basta executar o script (
FSuninstall ).
60) ONDE ENCONTRAR INFORMAÇÕES SOBRE O FLAGSHIP
?
Internacionais: * Home page oficial do FlagShip na Alemanha: http://www.fship.com
* Representante da Multisoft para o Estados Unidos: http://www.wgs.com * Lista
de Discussão FlagShip
http://www.onelist.com/viewarchive.cgi?listname=FlagShip
Nacionais: * Representante da Multisoft para o Brasil: Inso
Informática S/C Ltda. R. Dr. Alceu de Campos Rodrigues, 229
tel:. (011)-820-0962 http://www.inso.com.br <inso@dialdata.com.br>
--------------- geral <jhsomers@somers.com.br>
---- suporte técnico * Fórum de discussão
sobre o FlagShip da The Xbase Files - Brasil
http://www.xbasefiles.com/br/ * Fórum de
discussão sobre o FlagShip dos Programadores
http://forums.programadores.com.br/flagship/
Referências
1.
http://www.conectiva.com.br/ 2. <wunsch@hotmail.com> 3. http://www.wgs.com/ 4.
http://www.inso.com.br/ 5. http://www.fship.com/ 6.
http://www.fship.com/free.html 7. http://www.inso.com.br/
8. <inso@dialdata.com.br> 9.
<jhsomers@somers.com.br>
10.
http://www.fship.com/free.html 11.
http://www.fship.com/y2k.html 12. http://www.fship.com/ 13.
http://www.wgs.com/
14. http://www.onelist.com/viewarchive.cgi?listname=FlagShip
15.
http://www.inso.com.br/ 16. <inso@dialdata.com.br> 17.
<jhsomers@somers.com.br>
18.
http://www.xbasefiles.com/br/ 19.
http://forums.programadores.com.br/flagship/