Clipper
Clipper é uma linguagem de programação e também um compilador, ela tem propósitos generalizados, ela é de alto nível e utilizada principalmente para a criação de aplicativos comerciais, tendo um grande poder para criar, programas de cadastramento, e também para trabalhar com arquivos. Originária do compilador dBASE III, Clipper foi desenvolvido como uma linguagem independente, ela incorpora algo da programação orientada à objetos, como o desenvolvimento de classes, a manipulação de banco de dados e a codificação em blocos. Hoje já há uma versão desenvolvida para Windows, bem como alguns produtos que permitem a portabilidade para o mesmo, e um compilador compatível para Unix, chamado FlagShip. |
// EXEMPLO 1 - LER
TAMANHO DE QUALQUER ARQUIVO
// criar variavel
NHANDLE:=0
// Abrir arquivo:
NHANDLE :=FOPEN("ARQUIVO.TXT")
// testar se o arquivo foi aberto com sucesso
IF NHANDLE = 0 // não conseguiu abrir
ELSE // conseguiu abrir
ENDIF
//fechar arquivo
FCLOSE(NHANDLE)
*--------------------------------------------------------
// EXEMPLO 2 - VÁRIOS GET´S
SEGUIDO DE UM READ
É o seguinte, vc tem que fazer uma cadeia de get´s num unico
read, para
poder navegar entre os campos, vou mostrar um exemplo de como vc
pode fazer...
// criando um vetor com 5 elementos
aCodigo :={0,0,0,0,0}
// criando uma variaval para o numero da linha na tela
nLinha:=5
// criando um loop para dar o get
for n:=1 to 5
next
// após o loop vc vai ter 5 linhas de get´s na tela, e agora vc
executa um READ para entrar com os dados
READ
....
....
...
...
*-------------
// Funcao para localizar o produto
Function FSeek(cCodigo)
// seleciona a área onde está o cadastro de produtos
DbSelectArea("PROD")
// procura o produto através da função dbseek()
DbSeek(cCodigo)
// verificar se localizou
IF Found()
// mensagem que achou
@ 24,10 say "achei o produto"
// retorno para o get validando o codigo do produto
return(.t.)
else
// mensagem de que não achou
@ 24,10 say "não achei o produto"
// retorno para o get invalidando, ou seja, não consegue sair do
get até validar
return(.f.)
endif
return(.t.)
*---------------------------
Note que eu não estou utilizando o locate para procurar o
produto e sim
a função DbSeek() , e para utiliza-la preciso abrir o arquivo
com um indice por código de produto, ok..........
Espero que esta dica tenha ajudado......
até mais
DICA 1 - HELP ON-LINE
Se voce deseja programar em Clipper com um help instalado na
memória,
utilize o Norton Guide (NG.EXE) e através da tecla SHIFT + F7 ,
voce pode chamar o help ,
consultar os comandos, funções, codigos de erros.
sem sair do editor de texto
*--------------------------------------------------------
DICA 2 - FUNÇÕES DE
COMUNICAÇÃO VIA - MODEM
Se voce esta precisando implementar em sua aplicação funções
de comunicação
via serial/modem, utilize a biblioteca de funções CA-TOOLS ou
COMM-TOOLS,
vale a pena.
*--------------------------------------------------------
DICA 3 - CONFIGURAÇÃO DO
CONFIG.SYS e AUTOEXEC.BAT
[CONFIG.SYS]
FILES=100
[AUTOEXEC.BAT]
PATH=c:\CLIP52\BIN
set LIB=c:\CLIP52\LIB
set INCLUDE=c:\CLIP52\INCLUDE
set CLIPPER=//F200 //SWAPPATH:'c:\SWAPTEMP'
//TEMPPATH:'c:\SWAPTEMP'
*--------------------------------------------------------
Pergunta 1 - Ganho performance
saindo da versão 5.1 -> 5.3
Voce não vai ganhar muita performance, mas vai ganhar
confiabilidade na execução de suas rotinas, principalmente vai
eliminar os famosos GPF´s e outra coisa interessante é que voce
pode usar o utilitário OPTEDIT para otimizar a utilização de
memória.
*--------------------------------------------------------
Pergunta 2 - Posso usar fontes
no clipper 5.2
Na versão 5.2 do clipper voce não vai conseguir este recurso.
A versão 5.3 já está atendendo através da função GFNTLOAD()
da biblioteca Light Lib.
*--------------------------------------------------------
Pergunta 3 - O clipper 5.3 é
for Windows ?
O Clipper 5.3 não é for Windows,
o software simula um ambiente grafico carregando fontes externas,
mas o padrão GUI não exite