Anda di halaman 1dari 10

Linguagem e Tcnicas de Programao VI Clipper

Aula 1

O QUE O CLIPPER
Uma das aplicaes mais freqentes e teis para os computadores a organizao de colees de dados (ou arquivos), com a finalidade de se elaborar consultas, efetuar clculos, gerar listagens e relatrios, anlises estatsticas etc. Muitas aplicaes em Processamento de Dados tm essas caractersticas em comum, sendo por isso chamadas de aplicaes de Base de Dados (ou Banco de Dados), pois baseiam-se em colees ou arquivos de dados. Por outro lado, as Base de Dados constituem o ingrediente fundamental dos Sistemas de Informao, cujo objetivo principal gera informaes para a tomada de decises. O Clipper um completo Sistema Gerenciador de Banco de Dados, tendo originado-se de um dos softwares de maior sucesso para microcomputadores, o dBase III. Com o Clipper possvel: Criar, organizar, classificar, copiar, selecionar e relacionar conjuntos de arquivos que formam o Banco de Dados; Adicionar, alterar, eliminar, exibir e listar global ou seletivamente as informaes contidas nos arquivos de dados; Gerar relatrios padronizados, efetuar automaticamente somas, agregaes, contagens e operaes aritmticas sobre os valores dos dados armazenados nos arquivos; Formatar telas de entrada de dados no vdeo e gerar relatrios, tabelas e listagens complexas na impressora, de acordo com as necessidades do usurio; Produzir Sistemas de Informao completos e integrados, com recursos e sofisticaes encontrados apenas nos mais modernos softwares que hoje disputam o fabuloso mercado da microinformtica. Em resumo, o Clipper 1 permite a dinamizao de aplicaes com arquivos de dados, tornando-as mais fceis e rpidas que as desenvolvidas em uma linguagem de programao tradicional, como Cobol, Basic ou Pascal. Com uma simples, moderna e eficiente linguagem de programao, permite o encadeamento ordenado e lgico de seus comandos possibilitando rapidamente a definio de programas com alto grau de complexidade e sofisticao, permitindo inclusive interaes com outras linguagens como C e Assembler, que lhe confere a flexibilidade necessria para a utilizao profissional.

