Upload
hakhanh
View
231
Download
3
Embed Size (px)
Citation preview
Comandos da Linguagem Clipper 5.2
?/?? Prop sito: Mostrar um ou mais valores na console (v deo) ou
mpressora.Sintaxe: ?/?? Lista de express es
Exemplo:
CLEAR / / limpa a tela? Exemplo do comando ? / / exibe a informa o no video? date ( ) / / exibe a data ( nova linha )? a data de hoje ..:?? date ( ) / / exibe na mesma posi o anterior do cursor
@... BOXProp sito: Construir um box (caixa) na tela.Sintaxe: @ Lin inicial Col inicial Lin final Col final
ΒΟΞ Cadeia
Exemplo:
LOCAL C,L/* MODULO : m.PRGFUNC O: ACESSAR TODOS OS PROGRAMAS*/SAVE SCREN TO TECLADOSCLEARSET DATE BRITSET CONFIRM ONSET DETELE ONDO WHILE .T.CLEARSET WRAP ONSET MESSAGE TO 23 CENTERSET COLOR TO B/WREBOX=CHR (201) +CHR (205) +CHR (187) +CHR (186) +; CHR (188) +CHR (205) +CHR (200) +CHR (186)PRIVATE=EMPRESA:= FACULDADES REUNIDAS LTDAL = 08C = 22CLEAR@ 00,00,03,39 BOX RETBOX@ 00,40,03,79 BOX RETBOX@ 04,00,21,79 BOX RETBOX+CHR (177)@ 22,00,24,79 BOX RETBOX@ 01,02 SAY EMPRESA
Clipper 5.2 - Comandos e Fun es
1 1
@ 01,42 SAY CONTROLE DE FACULDADE@ 01,70 SAY DATE( )@ 02,42 SAY MODULO PRINCIPAL@ 02,70 SAY TIME ( )@ 23,02 SAY MENSAGEM@ L-1,C-2,L+7,C+35 BOX RETBOX+CHR(255) SET COLOR TO@ L,C PROMPT PROCESSAR FACULDADES@ L+2,C PROMPT PROCESSAR TABELA DE CURSOS@ L+4,C PROMPT PROCESSAR ALUNO@ L+6,C PROMPT VOLTAR AO D.O.S.MENU TO OPCDO CASECASE OPC = 1
DO MENUFACUCASE OPC = 2
DO MENUCURSCASE OPC = 3
DO MENUALUNOTHERWISE
RESTORE SCREEN FROM TELA TECLADOSCANCEL
ENDCASEENDDO
@ . . . CLEARProp sito: Apagar (limpar) apenas uma rea espec fica da tela.Sintaxe: @ Lin inicial Col inicial CLEAR
Lin final Col final
Exemplo:
SET COLOR TO B+/W / / muda a corCLS // equivalente a CLEAR, ou seja limpa toda a telaSET COLOR TO W+/N / / estabelece um novo padr o de cor@ 10,10 CLEAR TO 20,20 / / limpa uma regi o da tela@ 10,10 TO 20,20 DOUBLE / / desenha uma moldura (quadro)
@. . . SAY. . . GETProp sito: Criar e executar um novo objeto GET (entrada de dados),
olocando-o em exibi o na tela.Sintaxe: @ linha coluna SAY exp mascara SAY
When condi o[RANGE inicial finalVALID condi o
Exemplo:
Clipper 5.2 - Comandos e Fun es
2 1
Local vnome : space(30) , Vsalario : 0 / / define iniciavariaveis
::
// formata a digita o para maiusculas@ 12,10 say Nome do funcionario.....: get Vnome pict @!
// edita os numeros no formato europeu@ 14,10 say Salario Mensal....: get vsalario pict @E999,999,999.99vdata : date( ) // cria a variavel data contendo o DD/MM/AA
// contido no sistema operacional neste exemplo// assumida inicialmente a data do sistema para// que o usu rio n o necessite preencher o campo,// mas caso a data oferecida pelo programa n o // seja a correta basta que o usu rio pressione // qualquer tecla, que n o sejam as teclas de // movimenta o, que a data apagada, podendo // assim o usu rio escrever a data que desejar.
@ 16,10 say Admiss o..: get vadata pict @KREAD // executa os gets pendentesVendereco : space(35)
// permite a edi o do endere o, cujo tamanho de // de 35 posi es, em uma area da tela de apenas 20 posi es,
// rolando no sentido horizontal o que n o couber no 20 // espa os determinados por PICTURE @s20 .
@ 18,10 say Endereco..: get vendereco picture @s20READ // executa o get pentende.vcpf : space(14)@ 10,15 say C.P.F....: get vcpf picture 999.999.999-9ReadVnome : space(15) // equivalente picture @!@ 11,15 say Nome.....: get vnome picture !!!!!!!!!!!!!!!vcodigo : 0// os pontos ser o editados, porem n o ser o gravados na
// variavel.@ 12,15 say Codigo....: get vcodigo picture @R 99.999.999ReadvalorI : 0// ser aceito na digita o um valor que esteja compreendido
// entre 0 e 1000.@ 15,15 say Valor....: get valorI pict 9999 range (0,1000) ReadValorII : 0
// aceita apenas valores positivos@ 16,50 say Valor....: get valorII valid (valorII 0)Read
@. . . PROMPTProp sito: Montar um menu de op es selecion veis na tela.
Clipper 5.2 - Comandos e Fun es
3 1
Sintaxe: @ linha , coluna op o [ MESSAGE mensagem ]
Exemplo:
Local OPC :SET WRAP ON // habilita a rolagem da barra entre os extremos
// do menuSET MESSAGE TO 23 CENTER // determina a saida de mensagens da
// linha 23 da telaDO WHILE .T.CLEAR // LIMPA A TELA
// cria vari veis para facilitar as coordenadas do menuL:C:
// montar a tela@ 01,01 TO 24,79 DOUBLE@ 02,02 TO 04,78 @ 03,01 SAY ALT CONTROL INFORMATICA LTDA.@ 03,60 SAY DATE( )@ 03,70 SAY TIME( )
// detalha o menu de barras@ L,C PROMPT INCLUS O MESSAGE INCLUSAO DE DADOS@ L+1,C PROMPT ALTERA AO MESSAGE ALTERA AO DE DADOS@ L+2,C PROMPT CONSULTA MESSAGE CONSULTA DE DADOS@ L+3,C PROMPT EXCLUSAO MESSAGE EXCLUSAO DE DADOS@ L+4,C PROMPT RELATORIOS MESSAGE RELATORIOS DO SISTEMA@ L+5,C PROMPT UTILITARIOS MESSAGE UTILITARIOS DO SISTEMA@ L+6,C PROMPT F I M MESSAGE RETORNO AO DOS
// executa o menu e controla a barraMENU OPCDO CASE // faca os casosCASE OPC = 1
DO PROG1CASE OPC = 2
DO PROG2CASE OPC = 3
DO PROG3CASE OPC = 4
DO PROG4CASE OPC = 5
DO PROG5CASE OPC = 6
DO PROG6CASE OPC = 7
CANCEL // cancela a execu o do programaENDCASEINKEY(0) // aguarda QQ teclaENDDO
@. . . TOProp sito: Desenha um quadro (moldura) a partir de coordenadas
Clipper 5.2 - Comandos e Fun es
4 1
spec ficas da tela.Sintaxe: @ linhaI , colunaI TO linhaF , colunaF
[DOUBLE]
Exemplo:
SET COLOR TO B+/N@ 10,10 CLEAR TO 20,20@ 10,10 TO 20,20 DOUBLE
ACCEPTProp sito: Cria uma entrada de dados via teclado e armazenar o
onte do digitado em uma vari vel (tipo caracteres).Sintaxe: ACCEPT [ mensagem de sa da ] TO var .
Exemplo:
Local VnomeCLEAR // limpa a telaACCEPT Digite o nome....: TO VNOME? NOME QUE VOC DIGITOU FOI....: , VNOME
APPEND BLANKProp sito: Criar (inserir) um registro em branco no banco de dados
berto na rea corrente de trabalho.Sintaxe: APPEND BLANK
Exemplo:
Local Codvar, OP/*NOME DO PROGRAMA: CADMULT1.PRG
AUTOR : GORKI STARLINFUN AO: ESTE MODULO ANEXA DADOS NO ARQUIVO PAGAMENTO
*/USE FOLHA INDEX CODX,NOMEXDO WHILE .T.
// lay outCLEARSET COLOR TO W+/NSET COLOR TO@ 01,01 TO 24,79 DOUBLE@ 02,02 TO 04,78@ 03,03 SAY SIRIOS INFORMATICA@ 03,60 SAY ATE( )@ 03,70 SAY TIME( )
// criar vari veis
Clipper 5.2 - Comandos e Fun es
5 1
CODVAR = 0SETORVAR = 0SALARIOVAR = 0NOMEVAR = SPACE(35)CARGOVAR = SPACE(15)ATIVOVAR = (.T.)DATAVAR = CTOD ( / / )
// entrada de dados@ 06,10 SAY ** CADASTRAMENTO DE FUNCIONARIOS **@ 08,10 SAY CODIGO...........: GET CODVAR PICTURE 9999READIF CODVAR = 0 // verifica se o usu rio nao digitou o codigoOP: S // cria a variavel OP
@ 21,15 SAY SAI DESTE MODULO.(S/N)..: GET OP PICT AREADIF OP = S // verifica a resposta do usu rio
RETURN // retorneENDIF
LOOP // sobe a execu o para linha do DO WHILEENDIF // fim do se
SEEK CODVAR // pesquisa no indice o conteudo da variavel// CODVAR
IF EOF( ) // se n o existeAPPEND BLANK // tenta criar um registro em branco
// entra com o restante dos dados do funcionario@ 10,10 SAY NOME FUNCIONARIO..: GET NOMEVAR PICTURE @!@ 12,10 SAY SETOR TRABALHO....: GET SETORVAR PICT @9@ 14,10 SAY CARGO FUNCIONAL...: GET CARGOVAR PICT @!@ 16,10 SAY SALARIO...........: GET SALARIOVAR PICT 9999999.99@ 18,10 SAY FUNCIONARIO ATIVO.: GET ATIVOVAR@ 20,10 SAY DATA ADMISSAO.....: GET DATAVARREAD
// grava os dados no registro em brancoREPLACE COD WITH CODVARREPLACE NOME WITH NOMEVARREPLACE SETOR WITH SETORVARREPLACE CARGO WITH CARGOVAR REPLACE ATIVO WITH ATIVOVAR REPLACE DTADM WITH DATAVAR REPLACE SALARIO WITH SALARIOVAR@ 21,20 SAY ** CADASTRO **WAIT // aguarda QQ teclaCOMMIT // atualiza fisicamente o registro ELSE // se n o@ 21,20 SAY ** REGISTRO JA CADASTRADO **WAIT // aguarda QQ tecla ENDIF
ENDDO
APPEND FROMProp sito: Anexa registro de um arquivo especificado para o
Clipper 5.2 - Comandos e Fun es
6 1
arquivo que se encontra aberto na rea corrente de rabalho.
Sintaxe: APPEND FROM [ escopo ] [ FIELDS <campos>] FROM <arquivo>]
[FOR <condi o>] [WHILE <condi o>][SDF/DELIMITED]
[WHITH BLANK / <delimitador>]
Exemplo:
USE FOLHAAPPEND FROM COPIAF FOR .NOT. DELETED( ) // copia apenas os /registros n o marcados? termino da copia
AVERAGEProp sito: Calcular a m dia aritm tica de campos ou express es de
rquivos de dados.Sintaxe: AVERAGE campos TO var's [ escopo ]
[FOR condi o ] [WHILE condi o ]
Exemplo:
USE FOLHA // abre o arquivo de dadosAVERAGE SALARIO, COMISSAO TO vcom // calcula e armazena nas / vari veis? media salarial....: +str(vsal)? media das comiss es...: +str(vcom = A // calcula a media
// salarial, armazenando o // resultado na vari vel VSAL,// por m somente dos funcionarios// que trabalhem no setor A.
BEGIN SEQUENCEProp sito: Define uma sequ ncia de comandos para uma BREAK.Sintaxe: BEGIN SEQUENCE
. . . COMANDOS [ BREAK [ express o ] ]
. . . COMANDOS [ RECOUVER [ USING vari vel ] ]
. . . COMANDOS
END [ SEQUENCE ]
Clipper 5.2 - Comandos e Fun es
7 1
Exemplo:
Local Contador, Intervalo
CONTADOR :INTERVALO :DO WHILE CONTADOR < 50
BEGIN SEQUENCECONTADOR++ IF CONTADOR > INTERVALO
BREAK CONTADOR ENDIFRECOUVER USING CONTADOR ? BLOCO DEFINIDO, CONTADOR = +STR (CONTADOR)INTERVALO+ = 5
END SEQUENCE? SAI FORA DO BEGIN SEQUENCE
ENDDO? LOOP TERMINADO
CALLProp sito: Executa uma rotina constru da em outra linguagem de
rograma o.Sintaxe: CALL rotina WITH par metros
CANCELProp sito: Interromper a execu o do programa que est sendo
xecutado.Sintaxe: CANCEL
CLEAR ALLProp sito: Fecha todos os arquivos abertos e libera da mem ria
odas as vari veis (P blicas e Privadas).Sintaxe: CLEAR ALL
CLEAR GETSProp sito: Libera todos os Gets pendente.Sintaxe: CLEAR GETS
Clipper 5.2 - Comandos e Fun es
8 1
CLEAR MEMORYProp sito: Libera todas as vari veis P blicas e Privadas da
em ria.Sintaxe: CLEAR MEMORY
CLEAR SCREENProp sito: Limpa a tela sem liberar os Get's pendentes.Sintaxe: CLEAR SCREEN
CLEAR TYPEAHEADProp sito: Libera todas as pend ncias de teclagens do Buffer (fila)
o teclado.Sintaxe: CLEAR TYPEAHEAD
Exemplo:
/* Neste exemplo antes de folhear o banco de dados com a fun oBROWSE( ) garantido que n o exixtir nenhuma pendencia de teclasdo buffer do teclado, pois o mesmo ser limpo atrav s de CLEARTYPEAHEAD.*/BROWSE (5, 5, 23, 75) // folheia os registros do B.D.
CLOSEProp sito: Fechar arquivos, de qualquer tipo, que se encontrem
evidamente abertos.Sintaxe: CLOSE rea tipo
Exemplo:
CLOSE ALL // fecha todos os arquivos, de qualquer tipo// abertos em todas as reas.
CLOSE folha INDEXES // fecha todos os arquivos de ndices / que estiverem abertos na rea /( LIAS) FOLHA.
COMMIT
Clipper 5.2 - Comandos e Fun es
9 1
Prop sito: Realiza a grava o em discos de todos os Buffers dos rquivos abertos.
Sintaxe: COMMIT
Exemplo:
/*NOME DO PROGRAMA: CADMONO1.PRG
AUTOR : GORKI STARLINFUN O: ESTE MODULO ANEXA DADOS NO ARQUIVO PAGAMENTO
*/
SET DATE TO BRIT // p e as datas no formato DD/MM/AA
CLEAR// abre o arquivo e o incide
USE FOLHA INDEX CODX,NOMEX // abre o arquivo de dados e o de indice DO WHILE .T.CLEAR SET COLOR TO //p e cor padr o
// lay out@ 01,01 TO 24,79 DOUBLE@ 02,02 TO 04,78@ 03,03 SAY ALT CONTROL INF@ 03,60 SAY DATE( )@ 03,70 SAY TIME( )
// CRIAR VARIAVEISCODVAR : SETORVAR : SALARIOVAR :NOMEVAR : SPACE(35)CARGOVAR : SPACE(15)ATIVOVAR : (.T.)DATAVAR : CTOD ( / / )
// entrada de dados@ 06,10 SAY ** CADASTRAMENTO DE FUNCIONARIOS **@ 08,10 SAY CODIGO...........: GET CODVAR PICTURE 9999READIF CODVAR = 0 // verifica se o usu rio nao digitou o codigoOP : S // cria variavel OP
// pergunta se o usuario deseja sair do programa
@ 21,15 SAY SAI DESTE MODULO.(S/N)..: GET OP PICT AREADIF OP = S // verifica a resposta do usu rio
RETURN // retorneENDIF
LOOP // sobe a execu o para linha do DO WHILEENDIF // fim do seSEEK CODVAR // pesquisa no indice o conteudo da variavel
// variavel CODVARIF EOF( ) // se NAO EXISTE// entra com o restante dos dados do FUNCIONARIO@ 10,10 SAY NOME FUNCIONARIO..: GET NOMEVAR PICTURE @!@ 12,10 SAY SETOR TRABALHO....: GET SETORVAR PICT @9@ 14,10 SAY CARGO FUNCIONAL...: GET CARGOVAR PICT @!@ 16,10 SAY SALARIO...........: GET SALARIOVAR PICT 9999999.99@ 18,10 SAY FUNCIONARIO ATIVO.: GET ATIVOVAR@ 20,10 SAY DATA ADMISSAO.....: GET DATAVARREADAPPEND BLANK // criar um registro em branco
Clipper 5.2 - Comandos e Fun es
101
// grava os dados no registro em brancoREPLACE COD WITH CODVARREPLACE NOME WITH NOMEVARREPLACE SETOR WITH SETORVARREPLACE CARGO WITH CARGOVARREPLACE ATIVO WITH ATIVOVARREPLACE DTADM WITH DATAVARREPLACE SALARIO WITH SALARIOVAR
COMMIT // salva todo o conte do do buffers de arquivos,// armazenando-o em disco.
@ 21,20 SAY ** CADASTRO **INKEY(0) // aguarda QQ tecla
ELSE // se n o@ 21,20 SAY ** REGISTRO JA CADASTRADO **INKEY(0) // aguarda QQ tecla ENDIF // fim do seENDDO // fim do fa a enquanto
CONTINUEProp sito: Continua a pesquisa iniciada a partir do comando
LOCATE.Sintaxe: CONTINUE
Exemplo:
CLEARUSE FOLHA // abre o arquivo de dadosLOCATE FOR SETOR = ADO WHILE FOUND( ) // fa a enquanto existir
? NOME, SALARIO, SETOR // mostra os camposCONTINUE // continua a pesquisa
ENDDO // fim do fa a enquanto
COPY FILEProp sito: Copiar o conte do de um arquivo, independente do seu
ipo, para outro arquivo.Sintaxe: COPY FILE arquivo TO c pia
Exemplo:
COPY FILE FOLHA.DBF TO FCOPIA.DBFCOPY FILE FOLHA.DBF TO FCOPIA.DBTCOPY FILE MENU.PRG TO A:MENU.PRG
Clipper 5.2 - Comandos e Fun es
111
COPY STRUCTUREProp sito: Copiar apenas a estrutura do arquivo aberto na rea
orrente de trabalho.Sintaxe: COPY STRUCTURE TO copia [FIELDS campos ]
Exemplo:
USE FOLHA // abre o arquivo de dadosCOPY STRUCTURE TO TFOLHA // cria o arquivo TFOLHA.DBF com a
// mesma estrutura do arquivo FOLHA.DBF.COPY STRUCTURE TO TFOLHA FIELDS NOME,SALARIO,COD // cria o arquivo
// TFOLHA contendo uma estrutura de apenas// tr s campos.
COPY STRUCTURE EXTENDEDProp sito: Copia para outro arquivo informa es referentes
estrutura de um arquivo de dados aberto.Sintaxe: COPY STRUCTURE EXTENDED TO arquivo>
Exemplo:
USE FOLHA // abre o arquivo de dados FOLHA.DBFCOPY STRUCTURE EXETENDED TO EFOLHA // copia sua estrutura para o
// arquivo EFOLHA.DBFUSE EFOLHA // abre o aquivo contendo a estrutura de FOLHA.DBFLIST FIELD_NAME, FIELD_TYPE, FIELD_LEN, FIELD,DECX // lista os
// registros
COPY TOProp sito: Copia registros de bancos de dados (.DBF) para outro
rquivo (.DBF ou no formato ASCII).Sintaxe: COPY TO [ FIELDS <campos> ] TO <arquivo>
[<escopo>] [FOR <condi o>][SDF/DELIMITED [ WITH BLANK / delimitador]
Exemplo:
USE FOLHA // abre o arquivo FOLHA.DBFCOPY TO CFOLHA // copia os registros para o arquivo CFOLHA.DBFCOPY TO FOLHA FOR SETOR = A // somente ser o copiados os registros
// que possuem a letra A inicial no// campo SETOR
COPY TO CFOLHA RECORD 3 // copia apenas o registro 3COPY TP CFOLHA DELIMITED // copia para o arquivo CFOLHA.TXT
// no formato delimitadoTYPE CFOLHA.TXT // mostra o conte do do arquivo CFOLHA.TXT
Clipper 5.2 - Comandos e Fun es
121
COUNTProp sito: Calcular o totalizante referente quantidade de registos.Sintaxe: COUNT TO var [ escopo ] [FOR condi o ]
WHILE condi o
Exemplo:
USE FOLHACOUNT TO RESULTADO? RESULTADOCOUNT TO RESULTADO2 FOR SETOR = ACOUNT TO RESULTADO3 FOR SETOR = A .AND. CARGO = ESCRITURARIO?RESULTADO, RESULTADO2, RESULTADO3
CREATEProp sito: Criar um arquivo de estrutura (.DBF) vazio.Sintaxe: CREATE arquivo
Exemplo:
CREATE TESTRU // cria o arquivo de estruturaAPPEND BLANK // cria um registro em branco para descri o de
// um campo da estrutura.REPLACE ; // define o:FIELD_NOME WITH COD ; // nome do campoFIELD_TYPE WITH C ; // tipo do campoFIELD_LEN WITH 5 ; // tamanho do campoFIELD_LEN WITH 0 ; // n mero de casas decimaisCLOSE // fecha o arquivo de estruturasCREATE FOLHA TESTRU // declara o comando CREATE FROM para criar
// um novo arquivo .DBF a partir do arquivo// de estrutura TESTRU
DIR *.DBF // mostra todos os arquivos .DBF do diret rio
CREATE FROMProp sito: Criar um arquivo de dados (.DBF) a partir de um arquivo
e estruturas.Sintaxe: CREATE FROM <novo> FROM <arquivo_estrutura>
Exemplo:
CREATE TESTRU // cria o arquivo de estruturaAPPEND BLANK // cria um registro em branco para descri o de
// um campo da estrutura.REPLACE ; // define o:
Clipper 5.2 - Comandos e Fun es
131
FIELD_NOME WITH COD ; // nome do campoFIELD_TYPE WITH C ; // tipo do campoFIELD_LEN WITH 5 ; // tamanho do campoFIELD_LEN WITH 0 ; // numero de casas decimaisCLOSE // fecha o arquivo de estruturasCREATE FOLHA FROM TESTRU // declara o comando CREATE FROM para
// criar um novo arquivo .DBF a partir do// arquivo de estrutura TESTRU
DIR *.DBF // mostra todos os arquivos .DBF do diret rio
DECLAREProp sito: Declara vari veis ou vetores privates no programa.Sintaxe: DECLARE <identificador> [: <valor>]
DELETEProp sito: Marcar um registro para ser apagado.Sintaxe: DELETE escopo [FOR condi o ]
[ WHILE condi o ]
Exemplo:
USE FOLHADELETE ALL // marca TODOS os registrosDISPLAY ALL NOME, SALARIO, COD // mostra os registrosINKEY(0)SET DELETE ON // filtra os registros marcadosDISPLAY ALL NOME, SALARIO, COD // mostra os registrosINKEY(0)RECALL ALL // recupera todos os registrosDISPLAY ALL NOME, SALARIO, COD // mostra os registrosINKEY(0)DELETE FOR SETOR = A // marca os funcion rios do setor ADISPLAY ALL NOME, SALARIO, COD // mostra os registros? FIM
DELETE FILEProp sito: Apagar um arquivo, de qualquer tipo, do disco.Sintaxe: DELETE FILE <arquivo>
Exemplo:
IF FILE ( FOLHA.DBF ) se existir FOLHA.DBFDELETE FILE FOLHA.DBF? ARQUIVO FOI APAGADOENDIF
DIR *.DBF // mostra todos os arquivos com a exten o .DBF
Clipper 5.2 - Comandos e Fun es
141
DIRProp sito: Mostra a lista dos arquivos contidos em um diret rio.Sintaxe: DIR [<drive>] [<caminho>] [<m scara>]
Exemplo:
DIR // mostra todos os arquivos (BDF) e seus dadosDIR *.* // mostra todos os arquivos do diret rioDIR *.prg // mostra todos os programas do diret rio
DIR a: *.* // mostra todos os arquivos do diskete do drive A
DISPLAYProp sito: Mostra registros de um arquivo de dados na console.Sintaxe: DISPLAY <campos> [TO PRINTER]
[TO FILE <nome_arquivo>][OFF] [<escopo>] [FOR <condi o>][WHILE <condi o>]
Exemplo:
USE FOLHA // abre o arquivo de dadosDISPLAY COD, NOME, SALARIO ALL // mostra todos os registrosDIPLAY COD, NOME, SALARIO // mostra somente o registro correnteDISPLAY COD, NOME, SALARIO ALL FOR SETOR = A // mostra os registros
// dos funcion rios que
// que trabalham no setor A
DOProp sito: Executa um programa ou um procedimento.Sintaxe: DO <nome> [WITH <lista de par mentros>]
Exemplo::
IF OP = 2 DO PROG1ELSEIF OP =3
DO PROG2ELSE
DO PROG4 WITH NOMEENDIF
:
:
Clipper 5.2 - Comandos e Fun es
151
DO CASEProp sito: Criar uma estrutura de testes condicionais, onde apenas
ma executada.Sintaxe: DO CASE
CASE <condi o>. . . . instru es
[CASE <condi o2>]. . . . instru es
[OTHERWISE]. . . . instru es
END[CASE]
Exemplo:
DO CASECASE OP = 2
DO PROG1CASE OP = 3
DO PROG2OTHERWISE
RETURN
ENDCASE
DO WHILEProp sito: Executa uma estrutura de controle enquanto uma
ondi o for verdadeira.Sintaxe: DO WHILE <condi o>
. . . . <instru es>[EXIT]
. . . . <instru es>[LOOP]
. . . . <instru es>END[DO]
Exemplo:
::VARSAI := DO WHILE VARSAI .NOT. $ SN // fa a enquanto VARSAI n o
// contiver S ou N
// pergunta dirigida ao operador
@ 21,20 SAY SAIR DESTE MODULO (S/N)..: GET VARSAI PICT !READ
ENDDO // fim do fa a enquanto:
Clipper 5.2 - Comandos e Fun es
161
:
EJECTProp sito: Avan a a p gina da impressora posicionando a cabe a de
mpress o no local de inicializa o da pr xima p gina.Sintaxe: EJECT
Exemplo:
LOCAL L, PGUSE FOLHAL:= 0 // inicializa uma vari vel para controle da quantidade de
// linhas impressasPG:= 0GO TOP // v para o inicio do arquivoSET PRINT ON // liga a sa da comum para a impressora SET CONSOLE OFF // desabilita a sa da da consoleDO WHILE .not. EOF( ) // fa a enquanto n o fim do arquivo. IF L = 0 .OR. L=60 // se L for 0 ou 60
EJECT PG++ // acumula +1 na vari vel ? REALATORIO DE FUNCIONARIOS ? ? Pagina: +str(pg) replicate ( = , 78) // tra a uma linha 1 := 7ENDIF? COD, NOME, SALARIO // imprime os camposSKIP // pule para o pr ximo registroL++
ENDDO // fim do fa a enquanto
: :
ERASEProp sito: Apagar um arquivo, de qualquer tipo, do disco.Sintaxe: ERASE <arquivo>
Exemplo:
IF FILE ( FOLHA.DBF ) // se existir FOLHA.DBF
ERASE FOLHA.DBF? ARQUIVO FOI APAGADO
ENDIF
Clipper 5.2 - Comandos e Fun es
171
DIR *.DBF // mostra todos os arquivos com a extens o . DBF
EXTERNALProp sito: Declarar uma lista de s mbolos ou rotinas externas para o
inker.Sintaxe: EXTERNAL <lista>
Exemplo:
EXTERNAL fun es:
:
EXIT PROCEDUREProp sito: Declara um procedimento de sa da.Sintaxe: EXIT PROCEDURE <nome da rotina/procediemento>
[FIELDS <lista de s mbolos> [IN <alias>]][MENVAR <lista de s mbolos>]:<express es execut veis>:[return]
Exemplo:
// COMPILE ESTE PROGRAMA COM /NANNOUNCE MEUSYSTEMASTATIC nSEGUNDOSPROCEDURE PRINCIPAL( )nSEGUNDOS := SECONDS( )AEVAL (ASORT (DIRECTORY ( *.* )),;
{|Anomes | QQUT (Anomes[1} ) } )
return // termina o programa.
EXIT PROCEDURE SAIDA( ) / / rotina de sa da do programa
?? TEMPO: ?? SECONDS ( ) - nSEGUNDOS
RETURN / / finaliza definitivamente
Clipper 5.2 - Comandos e Fun es
181
FIELDProp sito: Especifica nomes de campos de arquivos de dados
.DBF).Sintaxe: FIELD <lista [IN <apelido>]
Exemplo:
FIELD NOME,COD,SALARIO INTO FOLHAFIELD CODCARGO,CREDITOS INTO CARGOSUSE FOLHA ALIAS FOLHAUSE CARGOS ALIAS FOLHA<instru es>::? cod,codcardi // equivalente a FOLHA-> COD,CARGOS -> CODCARGO? nome // equivalente a folha -> nome:
:
FINDProp sito: Pesquisa no primeiro ndice, o registro que possua uma
have especificada.Sintaxe: FIND <string>
Exemplo:
USE FOLHA INDEX CODX, NOME // abre o arquivo de dados folha.dbf// e seus respectivos arquivos de // ndices CODX, NOMEX
FIND 3020 // pesquisa o c digo 3020
IF FOUND( ) // se existirDISPLAY COD,NOME,SALARIO
ENDIFCODVAR : SPACE(4)@ 10,20 SAY DIGITE O CODIGO...: GET CODVAR PICTURE 9999READFIND CODVAR // pesquisa o conte do da vari vel
IF FOUND( ) // se existirDISPLAY COD,NOME,SALARIO
ENDIF
FOR. . . NEXTProp sito: Executa uma estrutura de controle, um determinado
mero de vezes.Sintaxe: FOR <contador> = <inicio> TO <fim> STEP
Clipper 5.2 - Comandos e Fun es
191
<passo> ...... <instru es> [EXIT] ...... <instru es> [LOOP]NEXT
Exemplo:
LOCAL TREGISTROSUSE CADASTROCOUNT TO TRESGISTROSGO TOPFOR I = 1 TO TREGISTROS STEP 1 DISPLAY NOME, ENDERECO, TEL // exibe o registro corrente SKIP // pula para o pr ximo registroNEXT? FIM
FUNCTIONProp sito: Cria (declara) uma fun o definida pelo usu rio (UDF).Sintaxe: [STATIC] FUNCTION <FUN O> [(PARAMENTRO1,..)]
[LOCAL <identificador>,...] [FIELD <lista de identificador> [IN <apelido>]
MEMVAR <lista de identificadores> : :
<instru es> :
:RETURN [<informa o>]
Exemplo:
LOCAL VAR1, VAR2, VAR3, Xvar1 := 3var2 := 7var3 := 100:? soma (var3,var2) // resultado : 107 (na tela)? soma (var1,var2) // resultado : 10 (na tela)x:= soma(var3,300) // resultado : 400 (na vari vel):::FUNTION SOMA ( P1, P2 ) // declara a fun o e recebe os par metrosR := P1+P2 // soma os par metrosRETURN R // retorna a execu o para rotina que chamou
// acompanhada do valor contido na vari vel R,
Clipper 5.2 - Comandos e Fun es
201
GOProp sito: Desloca o ponteiro interno do arquivo de dados para um
determinado registro.Sintaxe: GO [TO] <registro> | BOTTOM | TOP
Exemplo:
USE FOLHAGO 6 // v para o registro (record) numero 6DISPLAY NOME, COD, SALARIOGO TOP // v para o inicio do arquivoDISPLAY NOME, COD, SALARIOGO BOTTOM // v para o fim do arquivoDISPLAY NOME,COD,SALARIO
IFProp sito: Executa instru es somente quando uma express o
condicional for verdadeira.Sintaxe: IF <condi o>
<instru es>[ELSEIF < condi o2> <instru es>[ELSE] <instru es>END[IF]
Exemplo:
LOCAL MEDIA:= 0CLEAR@ 10,10 SAY DIGITE A MEDIA DO ALUNO...: GET MEDIA READIF MEDIA <5 ? REPROVADOELSEIF MEDIA = 5
? RECUPERA OELSE
? APROVAADOENDIF::
INIT PROCEDURE
Clipper 5.2 - Comandos e Fun es
211
Prop sito: Especificar uma procedure que ser executada antes da rimeira rotina do Programa.
Sintaxe: INIT PROCEDURE <nome da rotina/procedimento>[FIELDS <lista de simbolos> [IN <alias>]]
[LOCAL <simbolos> [: = valor]][MEMVAR <lista de simbolos>
<express es execut veis>:[Return]
Exemplo:
// COMPILE ESTE PROGRAMA COM /NANNOUNCE MEUSYSTEMASTATIC nSEGUNDOSPROCEDURE PRINCIPAL( )AEVAL (ASCOL (DIRECTORY ( *.* ) ) ,;
{ | Anomes | QOUT ( Anomes [1] ) } )RETURN // termina o programa.INIT PROCEDURE INICIAL( ) // rotin de inicializa onSEGUNDOS : SECONDS( )RETURNEXIT PROCEDURE SAIDA( ) // rotina de saida do programa. ? ? TEMPO: ?? SECONDS() - nSEGUNDOS RETURN // finaliza definitivamente
INDEXProp sito: Criar um arquivo de ndice (.NTX) para um determinado banco de
dados (.DBF)Sintaxe: INDEX ON <chave> TO < ndice> [UNIQUE]
[FOR <Condi o>]
Exemplo:
USE CADASTROCLEAR? INDEXANDOINDEX ON NOME TO INDICE1 // indexa o arquivo pelo nome e
// cria o arquivo que conter o controle de// ndice INDICE1.NTX
LOCAL VNOME:= SPACE(30)@ 10,10 SAY DIGITE O NOME..: GET VNOME PICTURE @!READ? PESQUISANDO
SEEK VNOME
Clipper 5.2 - Comandos e Fun es
221
IF FOUND( ) // se exeistirDISPLAY NOME, ENDERE O, CIDADE // mostra o registroENDIF? REGISTRO N O ENCONTRADO
INPUTProp sito: Realizar a entrada de dados de um express o e armazena a
mesma em uma vari vel.Sintaxe: INPUT [<mensagem>] TO <vari vel>
Exemplo:
LOCAL VARCELARINPUT DIGITE QUALQUER COISA..: TO VAR? VOC DIGITOU...:?? VAR
JOINProp sito: Criar um novo arquivo a partir de outros dois.Sintaxe: JOIN WITH <2 arquivo> TO <novo arquivo>
FOR <condi o> [FIELDS <lista de campos>]
Exemplo:
USE VENDAS // possui os campos cod_vend, cod_produto e// valor
USE CADVENDEDOR new // possui os campos cod_vend, nome
JOIN WITH VENDAS TO COMISSAO FOR COD_VEND= VENDAS -> COD_VEND;FILEDS COD_VEND, NOME, VALOR
// ser criado o arquivo COMISS O.DBF com os registros// lidos dos arquivos e a estrutura deste arquivo ser// os campos declarados ap s o argumento FILEDS.
KEYBOARDProp sito: Preencher o buffer do teclado com uma express o
aractere.Sintaxe: KEYBOARD <express o caractere>
Exemplo:
Clipper 5.2 - Comandos e Fun es
231
KEYBOARD aKEYBOARD CHR(65) // resultado: AKEYBOARD CHR(130) // resultado:
LABEL FORMProp sito: Executa a sa da de etiquetas a partir de um arquivo do
ormato. .LBL.Sintaxe: LABEL FORM <arquivo.LBL> [TO PRINTER]
[TO FILE][<ESCOPO>] [SAMPLE] [WHILE <condi o>][FOR<condi o>]
Exemplo:
USE MALA INDEX NOMELABEL FORM ETIQUETAS TO PRINTER SAMPLE // imprime as etiquetas
LISTProp sito: Lista os registros de arquivos de dados.Sintaxe: LIST<lista exp> [TO PRINTER]
[TO FILE <arquivo>] [<escopo>] [WHILE<condi o>] [FOR <condi o>] [OFF]
Exemplo:
USE MALALIST NOME, ENDERE O, CIDADELIST NOME, ENDERE O, CIDADE TO PRINTER // lista impressa
LOCATEProp sito: Localizar um registro dentro do banco de dados.Sintaxe: LOCATE [<escopo>] FOR <condi o> WHILE
<condi o>
Exemplo:
USE FOLHALOCATE FOR NOME = Jo o IF FOUND() / / se existirDISPLAY NOME, SAL RIO, SETORELSE? n o localizadoENDIF
Clipper 5.2 - Comandos e Fun es
241
LOOPProp sito: Saltar a execu o do programa para a linha DO WHILE,
u FOR.Sintaxe: LOOP
LOCALProp sito: Declarar uma vari vel ou matriz como local.Sintaxe: LOCAL<identificador> [: <inicializador>],...
Exemplo:LOCAL VAR,VAR2: 10 // declara as vari veis como locais? VAR2LOCAL MATRIZ1 [30] [10] // declara a matriz como local
MEMVARProp sito: Declara nomes de vari veis de mem ria Privadas ou
blicas.Sintaxe: MEMVAR <lista de vari veis>
Exemplo:
USE MALAMEMVAR NOME // declara como sendo vari veis de mem riaLOCAL NOME // declara como sendo uma vari vel de / mem ria local:? NOME // mostra o conte do da vari vel nome
? MALA NOME // mostra o conte do do campo nome
MENU TOProp sito: Executa um menu de barras luminosas.Sintaxe: MENU TO <vari vel>
Clipper 5.2 - Comandos e Fun es
251
NOTEProp sito: Cria uma linha de coment rio dentro do programa.Sintaxe: NOTE <texto>
Exemplo:
NOTE esta linha n o ser copilada, ou seja e apenas umNOTE coment rio? esta linha uma instru o que ser e apenas ser copilada esta linha tamb m um coment rio & tamb m um coment rios/* estas linhas tamb m s o coment rios*/
PACKProp sito: Remove (apaga) fisicamente registros marcados para
ele o.Sintaxe: PACK
Exemplo:
USE MALA INDE NOMEPACK // remove fisicamente do arquivo os registros marcados
PARAMETERProp sito: Criar vari veis de mem ria para o recebimento de
ar metros.Sintaxe: PARAMETER <lista de vari veis>
Exemplo:
MENSAGEM (5, 5, OI ! )FUNCTION MENSAGEM( ) PARAMETER LINHA, COLUNA, DADO //recebe valores da rotina / que chamar esta fun o@ LINHA, COLUNA SAY DADORETURN NIL
Clipper 5.2 - Comandos e Fun es
261
PRIVATEProp sito: Cria e inicializa vari veis ou matrizes como sendo
rivadas.Sintaxe: PRIVATE <identificador>[: <inicializador>],
Exemplo:
PRIVATE MATRIZ1 [20] [30] // declara que a matriz / ser privada PRIVATE A, B, C // declara que as vari veis s o
// privadas A: =8 // atribui um valor a
// vari velPRIVATE DATA: =DATE( ) // declara e inicializa a
// vari vel privada
PROCEDUREProp sito: Cria um procedure e seus par metros.Sintaxe: [STATIC] PROCEDURE <procedure> [(lista
ar metros)][FIELD <lista de campos>[IN <apelidos>]][LOCAL<identificador> [: <inicializador>],,,][MEMVAR <lista de identificadores>][STATIC <identificador>
[: <inicializador],,,]:<instru es>:[RETURN]
Exemplo:
:: : MENSAGEM(20,10, N O ENCONTRADO ):: PROCEDURE MENSAGEM(LINHA, COLUNA, DADO)@ LINHA, COLUNA SAY DADORETURN
Clipper 5.2 - Comandos e Fun es
271
PUBLIC Prop sito: Cria e inicializa vari veis e matrizes p blicas.Sintaxe: PUBLIC <identificador>[: <inicializador>],,,
Exemplo:
PUBLIC MATRIZ3 [48] [10] // define a matriz como publicaPUBLIC A, B, C //define as vari veis como p blicas
::A: = 10 // inicializa a vari vel
QUIT Prop sito: Termina a execu o do programa.Sintaxe: QUIT
Exemplo:
:RESPOSTA: = S@ 20,10 SAY SAIR DESTE PROGRAMA...: GET RESPOSTA PICT !READ
IF RESPOSTA = SQUIT / / termina o programa
ELSELOOP //sobe a execu o para linha de DO WHILE
ENDIF::
READProp sito: Executar edi o das vari veis especificadas pelo
omando @.. SAY.. GET.Sintaxe: READ[SAVE]
Exemplo:
LOCAL VNOME, VENDERE O, VSAL RIOVNOME: = SPACE(30)
Clipper 5.2 - Comandos e Fun es
281
VENDERE O: = SPACE(35)VSAL RIO: = 0.00@ 10,10 SAY DIGITE O NOME...: GET VNOME PICT !@ 12,10 SAY DIGITE O ENDERE O..: GET VENDERE O@ 14,10 SAY DIGITE O SAL RIO...: GET VSAL RIO PICT @E 9,999.99READ // executa e no final libera os tres GET's pendentes
RECALLProp sito: Recupera registros marcados para a elimina o atrav s do
comando DELETE.Sintaxe: RECALL <escopo> [WHILE<condi o>]
[FOR<condi o>]
Exemplo:
USE MALA GOTO 3IF DELETED( ) // se o registro se encontra marcado
// (deletado)RECALL // recupereENDIF
REINDEXProp sito: Recriar os arquivos de ndices abertos nas reas de
rabalho corrente.Sintaxe: REINDEX
EVAL<Condi o>][EVERY<nRegistro>]
Exemplo:USE MALA INDEX INOME, ICODREINDEX / / reorganiza os arquivos
INOME, ICOD::
RELEASEProp sito: Libera da mem ria v rias P blicas e Privadas.Sintaxe: RELEASE <lista de vari veis>
[ALL [LIKE / EXCEPT <eskeleto>] ]
Clipper 5.2 - Comandos e Fun es
291
Exemplo: RELEASE ALL LIKE V* / / libera todas as vari veis que come am com a letra V
RELEASE VNOME / / libera a vari vel VNOME
RENAMEProp sito: Renomear um arquivo
Sintaxe: RENAME <nome atual> TO <novo nome>
Exemplo:RENAME ARQ.TXT TO ARQ_NOVO.TXT / /
troca o nome do arquivoRENAME MALA.DBF TO POSTAL.DBF
REPLACEProp sito: Substituir o conte do de um campo por uma
express o.Sintaxe: REPLACE <campo> WITH <expess o>
FOR <Condi o>][WHILE <condi o>]
Exemplo:USE MALA INDEX ICODAPPEND BLANK / / cria um registro em
brancoREPLACE COD WITH 23, NOME WITH JO O
/ preenche os campos :
REPORT FORMProp sito: Realizar a sa da de um relat rio para console
ou impressora.
Sintaxe: REPORT FORM <nome do arquivo> [<escopo>] [TO PRINTER]
[TO FILE <nome>] [FOR <Condi o>][WHILE <Condi o>][PLAIN] [HEADING <cabe alho>] [NOEJECT]
[SUMMARY]
Clipper 5.2 - Comandos e Fun es
301
Exemplo:USE FOLHA INDEX INOMEREPORT FORM REL1 TO PRINTER / / relat rio
impresso dos registrosREPORT FORM REL1 TO PRINTER HEADING ALT
CONTROL - SETOR 4 ;FOR SETOR = 4 / / imprime somente os funcion rios
do setor 4
REQUESTProp sito: Declara m dulos a serm chamados.
Sintaxe: <m dulos>
RESTOREProp sito: Carregar vari veis gravadas de um arquivo
(.mem) do disco.
Sintaxe: RESTORE <nome do arquivo> [ADDITIVE]
Exemplo:A: =4
OME: = JO OSAVE TO ARQVAR / / salva todas as vari veis
de mem ria no arquivo ARQVAR.MEMRELEASE ALL / / apaga todas as vari veisRESTORE FROM ARQVAR / / restaura as vari veis
do arquivo ARQVAR.MEM? A? NOME
RESTORE SCREENProp sito: Restaurar no v deo uma tela salva anteriormente.Sintaxe: RESTORE SCREEN [FROM tela ]
Exemplo:
CLEAR@ 10,10 TO 23,79@ 15,15 SAY ESTA TELA SERA SALVA
Clipper 5.2 - Comandos e Fun es
311
SAVE SCREEN TO IMAGEMINKEY(0) / / aguarda uma teclaCLEAR / / limpa a tela RESTORE SCREEN FROM IMAGEM // recupera a tela / gravada na vari vel imagem
RETURNProp sito: Terminar a execu o de uma procedure, programa
u fun o do usu rio.Sintaxe: RETURN valor
Exemplo:
? SITUA O (3,7,8,10)FUNCTION SITUA O(N1, N2, N3, N4)M DIA : = (N1+N2+N3+N4)/4IF M DIA = >6RETURN APROVADOELSERETURN REPROVADOENDIF
RUNProp sito: Executar um programa ou comando do sistema
peracional.Sintaxe: RUN <descri o>
Exemplo:? FAVOR ATUALIZAR A HORA DO SISTEMA!.? FAVOR ATUALIZAR A DATA DO SISTEMA!.! DATE
SAVEProp sito: Salvar em um arquivo no disco, vari veis de
em ria e seus conte dos.Sintaxe: SAVE TO <arquivo> [ALL[LIKE|EXCEPT <esqueleto>]]
Exemplo:
A:=9VNOME := JOAO
Clipper 5.2 - Comandos e Fun es
321
VENDE:= RUA DAS CAMELIAS 44SAVE TO ARQVAR2 ALL LIKE V* // salva: VNOME E VENDE no arquivo
// ARQVAR2.MEMSAVE TO ARQVAR // salva todas as vari veis no arquivo
// ARQVAR.MEM
SAVE SCREENProp sito: Salvar a tela atual no buffer ou em uma vari velSintaxe: SAVE CREEN [TO tela ]
SEEKProp sito: Pesquisar nos registros do banco de dados indexado uma chave
especificada.Sintaxe: SEEK chave
Exemplo:
USE MALA INDEX INOMESEEK JOAO // Equivalente A: DBSEEK ( JOAO )IF FOUND( ) // se existir
DISPLAY NOME, ENDERECO, CIDADEELSE
? NAO ENCONTRADOENDIF
SELECTProp sito: Seleciona uma rea de trabalho.Sintaxe: SELECT Nome da rea | apelido
Exemplo:
USE MALA INDEX INOMESELECT 0 // seleciona o pr xima rea dispon velUSE FOLHA INDEX CODFLIST NOME, SALARIO, SETOR, CODSELECT MALA // selecina o arquivo rea MALALIST COD, CLIENTE, CIDADE
LIST MALA CLEINTE, FOLHA SALARIO // lista registro de // outra rea
Clipper 5.2 - Comandos e Fun es
331
SET ALTERNATEProp sito: Realiza a sa da do console para um arquivo (ASCII) a ser gravado
no disco.Sintaxe: SET ALTERNATE TO arquivo |[ON]|[OFF]| (.T.)/(.F.)
Exemplo:
SET ALTERNATE TO ARQSAIDA.TXTAET ALTERNATE ON // lida a sa da para o arquivoUSE MALA INDEX ICEPLIST CLIENTE, CIDADE, ESTADOSET ALTERNATE OFF // suspende a sa da para o arquivoCLOSE ALTERNATE // fecha a opera o com o arquivo // alternativo.TYPE ARQSAID.TXT
SET BELLProp sito: Controla a sa da sonora na opera o de entrada de dados.Sintaxe: SET BELL ON|OFF| (.T.)/(.F.)
SET CENTURYProp sito: Possibilita configurar os d gitos dos s culos das datas.Sintaxe: SET CENTURY ON|OFF| (.T.)/(.F.)
Exemplo:
SET DATE TO BRIT // escolher o formato da data? date( ) // resultado: DD/MM/AASET CENTURY ON // configura as datas para quatro
// digitos no ANO? date( ) // resultado: DD/MM/AAAASET CENTURY OFF // retorna ao padr o
SET COLORProp sito: Definir as cores que ser o exibidas na tela.Sintaxe: SET COLOR TO [<padr o>, <destaque>,
<borda>, <fundo>, <n o selecionado>] | string>
Exemplo:
VNOME := SPACE(30)PADRAO1 := W/N, N/N
Clipper 5.2 - Comandos e Fun es
341
PADRAO2 := B/N, N/WSET COLOR TO (PADRAO1)@ 10,10 SAY DIGITE O NOME...: GET VNOME PICTURE @!SET COLOR TO (PADRAO2)READSET COLOR TO W+,B? VOCE DIGITOU O NOME...:?? VNOME
SET CONFIRMProp sito: Configurar a confirma o de entrada de dados de GET's.Sintaxe: SET CONFIRM ON|OFF| (.T.)/(.F.)
Exemplo:
CLEARLOCAL VNOME := SPACE(15)@ 10,10 SAY DIGITE O SE NOME POR COMPLETO...: GET VNOMEREADSET CONFIRM ON // liga a confirma o@ 20,10 SAY DIGITE O SEU NOME POR COMPLETO...: GET VNOMEREAD
SET CONSOLEProp sito: Configurar a sa da do consoleSintaxe: SET CONSOLE ON|OFF
SET CURSORProp sito: Configurar o formato da edi o de campos ou vari veis
o tipo Data.Sintaxe: SET DATE [TO] nome
Exemplo:
SET DATE TO ITALIAN? A DATA DE HOJE E....:?? DATE( )
Clipper 5.2 - Comandos e Fun es
351
SET DATE TO GERMAN
VDATA:=CTOD ( / / )@ 10,10 SAY DIGITE QUALQUER DATA...: GET VDATAREAD
SET DATE TO ANSY? Mudando o formato da data? A data que voc digitou foi...:?? VDATA
SET DECIMALSProp sito: Configurar a quantidade de casas decimais exibidas.Sintaxe: SET DECIMALS quantidade de decimais
Exemplo:
SET FIXED ONSET DECIMALS TO 2 // 2 casas decimais (o padr o)
? 10/3? 20/7
SET DECIMALS TO 5
? 10/3? 20/7
SET DEFAULTProp sito: Configurar a unidade de disco em que os arquivos ser o
rocessados.Sintaxe: SET DEFAULT TO disco\diret rio\ , ,
Exemplo:
SET DEFAULT TO A: // muda a leitura de arquivo para o disketeSET DEFAULT TO C:\CLIPPER5 // muda para a unidade C no
// diret rio \ CLIPPER5
SET DELETEDProp sto: Ativar ou desativar os registros marcados para
Clipper 5.2 - Comandos e Fun es
361
limina o.Sintaxe: SET DELETED ON|OFF|(.T.)/(.F.)
SET DELIMITERSProp sito: Ativar ou destivar a edi o de caracteres que ser o
utilizados como delimitadores de GET's.Sintaxe: SET DELIMITERS ON|OFF|(.T.)/(.F.)
SET DELIMITER TOProp sito: Define dlimitadores para edi es GET's.Sintaxe: SET DELIMITERS TO delimitadores [DEFAULT]
Exemplo:
CLEARVNOME:= VENDERECO:= SPACE(30)SET DELIMITER ON // liga a edi o de delimitadoresSET DELIMITER TO :: // estabelece novos delimitadores@ 10,10 SAY DIGITE O NOME...: GET VNOMESET DELIMITER TO [] // muda os delimitadores novomente@ 12,10 SAY DIGITE O ENDERECO..: GET VENDERECOREAD
SET DEVICEProp sito: Configurar a sa da dos comandos @. . . SAY.Sintaxe: SET DEVICE TO SCREEN|PRINTER
Exemplo:
CLEAR@ 10,10 SAY LIGUE A IMPRESSORA E PRESS. QQ. TECLA\\INKEY(0) // aguarda qualquer teclaSET DEVICE TO PRINTER // liga a sa da (@.. say) para a
// impressora@ 20,15 SAY SERA IMPRESSO NA LINHA 20, COLUNA 15 DO PAPELSET DEVICE TO SCREEN // retorna a sa da para a tela
SET EPOCHProp sito: Permite um maior controle das datas que n o possuem quatro
d gitos no ano.Sintaxe: SET EPOCH <ano>
Clipper 5.2 - Comandos e Fun es
371
Exemplo:
SET DATE FORMAT TO DD/MM/YYYY // formata o ano com 4 d gitos
? CTOD ( 04/05/78 ) // resultado: 04/05/1978? CTOD ( 04/05/92 ) // resultado: 04/05/1992
SET EPOCH TO 1980? CTOD ( 04/05/78 ) // resultado: 04/05/2078 // data menor?
? CTOD ( 04/05/92 ) // resultado: 04/05/1992
SET ESCAPEProp sito: Ativar ou desativar a sa da de um GET atrav s da tecla <ESC>.Sintaxe: SET ESCAPE ON|OFF|(.T.)/(.F.)
SET EXACTProp sito: Determina se as compara es entre express es caracteres devem
ser totalmente iguais ou parciais.Sintaxe: SET EXACT ON|OFF|(.T.)/(.F.)
Exemplo:
// .T. (sim) .F. (n o)
SET EXACT OFF // padr o
? AB1 = AB1CD // RESULTADO: .T.
? AB1 = AB1 // RESULTADO: .T.
SET EXACT ON? AB1 = AB1CD // RESULTADO: .F.
? AB1 = AB1 // RESULTADO: .T.
SET EXCLUSIVEProp sito: Determina se a abertura de arquivos para utiliza o ser de modo
exclusivo ou compartilhado.Sintaxe: SET EXCLUSICE ON|OFF|(.T.)/(.F.)
SET FILTER
Clipper 5.2 - Comandos e Fun es
381
Prop sito: Cria filtros l gicos que escondem registros que n o atendem acondi o do filtro criado.
Sinatxe: SET FILTER TO <condi o>
Exemplo:
USE MALASET FILTER TO NOME = A // somente os nomes que come am / com a letra ALISTA NOME, ENDERE OSET FILTER TO // tira o filtro, volta ao normalLISTA NOME, ENDERE O
SET FIXEDProp sito: Determina a sa da de casas decimais de todos os n meros.Sintaxe: SET FIXED ON|OFF(.T.)/(.F.)
SET FORMATProp sito: Executa um arquivo de formato de tela quando um READ
avaliado.Sintaxe: SET FORMAT <rotina>
Exemplo:
VNOME:=SPACE(40)VENDERECO:=SPACE(30)SET FORMAT TO TELA // seta o formato para uma procedure de
// nome TELAREADPROCEDURE TELA@ 10,10 SAY NOME......: GET VNOME@ 12,10 SAY ENDERE O..: GET VEDERECORETURN
SET FUNCTIONProp sito: Reprogramar uma tecla de fun o.Sintaxe: SET FUNCTION <tecla> TO <express o caractere>
Exemplo:
// reprogramando as teclas F2 e F3
Clipper 5.2 - Comandos e Fun es
391
SET FUNCTION 2 TO GORKI STARLIN +CHR(13) // CHR(13) = <ENTER>SET FUNCTION 3 TO EDITORA ERICA? PRESS. <F3> OU <F2>ACCEPT DIGITE ALGO..: TO TESTE
SET INDEXProp sito: Abrir arquivos de ndices para um arquivo de dados aberto na
rea de trabalho corrente.Sintaxe: SET INDEX TO <lista de arquivos de ndices>
Exemplo:
USE MALASET INDEX TO INOME, ICEP // organizado pelo ndice NOMELIST NOME, ENDERECO, CIDADESET ORDER TO 2 // ICEP, NOMELIST NOME, ENDERECO, CIADESET INDEX TO // fecha todos os ndices
SET INTENSITYProp sito: Determina como os campos de edi o GET's e PROMPT's ser o
exibidos.Sintaxe: SET INTENSITY ON|OFF|(.T.)/(.F.)
SET KEYProp sito: Determina uma chamada de uma rotina atrav s de uma tecla.Sintaxe: SET KEY <n mero da tecla> TO <rotina>
Exemplo:
CLEARSET KEY -2 TO TERMINA( ) // liga a tecla <f2> com a fun o
// TERMINA( )VNOME:=SPACE(30)@ 23,10 SAY <F2> TERMINA O PROGRAMA@ 10,10 SAY DIGITE O NOME...: GET VNOMEREADFUNCTION TERMINA( )CANCELRETURN
Clipper 5.2 - Comandos e Fun es
401
SET MARGINProp sito: Estabelecer o tamanho da margem esquerda para sa da para a
impressora.Sintaxe: SET MARGIN TO <tamanho>
Exemplo:
USE MALA INDEX INOMESET MARGIN TO 10LIST NOME, ENDERECO, CIDADE TO RPINTER
SET MESSAGEProp sito: Especifica qual linha do v deo ser utilizada para exibir as
mensagens sa das pelo comando Prompt.Sintaxe: SET MESSAGE TO <linha> (CENTER/CENTRE)
Exemplo:
CLEARSET MESSAGE TO 23 CENTER@ 10,10 PROMPT 1 - CADASTRAR MESSAGE CADASTRAMENTO....:@ 12,10 PROMPT 2 - PESQUISA MESSAGE PESQUISANDO......:MENU TO VAR:::
SET ORDERProp sito: Estabelecer qual dos arquivos de ndices abertos ser o Master
Index.Sintaxe: SET ORDER TO <n mero do ndice>.
Exemplo:
USE MALA INDEX ICEP, INOMELIST NOME, ENDERECO, CIDADE, CEP // lista em ordem de NOMESSET ORDER TO 2 // muda o arquivo de ndice de controleLIST NOME, ENDERECO, CIDADE, CEP // lista em ordem de CEP
Clipper 5.2 - Comandos e Fun es
411
SET PATHProp sito: Especificar uma dire o de disco ou diret rio que ser pesquisada
pelo Clipper quando este tentar abrir arquivos e n o os encontrar.Sintaxe: SET PATH <lista de dire es>
Exemplo:
SET PATH TO C:\FOLHA;C:\FATURA // assinala dois caminhos// opcionais
SET PRINTERProp sito: Especificar a sa da do console para a impressora ou para um
arquivo.Sintaxe: SET PRINTER ON|OFF|(.T.)/(.F.)
SET PRINTER TO <arquivo>SET PRINTER TO <device>
Exemplo:
SET PRINTER OFF? DATE( ), TIME( )SET PRINTER ON // liga a sa da da console para impressora? DATE( ), TIME( )
SET PROCEDUREProp sito: Abrir um arquivo de procedures e compilar suas procedures,
colocando-as dentro do programa .OBJ a ser gerado.Sinatxe: SET PROCEDURE TO < nome do arquivo>
SET RELATIONProp sito: Estabelecer relacionamentos entre reas de trabalho.Sinatxe: SET RELATION TO [<campo>|<registro> INTO < rea>], TO. .
.[ADDITIVE]
Exemplo:
USE CURSOS.DBF INDEX CODCUR.NTXUSE ALUNOS.DBF NEWSET RELATION INTO CURSO TO CURSOS // estabelece a rela o
Clipper 5.2 - Comandos e Fun es
421
SET SCOREBOARDProp sito: Ligar ou desligar a exebi o das mansagens emitidas por READ
e MEMOEDIT( ).Sintaxe: SET SCOREBOARD ON|OFF|<.F.>/<.T.>
SET SOFTSEEKProp sito: Ligar ou desligar a pesquisa relativa do comando SEEK.Sintaxe: SET SOFTSEEK ON|OFF|(.T.)/(.F.)
SET TYPEAHEADProp sito: Determina o tamanho do buffer do teclado.Sintaxe: SET TYPEAHEAD TO <valor do tamanho>
SET UNIQUEProp sito: Ligar ou deligar a inclus o de chaves duplicadas em um ndice.Sintaxe: SET UNIQUE ON|OFF|(.T.)/(.F.)
SET WRAPProp sito: Liga ou desliga a rolagem da barra entre extremos do menu
mantado pelo comando @. . . PROMPT.Sintaxe: SET WRAP ON|OFF|(.T.)/(.F.)
SKIPProp sito: Saltar o ponteiro entre os registros do banco de dados.Sintaxe: SKIP <salto> [ALIAS >nome da rea>]
Exemplo:
USE MALAGO 1SKIP 2 // salta para o registro 3SKIP 4 // salta para o registro 7SKIP -3 // salta para o registro 4
Clipper 5.2 - Comandos e Fun es
431
SORTProp sito: Criar um arquivo de dados (.DBF) Classificado.Sintaxe: SORT TO <arquivo> ON <campo> [/[A][D][C]], <campo2>. . .
[<escopo>] [WHILE <condi o>][FOR <condi o>]
Exemplo:
USE MALASORT TO MALA2 ON NOME // classificara os registros pelo campo
// NOMEUSE MALA2LIST NOME, ENDERECO, CIDADE
STATICProp sito: Declara uma vari vel ou matriz como est tica.Sintaxe: STATIC <identificador> [:=<inicializador>]
Exemplo:
FUNCTION SENHASTATIC VCONTROLE := 6 // declara a vari vel como est tica::RETURN
STOREProp sito: Atribuir valores a vari veis.Sintaxe: STORE <valor> TO <vari veis>
Exemplo:
STORE 123.33 TO VAR1 // equivalente a VA1:=123.33? VAR1 // mostra o valor de VAR1VAR1:=VAR2:=4848? VAR1,VAR2 // resultado: 4848 4848
SUMProp sito: Realizar o somat rio de express es.Sintaxe: SUM <lista de express es> TO <lista de vari veis> [<escopo>]
[WHILE <condi o>] [FOR <condi o>]
Exemplo:
Clipper 5.2 - Comandos e Fun es
441
USE FOLHASUM SALARIO TO TOTALSAL FOR SETOR = 1 // tolaliza o salario
// dos funcion rios do setor 1@ 10,10 SAY RESULTADO...: +STR (TOTALSAL)
TEXTProp sito: Permite a exibi o de um bloco de textos no v deo, em um
arquivo ou na impressora.Sintaxe: TEXT [TO PRINTER][TO FILE <arquivo.ext> <texto>...
ENDTEXT
Exemplo:
TEXT // abre o bloco de texto----------------------ISTO E APENAS UM TEXTO----------------------
ENDTEXT // finaliza o bloco de texto
TOTALProp sito: Cria um arquivo (.DBF), contendo valores totalizados de outros
arquivos de dados.Sintaxe: TOTAL ON <campo> TO <arquivo> [<escopo>] [FIELDS <lista
campo> [FOR <condi o>]TYPE
Prop sito: Mostrar o conte do de um arquivo texto gravado em disco.Sintaxe: TYPE <arquivo> [TO PRINTER] [TO FILE <arquivo n 2>
Exemplo:
TYPE MENU.PRG TO PRINTER // imprime a listagem do programa// MENU.PRG
UNLOCKProp sito: Liberar travamentos de arquivo ou registro em ambiente de Rede
Local.Sintaxe: UNLOCK[ALL]
Clipper 5.2 - Comandos e Fun es
451
Exemplo:
USE MALA SHARED::
IF FLOCK( ) // trava todos os registros REPLACE SALARIO WITH VSAL*INDICE ALL UNLOCK // libera o travamento pendenteELSE ? NAO POSSIVEL PROCESSAR OS REGISTROS NO MOMENTOENDIF
UPDATEProp sito: Atualizar o arquivo aberto na rea corrente a partir de
utro arquivo de dados aberto em outra rea de trabalho.Sintaxe: UPDATE FROM < rea|arquivo> ON <campo chave>
REPLACE <campo> WITH <express o>, <campo2> WITH ,<express o2>,,,
[RANDOM]
USEProp sito: Abrir um arquivo de dados (.DBF) e opcionalmente
rquivo a este associado.Sintaxe: USE <arquivo.dbf> [index <lista de arquivo de ndice>]
[ALIAS <apelido>][EXCLUSIVE/SHARED][NEW] [READONLY]VIA < C driver>
Exemplo:
USE MALA INDEX ICOD, INOMEUSE MALA READONLY // somente para leituraUSE FOLHA INDEX CODIFO NEW // abre o arquivo na pr xima rea
// dispon vel.
WAITProp sito: Determinar uma pausa na execu o do programa at que
ma tecla seja pressionada.
Clipper 5.2 - Comandos e Fun es
461
Sintaxe: WAIT [<mensagem>] TO [<vari vel>]
Exemplo:
A:=4WAIT Press. qualquer tecla para continuarB:=5? A+B
ZAPProp sito: Excluir os registros do arquivo aberto na rea corrente.Sintaxe: ZAP
Exemplo:
USE MALA INDEX ICOD, ICEPZAP // elimina todos os registros.
Clipper 5.2 - Comandos e Fun es
471