clipper - curso basico

Download Clipper - Curso Basico

Post on 13-Jul-2015

628 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

Curso de ClipperComandos BsicosAutor: Paulo Csar Toledo (toledo@pctoledo.com.br) Direitos reservados site Clipper On Line Contedo: O que Clipper? Escrevendo o arquivo fonte do programa Compilando e Linkeditando o programa Executando o programa Entrada de dados Estrutura de controle de repetio e condio Criando um menu de opes Criando arquivo de dados Gravando em arquivo de dados Pesquisando registros no arquivo de dados Alterando registros no arquivo de dados Excluindo registros no arquivo de dados Criando relatrios Chamando arquivo fonte externo Funes e smbolos usados com picture Tabela de cores e atributos Operadores Nomes de campos e variveis de memria Opes de compilao Opes de linkedio Comandos e funes usadas neste curso

O que Clipper? Clipper uma moderna e eficiente linguagem de programao, baseada na linguagem xBASE, permite o encadeamento ordenado e lgico de seus comandos possibilitando rapidamente a definio de programas com alto grau de complexidade e sofisticao. Ao longo dos anos, a linguagem Clipper, tornou-se to popular a ponto de fazer do Brasil a sua maior base instalada. Ao lado do Cobol, Clipper uma das linguagens mais difundidas e estudadas em todos os tempos. Inmeras empresas comearam sua informatizao utilizando programas escritos em Clipper, criando um mercado de trabalho muito promissor para os profissionais e desenvolvedores de aplicativos. Os sistemas escritos em Clipper so fceis de desenvolver e manter, e ainda so largamente utilizados seja por empresas ou pelos desenvolvedores de aplicativos. Voltar

Escrevendo o arquivo fonte do programa Inicialmente iremos criar um arquivo onde colocaremos os comandos do Clipper para que mais tarde seja compilado e linkeditado. Este arquivo que armazena esses comandos chamado de arquivo fonte. Para escrever o arquivo teremos que usar um editor de textos, ns usaremos o EDIT do DOS, por ser um editor simples e fcil de usar. Teremos que definir um nome para o

arquivo fonte, este nome pode ter at 8 caracteres e obrigatoriamente a extenso .PRG. Para o nome do arquivo sero aceitos somente letras, nmeros e "_". Deve comear com letra e no pode conter espao em branco. O Clipper por ser uma linguagem feita para DOS, teremos que trabalhar no prompt do MSDOS, para isto voc deve selecionar o boto Iniciar, Programas e depois Prompt do MS-DOS. Vamos criar uma pasta onde iremos gravar os arquivos que sero criados, para isto digite os seguintes comandos: CD\ MD AGENDA CD\AGENDA Agora vamos criar o arquivo fonte do nosso programa, digite: EDIT exerc1.prg O editor aberto. Como primeiro exemplo vamos fazer duas telas com molduras no vdeo, digite os comandos abaixo: CLEAR BORDA = CHR(218) + CHR(196) + CHR(191) + CHR(179) + ; CHR(217) + CHR(196) + CHR(192) + CHR(179) + CHR(176) @ 1,1,24,79 BOX BORDA @ 4,4 CLEAR TO 21,76 @ 4,4 TO 21,76 DOUBLE INKEY(0) CLEAR RETURN Agora temos que gravar (Salvar) o arquivo, pressione as teclas ALT+A, selecione a opo SALVAR e tecle Enter. Pronto j est salvo o arquivo, podemos sair do EDIT, pressione ALT+A novamente e selecione a opo SAIR. Comandos utilizados: Na sintaxe dos comandos descritos abaixo usaremos a seguinte notao sinttica: [ ] - Indica as partes opcionais de um comando < > - Indica as partes obrigatrias de um comando CLEAR Apaga a tela e coloca o cursor na posiao inicial (linha 0 e coluna 0) CLS o mesmo que CLEAR. @ 1,1,24,79 BOX BORDA Desenha uma caixa na tela, da linha 1 coluna 1 at a linha 24 coluna 79. Sintaxe @ , , , BOX Argumentos , , , e definem as coordenadas da caixa. @...BOX desenha uma caixa usando valores de linha de 0 at 24, e coluna de 0 at 79. um string de oito caracteres de borda e um de preenchimento. @ 4,4 CLEAR TO 21,76 Limpa uma regiao retangular da tela, da linha 4 coluna 4 at a linha 21 coluna 76.

Sintaxe @ , [CLEAR [TO , ]] Argumentos e define as coordenadas do canto superior esquerdo. e define as coordenadas do canto inferior direito a ser limpo. @ 4,4 TO 21,76 DOUBLE Desenha uma caixa em linha dupla, da linha 4 coluna 4 at a linha 21 coluna 76. Sintaxe @ , TO , [DOUBLE] Argumentos , , , e definem as coordenadas da caixa. DOUBLE desenha a caixa em linha dupla. Se no for especificado, a caixa desenhada em linha simples. INKEY(0) Espera uma tecla ser pressionada. Sintaxe INKEY([]) --> nCodInkey Argumentos especifica a quantidade de segundos que INKEY() deve esperar por uma tecla. O valor pode ser especificado em incrementos do tamanho de at um dcimo de segundo. Se for especificado zero, o programa pra at que uma tecla seja pressionada. Retorno INKEY() retorna um valor numrico inteiro de -39 at 386, que identifica a tecla pressionada. Caso no seja pressionada tecla nenhuma, INKEY() retorna zero. RETURN Encerra o programa, funo ou procedure. Voltar