VERSES DO CLIPPER
O CLIPPER foi lanado no ano de 1985, no mercado americano, logo aps a Ashton-Tate ter lanado o Gerenciador de Banco de Dados, o poderoso DBASE III, em meados de 1984. No decorrer desse tempo, ambos sofreram modificaes e implementaes que resultaram em novas e mais poderosas verses. SUMMER 85 - nesta verso, o CLIPPER era totalmente compatvel com a verso 1.0 do DBASE III, chegando a ser bem prximo dele, porm, apresentando alguns recursos adicionais como: - Maior capacidade de manipulao de arquivos e variveis; - Construo de "HELP" ao usurio; - Mltiplo relacionamento entre arquivos; - Criao de funes-de-usurio (UDF's); Clipper em ingls significa cortador veloz. Na verdade Clipper uma aluso aos grandes navios vela denominados Clippers, que eram construdos para cortarem as guas a grade velocidade. Na gria atual, Clipper significa aquele que veloz; no nosso caso, Clipper o compilador que torna as aplicaes desenvolvidas em dBase mais velozes.
Fatec Jahu Pag: 1
1

Linguagem e Tcnicas de Programao VI Clipper

Aula 1

- Novos comandos e funes que no existiam no DBASE III. WINTER 85 - ainda permanecia a compatibilidade com o DBASE III entretanto surgiram algumas implementaes, dentre elas, as principais so: - Variveis indexadas: vetores; - Surgimento do comando @...PROMPT ( menu de barras ); - Novas funes para manipulao de campos MEMO. Logo aps a verso WINTER 85 do CLIPPER foi lanado em contra-ataque, o DBASE III PLUS que inclua os vrios comandos e funes que o CLIPPER j possua s que com a principal novidade, que era a possibilidade de trabalho em ambiente de rede local. Para acompanhar a verso do DBASE, foi lanada a verso: AUTUMN 86 - nesta verso, o CLIPPER tambm passou a trabalhar em ambiente de rede local, ganhou novos comandos e funes, mas muitos dos novos recursos do DBASE III PLUS foram implementados de forma provisria, atravs de rotinas auxiliares, escritas em linguagem C e Assembler. A compatibilidade com o DBASE III PLUS ainda existia. SUMMER 87 - nesta verso ocorre dois fatores importantes para o estgio de desenvolvimento do CLIPPER, so eles: - Mudana do compilador C, atravs do qual era construdo. - Deciso de se separar de uma vez do DBASE. Com isso o CLIPPER se transformou numa ferramenta realmente destinada construo de sistemas profissionais. Alm de uma quantidade considervel de novos comandos e funes, a arquitetura do CLIPPER foi praticamente aberta. Tornou-se possvel escrever uma funo qualquer utilizando o Microsoft C e linkedit-la diretamente com as bibliotecas e mdulos objeto gerados pelo CLIPPER. VERSO 5.0 - a tendncia j observada na verso SUMMER 87 confirmou-se. A compatibilidade com a linguagem DBASE, apesar de mantida, tornou-se apenas uma circunstncia histrica. A nova estrutura de programao do CLIPPER e os novos e sofisticados recursos baseados na estrutura de programao da linguagem C e tendncias de programao orientada a objetos, indicam um afastamento definitivo do padro DBASE. NOVIDADES DA VERSO 5.0 - Dentre as vrias novidades que a verso 5.0 do CLIPPER nos trouxe, destacamos algumas logo abaixo: - Acesso ao pr-processador do compilador (diretivas); - Novo compilador com recursos e opes mais otimizadas; - Novo linkeditor (RTlink), que permite a criao de overlays dinmicos; - Help "on-line" para programador (Norton Guide); - Novos operadores; - Definies de funes-de-usurio (UDF's); - Debugador mais eficiente; - Novos tipos e classes de variveis; - Matrizes multidimensionais, etc.

VANTAGENS E DESVANTAGENS DE UM COMPILADOR


VANTAGENS Maior velocidade e eficincia na execuo dos programas; cdigo executvel literalmente livre de erros de sintaxe, pois j foi verificado durante a compilao; Proteo ao cdigo-fonte ( dependendo da engenharia reversa capaz de descompilar um executvel ) Possibilidade de utilizao de vrios recursos de programao avanados, normalmente no disponveis nos interpretadores; Possibilidade de distribuio ou comercializao de um nmero ilimitado de cpias do mdulo executvel das aplicaes desenvolvidas;

Fatec Jahu

Pag: 2

Linguagem e Tcnicas de Programao VI Clipper

Aula 1

Possibilidade de integrao direta com outras linguagens tambm compiladas, possibilitando total flexibilidade no desenvolvimento de aplicaes e garantindo um nvel altamente profissional; Possibilidade de executar programas e acessar arquivos em ambiente compartilhado de rede local de microcomputadores, sem licena adicional. DESVANTAGENS

A programao torna-se mais sofisticada e difcil , tendendo a profissionalizar o programador; Maior dificuldade e demora na correo de erros; Exigncia de maior conhecimento tcnico e experincia do programador, ou seja, aumenta o tempo necessrio ao aprendizado.

EXTENSO DOS ARQUIVOS MANIPULADOS PELO CLIPPER


O CLIPPER como qualquer outra linguagem de programao possui os seus prprios arquivos e extenses para que sejam facilmente reconhecidos por um programador. Logo abaixo, ser descriminados os vrios arquivos manipulados pelo CLIPPER. .PRG = arquivos de programa-fonte .CH = arquivos-cabealho ou arquivos include .OBJ = arquivos-objeto .LIB = arquivos de bibliotecas .TMP = arquivos temporrios .PPO = arquivos do pr-processador .EXE = arquivos auto-executveis .DBF = arquivos de dados .DBT = arquivos de campo memo .NTX = arquivos de ndices .MEM = arquivos de variveis de memria .LBL = arquivos de definio de etiquetas .FRM = arquivos de definio de relatrios .FMT = arquivos de formatao .CLP = arquivos script ou lista de clippagem .LNK = arquivos de linkedio .PLL e PLT = arquivos de biblioteca pr-linkadas .OVL = arquivos de overlay .MAP = arquivos de alocao de memria

INTERPRETADOR E COMPILADOR
INTERPRETADOR um conjunto de operaes que tem por finalidade, traduzir o programa-fonte linha a linha, permitindo a execuo paralela. Ele acessa o arquivo que contm o programa-fonte e "interpreta" linha por linha, isto , converte a linha de programa escrita em linguagem de alto-nvel, parecida com a linguagem humana, para linguagem de mquina. Se for encontrado algum erro durante a converso, o interpretador interrompe a sua atividade e indica a linha na qual foi detectado o erro. Se no h erros, a linha convertida executada e o interpretador passa para a linha seguinte. Assim o programa-fonte vai sendo executado linha por linha na medida em que o interpretador vai as analisando. Toda vez que um erro encontrado devemos voltar ao editor de textos e eliminar o erro e tornar a executar o interpretador at que nosso programa fique sintaticamente correto.
Fatec Jahu Pag: 3

Linguagem e Tcnicas de Programao VI Clipper

Aula 1

Na verdade, o programa-fonte somente verificado e convertido aps uma certa poro do cdigo j ter sido executada. Em qualquer caso, sempre que um programa escrito numa linguagem interpretada de alto nvel, como o DBASE III ou o BASIC, o programa-fonte precisa ser analisado e convertido para a linguagem de mquina antes que cada instruo possa ser executada. Se um erro de sintaxe encontrado em alguma linha, a execuo do programa interrompida imediatamente e o interpretador mostra uma mensagem de erro apropriada na tela. Voc deve ento retornar ao editor de textos, corrigir o problema e novamente executar o programa sob o controle do interpretador. Este processo se repete at que todo o programa esteja perfeito, isto , no contenha erros e possa ser totalmente entendido e executado pelo interpretador. COMPILADOR um conjunto de operaes que tem por finalidade a depurao de erros e a traduo do programa-fonte (alto-nvel) transformando-o em um programa-objeto (baixo-nvel) no o executando paralelamente. Sintaxe: CLIPPER <nomeprograma> /parmetros ou CLIPPER <@arq.script> /parmetros <nomeprograma> o nome do arquivo programa a ser compilado para gerar um arquivo objeto. Se no for especificada extenso, assumida a extenso (.prg). O nome do arquivo pode ou no incluir um designador de unidade de disco e referncia a path. <@arq.script> o nome de um arquivo script que contm uma lista de arquivos fonte a serem compilados para produzir um s arquivo objeto. Se no for especificada extenso, assumido (.clp) como extenso padro. <parmetros> uma lista de uma ou mais opes que controlaro o curso da compilao. As opes podem ser especificadas com letras maisculas ou minsculas, e devem ser precedidas de um caractere barra inclinada (/) ou trao (-). FORMA DE TRABALHO DO COMPILADOR Ele acessa o programa-fonte e "compila" o mesmo, isto , cria um novo arquivo que contm o programa-fonte convertido integralmente em linguagem de mquina, chamado arquivoobjeto. Durante a compilao todos os erros encontrados so anotados pelo compilador, que aps criar o arquivo-objeto, lista os erros indicando a linha do programa-fonte onde foram detectados. Para eliminarmos esses erros, devemos voltar ao editor de textos, acessar o programa-fonte, corrigir o programa e tornar a compil-lo. O cdigo-objeto gerado pelo compilador no pode ser executado at ser encadeado ("linkeditado") com um conjunto de rotinas pr-programadas por quem desenvolveu o compilador, denominadas rotinas de biblioteca. Estas rotinas so necessrias para a criao de um mdulo auto-executvel, conhecido como mdulo de carga ou mdulo executvel, que recebe a extenso .EXE. Aps o cdigo-objeto ter sido encadeado ou linkeditado com sucesso, o arquivo executvel passa a conter todas as instrues necessrias (j em cdigo de mquina) para executar as instrues do programa a partir do sistema operacional, bastando para isso digitar o seu nome. O programa agora executado com a mxima velocidade possvel, pois no mais necessrio verificar e converter cada linha como no caso do interpretador.

Edio dos programas


Para edio do programas, necessitamos de um editor de texto convencional e simples. Sem muitos recursos, uma vez que a programao no requer recursos sofisticados. Pode-se utilizar at Microsoft Word, mas o editor recomendvel o Edit que acompanha o Windows, sendo executado atravs do prompt do MS-DOS ou atravs da opo Executar atravs do comando CMD.
Fatec Jahu Pag: 4

Linguagem e Tcnicas de Programao VI Clipper

Aula 1

COMPILAO
C:\>CLIPPER <NOMEARQ> [OPES] Quando compilamos um programa opcional colocarmos a sua extenso (.prg) Principais Opes de Compilao -B -P -S Debug arquivo do pr-processador Verifica a sintaxe sem gerar o .obj

LINK-EDIO
Modo Freeformat SET RTLINKCMD=/FREEFORMAT C:\>RTLINK FILE <arqobj> OUTPUT <arqexe> Exemplo: Rtlink fi prog1 ou prog1 Opo Default do Clipper

Modo Positional SET RTLINKCMD=/POSITIONAL Para tornar esta opo Default deve-se colocar esta linha no autoexec.bat

C:\>RTLINK <arqobj>,<arqsaida>,<arqmap>,<library> Exemplo: Rtlink prog1,,,

COMANDOS BSICOS @. . . SAY. . . GET


Propsito: Sintaxe: Criar e executar um novo objeto GET (entrada de dados), colocando-o em exibio na tela. @ <linha>, < coluna> [ SAY <exp> [ <mascara SAY>] ] [WHEN<condio>] [RANGE <inicial>,<final>] [VALID <condio> ]

Fatec Jahu

Pag: 5

Linguagem e Tcnicas de Programao VI Clipper

Aula 1

Exemplo: @ 15,10 SAY FATEC xcod:=0 @ 18,10 GET xcod read

STR( )
Propsito: Sintaxe: Exemplo: SALRIO := 3020.29 ? STR(SALARIO,4) ? STR(SALARIO,8,3) // resultado: // resultado: 3020 3020.290 Converter uma expresso numrica em uma expresso caractere. STR(<valor numrico>,<comprimento>,<casas decimais>).

STRZERO( )
Propsito: Converter uma expresso numrica em uma expresso caractere.preenchendo os caracteres a esquerda com zero Sintaxe: STRZERO(<valor numrico>,<comprimento>,<casas decimais>). Exemplo: SALRIO := 300 ? STRZERO (SALARIO,4) // resultado: 0300

?/??
Propsito: Sintaxe: Exemplo: CLEAR / / limpa a tela ? Exemplo do comando ? / / exibe a informao no vdeo ? date ( ) / / exibe a data ( nova linha ) ? a data de hoje ..: ?? date ( ) / / exibe na mesma posio anterior do cursor Mostrar um ou mais valores no vdeo ou impressora. ?/?? <Lista de expresses>

VAL( )
Propsito: Sintaxe: Exemplo: SALRIO := 2929.20 ? VAL (SALRIO) // resultado: 2929.20 TESTE := COMPUTADOR ? VAL(TESTE) // resultado: 0
Fatec Jahu Pag: 6

Converter uma expresso caractere em um valor numrico. VAL(<string>).

Linguagem e Tcnicas de Programao VI Clipper

Aula 1

LASTKEY( )
Propsito: Sintaxe: Exemplo: // SEO DE @..GETS READ IF LASTKEY( ) = 27 // se a ltima tecla foi o <ESC> RETURN // termina ENDIF Retornar o cdigo INKEY( ) da ltima tecla que foi pressionada. LASTKEY( ).

INKEY( )
Propsito: Aguarda do buffer do teclado um caractere qualquer. Sintaxe: INKEY(<tempo>). Exemplo: @ 22,10 SAY TECLE ALGO PARA CONTINUAR TECLA := INKEY(5) // espera por um mximo 5 segundos // INKEY(0) aguarda at que seja pressionada uma tecla ? 23,01 SAY VOC PRESSIONOU A TECLA DE CDIGO..: + STR(TECLA)

LAOS DE REPETIO FOR. . . NEXT


Propsito: Sintaxe: Executa uma estrutura de controle, um determinado nmero de vezes.

FOR <contador> := <inicio> TO <fim> STEP <passo> ...... <instrues> [EXIT] ...... <instrues> [LOOP] NEXT Exemplo: 1) FOR I := 1 TO 100 @ 15,10 SAY CONTADOR: +STR(I,3) NEXT 2) FOR J := 100 TO 500 STEP 10 @ 18,05 SAY O VALOR DE J + STRZERO(J,3) NEXT
Fatec Jahu Pag: 7

Linguagem e Tcnicas de Programao VI Clipper

Aula 1

DO WHILE...ENDDO
Propsito: Executa uma estrutura de controle enquanto uma condio for verdadeira. Sintaxe: DO WHILE <condio> <instrues> [EXIT] [LOOP] ENDDO Exemplo: 1) DO WHILE .T. xnumero:=0 @ 11,10 say Digite um nmero @ 11,20 get xnumero read if empty(xnumero) exit endif @ 13,10 say o nmero digitado foi+strzero(xnumero,3) ENDDO 2) xresp:=S DO WHILE XRESP#N // # ou < > smbolos de diferente xnome:=space(40) @ 11,10 say Nome: @ 11,25 get xnome read if lastkey()==27 // == exatamente igual exit endi @ 15,18 say O nome digitado foi: +xnome xresp:=space(01) @ 20,10 say Deseja continuar ? @ 20,30 get xresp picture ! read ENDDO

Fatec Jahu

Pag: 8

Linguagem e Tcnicas de Programao VI Clipper Valor de algumas teclas de controle

Aula 1

Tecla Para cima Para baixo ^ ^ Enter Ins Del Backspace Home End PgUp PgDn + ^Home ^End ^PgUp ^PgDn F1 F2 a F10 Shift F1 a Shift F10 Ctrl F1 a Ctrl F10 Alt F1 a Alt F10 Tecla 1 Tecla 2