Compilando e Linkeditando o programa Agora que j criamos o arquivo fonte temos que compilar o arquivo, este processo vai criar um outro arquivo com o mesmo nome do arquivo fonte, s que com a extenso .OBJ. Este ns chamamos de arquivo objeto. Quando compilamos um arquivo (.prg) o compilador verifica se no h erros no arquivo, se for encontrado algum erro, o compilador apresenta o nome do arquivo e entre parnteses a linha do arquivo onde est o erro, para que possamos corrigir a linha de comando. Comando para compilar o arquivo fonte:

CLIPPER Exemplo: CLIPPER exerc1 Vamos agora criar o arquivo executvel, digite o comando abaixo: RTLINK FI Exemplo: RTLINK FI exerc1 O linkeditor vai criar um outro arquivo, agora com a extenso .EXE (executvel). Voltar

Executando o programa Vamos agora executar o programa, para isto devemos digitar o nome do arquivo executvel, que acabamos de criar, na linha de comando do DOS. Exemplo: EXERC1 Observe que vai ser apresentado duas caixas com molduras no vdeo e se for pressionada alguma tecla o programa finalizado. Voltar

Entrada de dados Para que possamos entrar com dados em um programa teremos que armazenar informaes em memria atravs de constantes que chamamos de variveis. Os conceitos de varivel no Clipper e na matemtica coincidem. No Clipper existem basicamente quatro tipos de variveis: a) variveis numricas; b) variveis alfanumrica (string); c) variveis lgicas; d) variveis data A varivel numrica corresponde a nmeros com at dezenove dgitos, contando pontos e vrgula. A varivel alfanumrica, ou string, corresponde s cadeias de caracteres, incluindo letras, nmeros, caracteres especiais e espaos (at 64 Kbytes). A varivel lgica representa um dos dois estados lgicos possveis: .T. (verdadeiro) ou .F. (falso). A varivel data usada para armazenar datas. O nome da varivel de memria pode ter at 10 caracteres. Somente letras, nmeros e "_" so permitidos. Deve comear com letra e no pode conter espaos em branco. Para criarmos nossas variveis iremos usar o operador de atribuio simples "=", da seguinte forma: =

Exemplo: nValor = 0.00 cNome = SPACE(40) cEmp = "PC TOLEDO SOFTWARE" lCond = .T. dNascto = CTOD(" ") Observe que o valor atribudo a uma varivel de memria defini o tipo de varivel que foi criada. Se for atribudo um nmero a varivel ser numrica, se for espaos em branco (SPACE (40)) ou uma cadeia de caracteres entre aspas a varivel ser alfanumrica, se for .T. ou .F. a varivel ser lgica e se for uma data em branco (CTOD(" ")) a varivel ser data. As variveis alfanumricas ou strings devem ser escritas entre aspas ou apstrofos e as variveis lgicas devem ser escritas entre pontos. Podemos tambm criar uma varivel a partir de uma outra varivel j existente, observe o exemplo abaixo: nValor = 10 nTotal = nValor * 2 cNome = "PAULO CESAR " cNomei = cNome + "TOLEDO" No primeiro exemplo foi criada uma varivel numrica com o valor 10, depois foi criada uma outra varivel (tambm numrica) onde vai ter o seu valor 20, que o resultado de 10 multiplicado por 2. No segundo exemplo foi criada uma varivel alfanumrica com o contedo "PAULO CESAR", depois foi criada uma outra com o contedo "PAULO CESAR TOLEDO", que a concatenao da primeira varivel com a expresso "TOLEDO". A operao entre variveis s pode ser feita com variveis do mesmo tipo, se forem de tipos diferentes ocorrer um erro durante a execuo do programa. Agora que j sabemos criar variveis vamos montar uma tela para digitao de entrada de dados, entre no EDIT e crie um arquivo com o nome de Exerc2.prg e digite os comandos abaixo. CLEAR SET DATE BRITISH SET CENTURY ON SET CONFIRM ON nCodigo = 0 cNome = SPACE(40) cEnd = SPACE(40) dAniver = CTOD(" ") cFone = SPACE(10) cEmail = SPACE(30) BORDA = CHR(201) + CHR(205) + CHR(187) + CHR(186) + ; CHR(188) + CHR(205) + CHR(200) + CHR(186) + CHR(176) @ 1,1,24,79 BOX BORDA @ 4,4 CLEAR TO 21,76 @ 4,4 TO 21,76 DOUBLE @ 6,30 SAY "AGENDA DE ENDEREOS" @ 8,8 SAY "Cdigo...........:" GET nCodigo PICTURE "999" VALID (nCodigo>0) @ 9,8 SAY "Nome..............:" GET cNome PICTURE "@!" VALID (!EMPTY(cNome)) @ 10,8 SAY "Endereo........:" GET cEnd PICTURE "@!" @ 11,8 SAY "Aniversrio.....:" GET dAniver PICTURE "@D" @ 12,8 SAY "Telefone..........:" GET cFone PICTURE "@R (999)999-9999" @ 13,8 SAY "E-mail..............:" GET cEmail READ CLEAR

RETURN Aps gravar o arquivo compile para ver se no h erros, linkedite para criar o arquivo executvel e depois execute o programa e digite as informaes solicitadas. Comandos utilizados: Apenas os novos comandos sero descritos. SET DATE BRITISH Configura o formato de datas para entrada de dados e exibio em tela, o formato BRITISH o usado em nosso pas (DIA/MES/ANO). SET CENTURY ON Controla a exibio dos dgitos de sculo em datas, preparando seu programa para o prximo milnio. Argumentos ON permite a entrada e exibio dos dgitos de sculo para datas. OFF suprime a entrada e exibio dos dgitos de sculo para datas. SET CONFIRM ON Comuta a tecla de sada necessria para a terminao de GETs. Argumentos ON obrigar o usurio a pressionar uma das teclas de sada para abandonar um GET. OFF permite ao usurio abandonar um GET com a prpria digitao de caracteres, tendo