Valor 4 18 5 24 2 26 13 22 7 8 1 6 18 3 43 45 29 23 31 30 28 -1 a 9 -10 a 19 -20 a 29 -30 a 39 49 50

Operadores * ** ^ + ++ -/ <> != # .AND. .NOT. ! .OR. < <= > >=


Fatec Jahu

Multiplicao Exponenciao Adio Incremento Subtrao Decremento Diviso Diferente/No igual E (lgico) No (lgico) OU (lgico) Menor que Menor igual Maior Maior Igual
Pag: 9

Linguagem e Tcnicas de Programao VI Clipper

Aula 1

= == := -> []

Igualdade Exatamente igual Atribuio Operador alias (dbf) Indicador de vetor

EXERCCIOS
1) Elabore um programa que apresente os nmeros entre 1 e 10000 utilizando o lao de repetio FOR...NEXT 2) Elabore um programa que apresente os nmeros pares entre 2 e 100 utilizando o lao de repetio FOR...NEXT 3) Elabore um programa que apresente os nmeros entre 1000 e 500 utilizando o lao de repetio DO WHILE...ENDDO 4) Elabore um programa que apresente os nmeros entre 300 e 100 com decremento de 2 utilizando o lao de repetio DO WHILE...ENDDO. 5) Elabore um programa utilizando o lao FOR...NEXT que apresente os nmeros entre os intervalos solicitados pelo usurio. 6) Elabore um programa utilizando o lao DO WHILE...ENDDO que apresente os nmeros entre o intervalo solicitado pelo usurio. 7) Elabore um programa de Tabuada para um nmero solicitado pelo usurio. 8) Elabore um programa que apresente asteriscos na linha (inteira) e coluna (inteira) solicitada pelo usurio 9) Elabore um programa que forme um retngulo com um caracter informado pelo usurio.

Fatec Jahu

Pag: 10