4942105 Funcoes e Comandos Do CLIPPER

download 4942105 Funcoes e Comandos Do CLIPPER

of 116

Transcript of 4942105 Funcoes e Comandos Do CLIPPER

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    1/116

    NDICE

    COMANDOS DA LINGUAGEM CLIPPER 5.2?/??......................................................................................................................09

    @... BOX.............................................................................................................09@... CLEAR........................................................................................................10@... SAY...GET...................................................................................................11@... PROMPT.....................................................................................................12@... TO................................................................................................................13ACCEPT.............................................................................................................13APPEND BLANK..............................................................................................14APPEND FROM.................................................................................................15AVERAGE..........................................................................................................16BEGIN SEQUENCE...........................................................................................16CALL..................................................................................................................17

    CANCEL.............................................................................................................17CLEAR ALL.......................................................................................................17CLEAR GETS...................................................................................................18CLEAR MEMORY.............................................................................................18CLEAR SCREEN...............................................................................................18CLEAR TYPEAHEAD.......................................................................................18CLOSE................................................................................................................18COMMIT............................................................................................................19CONTINUE........................................................................................................20COPY FILE.........................................................................................................21COPY STRUCTURE..........................................................................................21

    COPY STRUCTURE EXTENDED....................................................................21COPY TO............................................................................................................22COUNT...............................................................................................................22CREATE..............................................................................................................22CREATE FROM.................................................................................................23DECLARE..........................................................................................................23DELETE..............................................................................................................23DELETE FILE....................................................................................................24DIR......................................................................................................................24DISPLAY............................................................................................................25DO.......................................................................................................................25DO CASE............................................................................................................25DO WHILE.........................................................................................................26EJECT.................................................................................................................27ERASE................................................................................................................27EXTERNAL........................................................................................................28EXIT PROCEDURE...........................................................................................28FIELD.................................................................................................................28FIND...................................................................................................................29FOR... NEXT......................................................................................................29FUNCTION.........................................................................................................30

    GO.......................................................................................................................31IF.........................................................................................................................31

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    2/116

    INIT PROCEDURE............................................................................................32INDEX................................................................................................................32INPUT.................................................................................................................33JOIN....................................................................................................................33KEYBOARD.......................................................................................................34

    LABEL FORM....................................................................................................34LIST....................................................................................................................34LOCATE.............................................................................................................35LOOP..................................................................................................................35LOCAL...............................................................................................................35MENVAR............................................................................................................36MENU TO...........................................................................................................36

    NOTE..................................................................................................................36PACK..................................................................................................................36PARAMETER.....................................................................................................37PRIVATE.............................................................................................................37

    PROCEDURE.....................................................................................................38PUBLIC..............................................................................................................38QUIT...................................................................................................................39READ..................................................................................................................39RECALL.............................................................................................................40REINDEX...........................................................................................................40RELEASE...........................................................................................................40RENAME............................................................................................................41REPLACE...........................................................................................................41REPORT FROM.................................................................................................41REQUEST...........................................................................................................42RESTORE...........................................................................................................42RESTORE SCREEN...........................................................................................42RETURN.............................................................................................................43RUN....................................................................................................................43SAVE...................................................................................................................44SAVE SCREEN..................................................................................................44SEEK...................................................................................................................44SELECT..............................................................................................................45SET ALTERNATE..............................................................................................45SET BELL...........................................................................................................45

    SET CENTURY..................................................................................................45SET COLOR.......................................................................................................46SET CONFIRM..................................................................................................46SET CONSOLE..................................................................................................47SET CURSOR.....................................................................................................47SET DECIMALS................................................................................................47SET DEFAULT...................................................................................................48SET DELETED...................................................................................................48SET DELIMITERS.............................................................................................48SET DELIMITER TO.........................................................................................48SET DEVICE......................................................................................................49

    SET EPOCH........................................................................................................49SET ESCAPE......................................................................................................49

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    3/116

    SET EXACT.......................................................................................................50SET EXCLUSIVE..............................................................................................50SET FILTER.......................................................................................................50SET FIXED.........................................................................................................51SET FORMAT....................................................................................................51

    SET FUNCTION................................................................................................51SET INDEX........................................................................................................52SET INTENSITY................................................................................................52SET KEY............................................................................................................52SET MARGIN....................................................................................................53SET MESSAGE..................................................................................................53SET ORDER.......................................................................................................53SET PATH...........................................................................................................54SET PRINTER....................................................................................................54SET PROCEDURE.............................................................................................54SET RELATION.................................................................................................54

    SET SCOREBOARD..........................................................................................55SET SOFTSEEK.................................................................................................55SET TYPEAHEAD.............................................................................................55SET UNIQUE.....................................................................................................55SET WRAP.........................................................................................................55SKIP....................................................................................................................56SORT...................................................................................................................56STATIC...............................................................................................................56STORE................................................................................................................57SUM....................................................................................................................57TEXT...................................................................................................................57TOTAL................................................................................................................58TYPE...................................................................................................................58UNLOCK............................................................................................................58UPDATE.............................................................................................................59USE.....................................................................................................................59WAIT...................................................................................................................59ZAP.....................................................................................................................60

    FUNES DA LINGUAGEM CLIPPER 5.2................................................................60

    AADD( )..............................................................................................................60

    ABS( ).................................................................................................................61ACHOICE( ).......................................................................................................61ACLONE( ).........................................................................................................62ACOPY( )...........................................................................................................62ADEL( )..............................................................................................................62ADIR( )...............................................................................................................63AEVAL( )............................................................................................................63AFIELDS( ).........................................................................................................64AFILL( )..............................................................................................................64AINS( )................................................................................................................64ALERT( )............................................................................................................64

    ALIAS( ).............................................................................................................65ALLTRIM( )........................................................................................................65

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    4/116

    ALTD( )...............................................................................................................66ARRAY( )...........................................................................................................66ASC( ).................................................................................................................66ASCAN( )...........................................................................................................67ASIZE( )..............................................................................................................67

    ASORT( )............................................................................................................67AT( )....................................................................................................................68ATAIL( )..............................................................................................................68BIN2( )................................................................................................................69BIN2L( )..............................................................................................................69BIN2W( )............................................................................................................69BOF( ).................................................................................................................69BROWSE( )........................................................................................................69CDOW( ).............................................................................................................70CMONTH( )........................................................................................................70COL( ).................................................................................................................71

    CLORSELECT( )................................................................................................71CTOD( )..............................................................................................................71CURDIR( )..........................................................................................................72DATE( )...............................................................................................................72DAY( ) ................................................................................................................72DBAPPEND( )....................................................................................................72DBCLEARFILTER( ).........................................................................................74DBCLEARINDEX( )..........................................................................................75DBCLEARRELATION( )...................................................................................75DBCLOSEALL( )...............................................................................................75DBCOMMIT( )...................................................................................................75DBCOMMITALL( )............................................................................................76DBCREATE( )....................................................................................................76DBCREATEINDEX( )........................................................................................76DBDELETE( )....................................................................................................77DBEDIT( )..........................................................................................................78DBEVAL( ).........................................................................................................79DBF( ).................................................................................................................79DBFILTER( )......................................................................................................80DBGOTOBOTTOM( )........................................................................................80DBGOTO( )........................................................................................................80

    DBGOTOP( )......................................................................................................81DBRECALL( )....................................................................................................81DBREINDEX( )..................................................................................................81DBRELATION( )................................................................................................81DBRSELECT( )..................................................................................................82DBSEEK( ).........................................................................................................82DBSELECTAREA( )..........................................................................................83DBSETDRIVER( )..............................................................................................83DBSETINDEX( )................................................................................................84DBSETORDER( )...............................................................................................84DBSETRELATION( ).........................................................................................84

    DBSKIP( )...........................................................................................................85DBSTRUCT( )....................................................................................................85

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    5/116

    DBUNLOCKALL( )...........................................................................................85DBUSEAREA( ).................................................................................................86DELETED( ).......................................................................................................86DESCEND( ).......................................................................................................86DEVPOS( ).........................................................................................................87

    DEVOUTPICT( )................................................................................................87DIRECTORY( )..................................................................................................87DISKSPACE( )....................................................................................................88DOSERROR( )....................................................................................................88DOW( )................................................................................................................88DTOC( )..............................................................................................................89EMPTY( )............................................................................................................89EOF( ).................................................................................................................89ERRORLOCK( ).................................................................................................90ERRORLEVEL( )...............................................................................................90EVAL( )...............................................................................................................90

    EXP( ).................................................................................................................90FCLOSE( )..........................................................................................................91FCOUNT( ).........................................................................................................91FCREATE( )........................................................................................................91FERASE( )..........................................................................................................92FERROR( ).........................................................................................................92FIELD( )..............................................................................................................92FILE( ).................................................................................................................93FKLABEL( ).......................................................................................................93FKMAX( )...........................................................................................................93FLOCK( )............................................................................................................94FOPEN( )............................................................................................................94FOUND( )...........................................................................................................94FREAD( )............................................................................................................95FREADSTR( ).....................................................................................................95FRENAME( )......................................................................................................96FSEEK( ).............................................................................................................96FWRITE( )..........................................................................................................96GETENV( ).........................................................................................................97HARDCR( )........................................................................................................97HEADER( ).........................................................................................................97

    IF( ).....................................................................................................................98INDEXEXT( ).....................................................................................................98INDEXKEY( )....................................................................................................98INDEXORD( )....................................................................................................99INKEY( ).............................................................................................................99INT( )..................................................................................................................99ISALPHA( )......................................................................................................100ISCOLOR( )......................................................................................................100ISDIGIT( ).........................................................................................................100ISLOWER( ).....................................................................................................100ISPRINTER( )...................................................................................................101

    ISUPPER( ).......................................................................................................101I2BIN( ).............................................................................................................102

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    6/116

    LASTKEY( ).....................................................................................................102LASTREC( ).....................................................................................................102LEFT( )..............................................................................................................102LEN( )...............................................................................................................103LENNUM( )......................................................................................................103

    LOG( )...............................................................................................................103LOWER( ).........................................................................................................104LTRIM( )...........................................................................................................104LUPDATE( ).....................................................................................................104L2BIN( )............................................................................................................104MAX( )..............................................................................................................105MAXCOL( )......................................................................................................105MAXROW( )....................................................................................................105MEMOEDIT( )..................................................................................................105MEMOLINE( )..................................................................................................109MEMOREAD( )................................................................................................110

    MEMORY( ).....................................................................................................110MEMOTRAN( )................................................................................................111MEMOWRIT( )................................................................................................111MIN( )...............................................................................................................111MLCOUNT( )...................................................................................................112MLPOS( )..........................................................................................................112MOD( )..............................................................................................................113MONTH( )........................................................................................................113

    NETERR( )........................................................................................................113NETNAME( )....................................................................................................113NEXTKEY( )....................................................................................................114OS( )..................................................................................................................114PAD( )................................................................................................................114PCOL( ).............................................................................................................115PCOUNT( ).......................................................................................................115PROCLINE( )....................................................................................................116PROCNAME( ).................................................................................................116PROW( )............................................................................................................116QOUT( )............................................................................................................117QQOUT( ).........................................................................................................117RAT( )................................................................................................................117

    READEXIT( )...................................................................................................117READINSERT( )...............................................................................................118READKEY( )....................................................................................................118READMODAL( )..............................................................................................119READVAR( )....................................................................................................119RECCOUNT( )..................................................................................................119RECNO( )..........................................................................................................120RECSIZE( ).......................................................................................................120REPLICATE( )..................................................................................................120RESTSCREEN( )..............................................................................................121RIGHT( )...........................................................................................................121

    RLOCK( )..........................................................................................................121ROUND( ).........................................................................................................122

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    7/116

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    8/116

    Comandos da Linguagem Clipper 5.2

    ?/??

    Propsito: Mostrar um ou mais valores na console (vdeo)ou impressora.

    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

    @... BOXPropsito: Construir um box (caixa) na tela.Sintaxe: @ ,, , , BOX Exemplo:LOCAL C,L/* MODULO : M.PRG

    FUNO: ACESSAR TODOS OS PROGRAMAS*/SAVE SCREEN TO TECLADOSCLEARSET DATE BRITSET CONFIRM ONSET DELETE ON

    DO 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@ 01,42 SAY CONTROLE DE FACULDADE

    @ 01,70 SAY DATE( )@ 02,42 SAY MODULO PRINCIPAL

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    9/116

    @ 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 CASE

    CASE OPC = 1DO MENUFACU

    CASE OPC = 2DO MENUCURS

    CASE OPC = 3DO MENUALUN

    OTHERWISERESTORE SCREEN FROM TELA TECLADOSCANCEL

    ENDCASEENDDO

    @ . . . CLEARPropsito: Apagar (limpar) apenas uma rea especfica da tela.Sintaxe: @ < Lin inicial >, < Col inicial >

    CLEAR

    [,]

    Exemplo:SET COLOR TO B+/W / / muda a corCLS // equivalente a CLEAR, ou seja limpa toda atelaSET COLOR TO W+/N / / estabelece um novo padro decor@ 10,10 CLEAR TO 20,20 / / limpa uma regio datela@ 10,10 TO 20,20 DOUBLE / / desenha uma moldura(quadro)

    @. . . SAY. . . GETPropsito: Criar e executar um novo objeto GET (entrada de

    dados), colocando-o em exibio na tela.Sintaxe: @ , < coluna> [ SAY [

    ] ]

    [WHEN][RANGE,][VALID ]

    Exemplo:

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    10/116

    LOCAL VNOME :=SPACE(30) , VSALARIO : = 0 / / define iniciavariveis::

    // formata a digitao para maisculas@ 12,10 SAY NOME DO FUNCIONRIO.....: GET VNOME PICT @!// edita os nmeros no formato europeu

    @ 14,10 SAY SALRIO MENSAL: GET VSALARIO PICT @E999,999,999.99VDATA := DATE( ) // cria a varivel data contendo o DD/MM/AA

    // contido no sistema operacional neste exemplo// assumida inicialmente a data do sistema

    para// que o usurio no necessite preencher o

    campo,// mas caso a data oferecida pelo programa no

    // seja a correta basta que o usurio pressione// qualquer tecla, que no sejam as teclas de// movimentao, que a data apagada, podendo// assim o usurio escrever a data que desejar.

    @ 16,10 SAY ADMISSO..: GET VADATA PICT @KREAD // executa os gets pendentes

    VENDERECO : = SPACE(35)// permite a edio do endereo, cujo tamanho de

    // de 35 posies, em uma rea da tela de apenas 20posies,

    // rolando no sentido horizontal o que no couber no20

    // espaos determinados por PICTURE @s20.@ 18,10 SAY ENDEREO..: GET VENDERECO PICTURE @ 20READ // executa o get pendente.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 sero editados, porem no sero gravados na// varivel.

    @ 12,15 SAY CDIGO....: GET VCODIGO PICTURE @R 99.999.999READVALORI : = 0

    // ser aceito na digitao um valor que estejacompreendido

    // 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

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    11/116

    @. . . PROMPT

    Propsito: Montar um menu de opes selecionveis na tela.Sintaxe: @ < linha >, < coluna >< opo > [

    MESSAGE ]Exemplo:Local OPC : = 1SET WRAP ON // habilita a rolagem da barra entre os extremos

    // do menuSET MESSAGE TO 23 CENTER // determina a sada de mensagens da

    // linha 23 da telaDO WHILE .T.CLEAR // LIMPA A TELA

    // cria variveis para facilitar as coordenadas domenuL: = 8C: = 32

    // montar a tela@ 01,01 TO 24,79 DOUBLE@ 02,02 TO 04,78@ 03,01 SAY ALT CONTROL INFORMTICA LTDA.@ 03,60 SAY DATE( )@ 03,70 SAY TIME( )

    // detalha o menu de barras@ L,C PROMPT INCLUSO MESSAGE INCLUSO DE DADOS@ L+1,C PROMPT ALTERAO MESSAGE ALTERAO DE DADOS@ L+2,C PROMPT CONSULTA MESSAGE CONSULTA DE DADOS@ L+3,C PROMPT EXCLUSO MESSAGE EXCLUSO DE DADOS@ L+4,C PROMPT RELATRIOS MESSAGE RELATRIOS DO SISTEMA@ L+5,C PROMPT UTILITRIOS MESSAGE UTILITRIOS DO SISTEMA@ L+6,C PROMPT F I M MESSAGE RETORNO AO DOS

    // executa o menu e controla a barraMENU OPCDO CASE // faca os casos

    CASE OPC = 1DO PROG1

    CASE OPC = 2DO PROG2

    CASE OPC = 3DO PROG3

    CASE OPC = 4DO PROG4

    CASE OPC = 5DO PROG5

    CASE OPC = 6DO PROG6

    CASE OPC = 7

    CANCEL // cancela a execuo do programaENDCASE

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    12/116

    INKEY(0) // aguarda QQ teclaENDDO

    @. . . TOPropsito: Desenha um quadro (moldura) a partir de

    coordenadas especficas da tela.Sintaxe: @ , TO , [DOUBLE]Exemplo:SET COLOR TO B+/N@ 10,10 CLEAR TO 20,20@ 10,10 TO 20,20 DOUBLE

    ACCEPTPropsito: Cria uma entrada de dados via teclado e armazenar

    o contedo digitado em uma varivel (tipo caracteres).Sintaxe: ACCEPT [] TO.

    Exemplo:Local Vnome

    CLEAR // limpa a telaACCEPT Digite o nome....: TO VNOME? NOME QUE VOC DIGITOU FOI....:, VNOME

    APPEND BLANKPropsito: Criar (inserir) um registro em branco no banco de

    dados aberto na rea corrente de trabalho.Sintaxe: APPEND BLANK

    Exemplo:Local Codvar, OP/*

    NOME DO PROGRAMA: CADMULT1.PRGAUTOR : GORKI STARLINFUNO: ESTE MODULO ANEXA DADOS NO ARQUIVO PAGAMENTO

    */USE FOLHA INDEX CODX,NOMEXDO WHILE .T.

    // lay outCLEAR

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    13/116

    SET COLOR TO W+/NSET COLOR TO@ 01,01 TO 24,79 DOUBLE@ 02,02 TO 04,78@ 03,03 SAY SRIOS INFORMTICA@ 03,60 SAY ATE( )@ 03,70 SAY TIME( )

    // criar variveisCODVAR = 0SETORVAR = 0SALARIOVAR = 0NOMEVAR = SPACE(35)CARGOVAR = SPACE(15)ATIVOVAR = (.T.)DATAVAR = CTOD ( / / )

    // entrada de dados@ 06,10 SAY ** CADASTRAMENTO DE FUNCIONRIOS **

    @ 08,10 SAY CDIGO...........: GET CODVAR PICTURE 9999READIF CODVAR = 0 // verifica se o usurio no digitou o cdigo

    OP: =S // cria a varivel OP@ 21,15 SAY SAI DESTE MODULO.(S/N)..: GET OP PICT AREADIF OP = S // verifica a resposta do usurio

    RETURN // retorneENDIF

    LOOP // sobe a execuo para linha do DO WHILEENDIF // fim do se

    SEEK CODVAR // pesquisa no ndice o contedo da varivel

    // CODVARIF EOF( ) // se no existeAPPEND BLANK // tenta criar um registro em branco

    // entra com o restante dos dados dofuncionrio

    @ 10,10 SAY NOME FUNCIONRIO..: GET NOMEVAR PICTURE @!

    @ 12,10 SAY SETOR TRABALHO....: GET SETORVAR PICT @9

    @ 14,10 SAY CARGO FUNCIONAL...: GET CARGOVAR PICT @!

    @ 16,10 SAY SALRIO...........: GET SALARIOVAR PICT 9999999.99

    @ 18,10 SAY FUNCIONRIO ATIVO.: GET ATIVOVAR

    @ 20,10 SAY DATA ADMISSO.....: GET DATAVARREAD

    // 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 SALRIO WITH SALARIOVAR

    @ 21,20 SAY ** CADASTRO **WAIT // aguarda QQ teclaCOMMIT // atualiza fisicamente o registro

    ELSE // se no

    @ 21,20 SAY ** REGISTRO J CADASTRADO **

    WAIT // aguarda QQ teclaENDIF

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    14/116

    ENDDO

    APPEND FROM

    Propsito: Anexa registro de um arquivo especificado parao arquivo que se encontra aberto na rea corrente

    de trabalho.Sintaxe: APPEND FROM [] [ FIELDS

    ] [FROM ]

    [FOR ] [WHILE ][SDF/DELIMITED]

    [WHITH BLANK / ]Exemplo:

    USE FOLHAAPPEND FROM COPIAF FOR .NOT. DELETED( ) // copia apenas os//registros no marcados

    ? termino da copia

    AVERAGEPropsito: Calcular a mdia aritmtica de campos ou

    expresses de arquivos de dados.Sintaxe: AVERAGETO []

    [FOR] [WHILE]Exemplo:USE FOLHA // abre o arquivo de dadosAVERAGE SALRIO, COMISSO TO vcom // calcula e armazena nas

    // variveis? media salarial....:+str(vsal)? media das comisses...:+str(vcom = A // calcula a media

    // salarial, armazenando o// resultado na varivel VSAL,

    // porm somente dosfuncionrios// que trabalhem no setor A.

    BEGIN SEQUENCEPropsito: Define uma seqncia de comandos para uma

    BREAK.Sintaxe: BEGIN SEQUENCE

    . . . COMANDOS

    [ BREAK[] ]. . . COMANDOS

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    15/116

    [ RECOUVER [ USING ] ]

    . . . COMANDOS

    END [ SEQUENCE ]

    Exemplo:Local Contador, IntervaloCONTADOR :=0INTERVALO:=0

    DO WHILE CONTADOR < 50BEGIN SEQUENCE

    CONTADOR++IF CONTADOR > INTERVALO

    BREAK CONTADORENDIF

    RECOUVER USING CONTADOR? BLOCO DEFINIDO, CONTADOR =+STR (CONTADOR)INTERVALO+ = 5

    END SEQUENCE? SAI FORA DO BEGIN SEQUENCE

    ENDDO? LOOP TERMINADO

    CALLPropsito: Executa uma rotina construda em outra linguagem

    de programao.Sintaxe: CALLWITH

    CANCELPropsito: Interromper a execuo do programa que est

    sendo executado.Sintaxe: CANCEL

    CLEAR ALLPropsito: Fecha todos os arquivos abertos e libera da

    memria todas as variveis (Pblicas e Privadas).Sintaxe: CLEAR ALL

    CLEAR GETS

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    16/116

    Propsito: Libera todos os Gets pendente.Sintaxe: CLEAR GETS

    CLEAR MEMORYPropsito: Libera todas as variveis Pblicas e Privadas

    da memria.Sintaxe: CLEAR MEMORY

    CLEAR SCREENPropsito: Limpa a tela sem liberar os Gets pendentes.Sintaxe: CLEAR SCREEN

    CLEAR TYPEAHEADPropsito: Libera todas as pendncias de teclagens do Buffer

    (fila) do teclado.Sintaxe: CLEAR TYPEAHEAD

    Exemplo:/* Neste exemplo antes de folhear o banco de dados com a funoBROWSE( ) garantido que no existir nenhuma pendncia deteclas do buffer do teclado, pois o mesmo ser limpo atravs deCLEAR TYPEAHEAD.*/

    BROWSE (5, 5, 23, 75) // folheia os registros do B.D.

    CLOSEPropsito: Fechar arquivos, de qualquer tipo, que se

    encontrem devidamente abertos.Sintaxe: CLOSE< 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//(ALIS) FOLHA.

    COMMITPropsito: Realiza a gravao em discos de todos os Buffers

    dos arquivos abertos.Sintaxe: COMMIT

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    17/116

    Exemplo:/*

    NOME DO PROGRAMA: CADMONO1.PRG

    AUTOR : GORKI STARLINFUNO: ESTE MODULO ANEXA DADOS NO ARQUIVO PAGAMENTO*/SET DATE TO BRIT // pe as datas no formato DD/MM/AACLEAR

    // abre o arquivo e o incideUSE FOLHA INDEX CODX,NOMEX // abre o arquivo de dados e o de ndice

    DO WHILE .T.CLEARSET COLOR TO //pe cor padro

    // 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 VARIVEIS

    CODVAR := SETORVAR := SALARIOVAR := 0NOMEVAR := SPACE(35)CARGOVAR := SPACE(15)ATIVOVAR := (.T.)

    DATAVAR := CTOD ( / / )// entrada de dados

    @ 06,10 SAY ** CADASTRAMENTO DE FUNCIONRIOS **@ 08,10 SAY CDIGO...........: GET CODVAR PICTURE 9999READIF CODVAR = 0 // verifica se o usurio no digitou o cdigo

    OP :=S // cria varivel OP// pergunta se o usurio deseja sair do programa

    @ 21,15 SAY SAI DESTE MODULO.(S/N)..: GET OP PICT AREADIF OP = S // verifica a resposta do usurio

    RETURN // retorneENDIF

    LOOP // sobe a execuo para linha do DO WHILEENDIF // fim do se

    SEEK CODVAR // pesquisa no ndice o contedo da varivel// varivel CODVAR

    IF EOF( ) // se NO EXISTE// entra com o restante dos dados do FUNCIONRIO

    @ 10,10 SAY NOME FUNCIONRIO..: GET NOMEVAR PICTURE @!@ 12,10 SAY SETOR TRABALHO....: GET SETORVAR PICT @9@ 14,10 SAY CARGO FUNCIONAL...: GET CARGOVAR PICT @!@ 16,10 SAY SALRIO...........: GET SALARIOVAR PICT 9999999.99@ 18,10 SAY FUNCIONRIO ATIVO.: GET ATIVOVAR@ 20,10 SAY DATA ADMISSO.....: GET DATAVARREAD

    APPEND BLANK // criar um registro em branco// grava os dados no registro em branco

    REPLACE COD WITH CODVARREPLACE NOME WITH NOMEVARREPLACE SETOR WITH SETORVARREPLACE CARGO WITH CARGOVAR

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    18/116

    REPLACE ATIVO WITH ATIVOVARREPLACE DTADM WITH DATAVARREPLACE SALRIO WITH SALARIOVAR

    COMMIT // salva todo o contedo do buffers dearquivos,

    // armazenando-o em disco.

    @ 21,20 SAY ** CADASTRO **INKEY(0) // aguarda QQ teclaELSE // se no

    @ 21,20 SAY ** REGISTRO J CADASTRADO **INKEY(0) // aguarda QQ tecla

    ENDIF // fim do seENDDO // fim do faa enquanto

    CONTINUEPropsito: Continua a pesquisa iniciada a partir do

    comando LOCATE.Sintaxe: CONTINUE

    Exemplo:CLEARUSE FOLHA // abre o arquivo de dadosLOCATE FOR SETOR = A

    DO WHILE FOUND( ) // faa enquanto existir? NOME, SALRIO, SETOR // mostra os camposCONTINUE // continua a pesquisa

    ENDDO // fim do faa enquanto

    COPY FILE

    Propsito: Copiar o contedo de um arquivo, independente doseu tipo, para outro arquivo.

    Sintaxe: COPY FILETOExemplo:COPY FILE FOLHA.DBF TO FCOPIA.DBFCOPY FILE FOLHA.DBF TO FCOPIA.DBT

    COPY FILE MENU.PRG TO A:MENU.PRG

    COPY STRUCTUREPropsito: Copiar apenas a estrutura do arquivo aberto na

    rea corrente de trabalho.Sintaxe: COPY STRUCTURE TO [FIELDS]

    Exemplo:

    USE FOLHA // abre o arquivo de dadosCOPY STRUCTURE TO TFOLHA // cria o arquivo TFOLHA.DBF com a

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    19/116

    // mesma estrutura do arquivo FOLHA.DBF.COPY STRUCTURE TO TFOLHA FIELDS NOME,SALARIO,COD // cria o arquivo

    // TFOLHA contendo uma estrutura deapenas

    // trs campos.

    COPY STRUCTURE EXTENDEDPropsito: Copia para outro arquivo informaes referentes

    estrutura de um arquivo de dados aberto.Sintaxe: COPY STRUCTURE EXTENDED TO

    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 arquivo contendo a estrutura de FOLHA.DBFLIST FIELD_NAME, FIELD_TYPE, FIELD_LEN, FIELD,DECX // lista os

    //registros

    COPY TOPropsito: Copia registros de bancos de dados (.DBF) para

    outro arquivo (.DBF ou no formato ASCII).Sintaxe: COPY TO [ FIELDS ] TO

    [] [FOR ][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 sero copiados osregistros

    // que possuem a letra A inicial no// campo SETOR

    COPY TO CFOLHA RECORD 3 // copia apenas o registro 3

    COPY TP CFOLHA DELIMITED // copia para o arquivo CFOLHA.TXT// no formato delimitado

    TYPE CFOLHA.TXT // mostra o contedo do arquivoCFOLHA.TXT

    COUNTPropsito: Calcular o totalizante referente quantidade de

    registos.Sintaxe: COUNT TO [] [FOR ]

    [ WHILE ]

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    20/116

    Exemplo:USE FOLHACOUNT TO RESULTADO? RESULTADOCOUNT TO RESULTADO2 FOR SETOR = ACOUNT TO RESULTADO3 FOR SETOR = A .AND. CARGO = ESCRITURARIO?RESULTADO, RESULTADO2, RESULTADO3

    CREATEPropsito: Criar um arquivo de estrutura (.DBF) vazio.Sintaxe: CREATE

    Exemplo:

    CREATE TESTRU // cria o arquivo de estruturaAPPEND BLANK // cria um registro em branco para descrio 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 ; // nmero de casas decimais

    CLOSE // fecha o arquivo de estruturasCREATE FOLHA TESTRU // declara o comando CREATE FROM paracriar

    // um novo arquivo .DBF a partir do

    arquivo // de estrutura TESTRUDIR *.DBF // mostra todos os arquivos .DBF do diretrio

    CREATE FROMPropsito: Criar um arquivo de dados (.DBF) a partir de um

    arquivo de estruturas.Sintaxe: CREATE FROM FROM

    Exemplo:CREATE TESTRU // cria o arquivo de estruturaAPPEND BLANK // cria um registro em branco para descrio 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 ; // numero de casas decimais

    CLOSE // fecha o arquivo de estruturas

    CREATE FOLHA FROM TESTRU // declara o comando CREATE FROMpara// criar um novo arquivo .DBF a partir do

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    21/116

    // arquivo de estrutura TESTRUDIR *.DBF // mostra todos os arquivos .DBF do diretrio

    DECLAREPropsito: Declara variveis ou vetores privates no programa.Sintaxe: DECLARE [:=]

    DELETEPropsito: Marcar um registro para ser apagado.Sintaxe: DELETE [FOR]

    [ WHILE ]Exemplo:

    USE FOLHADELETE ALL // marca TODOS os registrosDISPLAY ALL NOME, SALRIO, COD // mostra os registrosINKEY(0)SET DELETE ON // filtra os registros marcadosDISPLAY ALL NOME, SALRIO, COD // mostra os registrosINKEY(0)RECALL ALL // recupera todos os registrosDISPLAY ALL NOME, SALRIO, COD // mostra os registrosINKEY(0)DELETE FOR SETOR = A // marca os funcionrios do setor ADISPLAY ALL NOME, SALRIO, COD // mostra os registros? FIM

    DELETE FILEPropsito: Apagar um arquivo, de qualquer tipo, do disco.Sintaxe: DELETE FILE

    Exemplo:

    IF FILE (FOLHA.DBF) se existir FOLHA.DBFDELETE FILE FOLHA.DBF? ARQUIVO FOI APAGADO

    ENDIFDIR *.DBF // mostra todos os arquivos com a extenso .DBF

    DIRPropsito: Mostra a lista dos arquivos contidos em um diretrio.Sintaxe: DIR [] [] []

    Exemplo:

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    22/116

    DIR // mostra todos os arquivos (BDF) e seus dadosDIR *.* // mostra todos os arquivos do diretrioDIR *.prg // mostra todos os programas do diretrioDIR a: *.* // mostra todos os arquivos do diskete do drive A

    DISPLAYPropsito: Mostra registros de um arquivo de dados na console.Sintaxe: DISPLAY [TO PRINTER]

    [TO FILE ][OFF] [] [FOR ][WHILE ]

    Exemplo:

    USE FOLHA // abre o arquivo de dadosDISPLAY COD, NOME, SALRIO ALL // mostra todos os registrosDISPLAY COD, NOME, SALRIO // mostra somente o registrocorrenteDISPLAY COD, NOME, SALRIO ALL FOR SETOR = A // mostra osregistros

    // dos funcionrios que// que trabalham no setor A

    DOPropsito: Executa um programa ou um procedimento.Sintaxe: DO [WITH ]

    Exemplo::

    IF OP = 2DO PROG1

    ELSEIF OP =3DO PROG2

    ELSE

    DO PROG4 WITH NOMEENDIF

    ::

    DO CASEPropsito: Criar uma estrutura de testes condicionais, onde

    apenas uma executada.Sintaxe: DO CASE

    CASE . . . . instrues

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    23/116

    [CASE ]. . . . instrues

    [OTHERWISE]. . . . instrues

    END[CASE]

    Exemplo:DO CASE

    CASE OP = 2DO PROG1

    CASE OP = 3DO PROG2

    OTHERWISERETURN

    ENDCASE

    DO WHILEPropsito: Executa uma estrutura de controle enquanto

    uma condio for verdadeira.Sintaxe: DO WHILE

    . . . . [EXIT]

    . . . . [LOOP]

    . . . .

    END[DO]Exemplo:

    ::

    VARSAI := DO WHILE VARSAI .NOT. $ SN // faa enquanto VARSAI no

    // contiver S ou N// pergunta dirigida ao operador

    @ 21,20 SAY SAIR DESTE MODULO (S/N)..: GET VARSAI PICT !

    READENDDO // fim do faa enquanto::

    EJECTPropsito: Avana a pgina da impressora posicionando a cabea

    de impresso no local de inicializao da prximapgina.

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    24/116

    Sintaxe: EJECTExemplo:LOCAL L, PG

    USE FOLHAL:= 0 // inicializa uma varivel para controle da quantidade de

    // linhas impressas

    PG:= 0GO TOP // v para o inicio do arquivoSET PRINT ON // liga a sada comum para a impressoraSET CONSOLE OFF // desabilita a sada da console

    DO WHILE .not. EOF( ) // faa enquanto no fim doarquivo.

    IF L = 0 .OR. L=60 // se L for 0 ou 60EJECTPG++ // acumula +1 na varivel? RELATRIO DE FUNCIONRIOS?? Pagina:+str(pg)replicate (=, 78) // traa uma linha

    1 := 7ENDIF? COD, NOME, SALRIO // imprime os camposSKIP // pule para o prximo registroL++

    ENDDO // fim do faa enquanto::

    ERASEPropsito: Apagar um arquivo, de qualquer tipo, do disco.Sintaxe: ERASE

    Exemplo:IF FILE (FOLHA.DBF) // se existir FOLHA.DBF

    ERASE FOLHA.DBF? ARQUIVO FOI APAGADO

    ENDIFDIR *.DBF // mostra todos os arquivos com a extenso . DBF

    EXTERNAL

    Propsito: Declarar uma lista de smbolos ou rotinas externas para o linker.

    Sintaxe: EXTERNALExemplo:EXTERNAL funes

    :

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    25/116

    :

    EXIT PROCEDURE

    Propsito: Declara um procedimento de sada.Sintaxe: EXIT PROCEDURE[FIELDS[IN ]][MENVAR]::[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 SADA( ) / / rotina de sada do programa?? TEMPO: ?? SECONDS ( ) - nSEGUNDOS

    RETURN / / finaliza definitivamente

    FIELDPropsito: Especifica nomes de campos de arquivos de

    dados (.DBF).Sintaxe: FIELD COD,CARGOS -> CODCARGO? nome // equivalente a folha -> nome

    ::

    FIND

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    26/116

    Propsito: Pesquisa no primeiro ndice, o registro que possuauma chave especificada.

    Sintaxe: FINDExemplo:USE FOLHA INDEX CODX, NOME // abre o arquivo de dados folha.dbf

    // e seus respectivos arquivos de// ndices CODX, NOMEX

    FIND 3020 // pesquisa o cdigo = 3020IF FOUND( ) // se existir

    DISPLAY COD,NOME,SALARIOENDIF

    CODVAR := SPACE(4)@ 10,20 SAY DIGITE O CDIGO...: GET CODVAR PICTURE 9999READ

    FIND CODVAR // pesquisa o contedo da varivelIF FOUND( ) // se existir

    DISPLAY COD,NOME,SALARIOENDIF

    FOR. . . NEXTPropsito: Executa uma estrutura de controle, um

    determinado nmero de vezes.Sintaxe: FOR = TO STEP

    ...... [EXIT]...... [LOOP]

    NEXT

    Exemplo:LOCAL TREGISTROSUSE CADASTRO

    COUNT TO TRESGISTROSGO TOPFOR I = 1 TO TREGISTROS STEP 1

    DISPLAY NOME, ENDEREO, TEL // exibe o registro correnteSKIP // pula para o prximo registro

    NEXT? FIM

    FUNCTION

    Propsito: Cria (declara) uma funo definida pelo usurio(UDF).

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    27/116

    Sintaxe: [STATIC] FUNCTION [(PARAMENTRO1,..)][LOCAL ,...][FIELD [IN ]MEMVAR

    ::

    ::

    RETURN []

    Exemplo:LOCAL VAR1, VAR2, VAR3, Xvar1 := 3var2 := 7

    var3 := 100

    :? soma (var3,var2) // resultado : 107 (na tela)? soma (var1,var2) // resultado : 10 (na tela)x:= soma(var3,300) // resultado : 400 (na varivel)

    :::

    FUNCTION SOMA ( P1, P2 ) // declara a funo e recebe os// parmetros

    R := P1+P2 // soma os parmetrosRETURN R // retorna a execuo para rotina que chamou

    // acompanhada do valor contido na varivel R,

    GOPropsito: Desloca o ponteiro interno do arquivo de dados para

    um determinado registro.Sintaxe: GO [TO]| BOTTOM | TOP

    Exemplo:USE FOLHAGO 6 // v para o registro (record) numero 6DISPLAY NOME, COD, SALRIOGO TOP // v para o inicio do arquivoDISPLAY NOME, COD, SALRIOGO BOTTOM // v para o fim do arquivoDISPLAY NOME,COD,SALARIO

    IFPropsito: Executa instrues somente quando uma

    expresso condicional for verdadeira.Sintaxe: IF

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    28/116

    [ELSEIF < condio2>

    [ELSE]

    END[IF]Exemplo:LOCAL MEDIA:= 0CLEAR@ 10,10 SAY DIGITE A MEDIA DO ALUNO...:GET MEDIAREAD

    IF MEDIA

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    29/116

    ?? SECONDS() - nSEGUNDOSRETURN // finaliza definitivamente

    INDEXPropsito: Criar um arquivo de ndice (.NTX) para um

    determinado banco de dados (.DBF)Sintaxe: INDEX ON TO[UNIQUE]

    [FOR]Exemplo:USE CADASTROCLEAR? INDEXANDO

    INDEX 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? PESQUISANDOSEEK VNOMEIF FOUND( ) // se existir

    DISPLAY NOME, ENDEREO, CIDADE // mostra o registroENDIF? REGISTRO NO ENCONTRADO

    INPUTPropsito: Realizar a entrada de dados de um expresso e

    armazena a mesma em uma varivel.Sintaxe: INPUT [] TO

    Exemplo:

    LOCAL VARCLEARINPUT DIGITE QUALQUER COISA..: TO VAR? VOC DIGITOU...:?? VAR

    JOINPropsito: Criar um novo arquivo a partir de outros dois.

    Sintaxe: JOIN WITH TO FOR [FIELDS ]

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    30/116

    Exemplo:USE VENDAS // possui os campos cod_vend, cod_produtoe

    // valorUSE CADVENDEDOR new // possui os campos cod_vend, nomeJOIN WITH VENDAS TO COMISSO FOR COD_VEND= VENDAS -> COD_VEND;

    FILEDS COD_VEND, NOME, VALOR// ser criado o arquivo COMISSO.DBF com os

    registros// lidos dos arquivos e a estrutura deste arquivo

    ser// os campos declarados aps o argumento FILEDS.

    KEYBOARDPropsito: Preencher o buffer do teclado com uma

    expresso caractere.Sintaxe: KEYBOARD

    Exemplo:KEYBOARD aKEYBOARD CHR(65) // resultado: AKEYBOARD CHR(130) // resultado:

    LABEL FORMPropsito: Executa a sada de etiquetas a partir de um arquivo

    do formato. .LBL.Sintaxe: LABEL FORM [TO

    PRINTER][TO FILE][] [SAMPLE] [WHILE

    ]

    [FOR]Exemplo:USE MALA INDEX NOMELABEL FORM ETIQUETAS TO PRINTER SAMPLE // imprime asetiquetas

    LIST

    Propsito: Lista os registros de arquivos de dados.Sintaxe: LIST [TO PRINTER]

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    31/116

    [TO FILE ][] [WHILE][FOR ][OFF]

    Exemplo:USE MALALIST NOME, ENDEREO, CIDADELIST NOME, ENDEREO, CIDADE TO PRINTER // listaimpressa

    LOCATEPropsito: Localizar um registro dentro do banco de dados.Sintaxe: LOCATE [] FOR WHILE

    Exemplo:USE FOLHALOCATE FOR NOME =JooIF FOUND() / / se existir

    DISPLAY NOME, SALRIO, SETORELSE

    ? no localizadoENDIF

    LOOPPropsito: Saltar a execuo do programa para a linha DO

    WHILE, ou FOR.Sintaxe: LOOP

    LOCALPropsito: Declarar uma varivel ou matriz como local.Sintaxe: LOCAL [:= ],...

    Exemplo:LOCAL VAR,VAR2:= 10 // declara as variveis comolocais? VAR2LOCAL MATRIZ1 [30] [10] // declara a matriz comolocal

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    32/116

    MEMVARPropsito: Declara nomes de variveis de memria Privadas

    ou Pblicas.Sintaxe: MEMVAR

    Exemplo:USE MALAMEMVAR NOME // declara como sendo variveis dememriaLOCAL NOME // declara como sendo uma varivelde // memria local

    :? NOME // mostra o contedo da varivelnome

    ? MALA NOME // mostra o contedo do campo nome

    MENU TOPropsito: Executa um menu de barras luminosas.Sintaxe: MENU TO

    NOTEPropsito: Cria uma linha de comentrio dentro do

    programa.Sintaxe: NOTE

    Exemplo:NOTE esta linha no ser copilada, ou seja e apenas umNOTE comentrio? esta linha uma instruo que ser e apenas ser copilada

    // esta linha tambm um comentrio

    && tambm um comentrios

    /* estas linhas tambm so comentrios */

    PACKPropsito: Remove (apaga) fisicamente registros marcados

    para deleo.Sintaxe: PACK

    Exemplo:USE MALA INDE NOME

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    33/116

    PACK // remove fisicamente do arquivo os registrosmarcados

    PARAMETERPropsito: Criar variveis de memria para o recebimento

    de parmetros.Sintaxe: PARAMETER

    Exemplo:MENSAGEM (5, 5, OI ! )FUNCTION MENSAGEM( )PARAMETER LINHA, COLUNA, DADO //recebe valores darotina // que chamar esta

    funo@ LINHA, COLUNA SAY DADORETURN NIL

    PRIVATEPropsito: Cria e inicializa variveis ou matrizes como

    sendo privadas.Sintaxe: PRIVATE [:= ],

    Exemplo:PRIVATE MATRIZ1 [20] [30] // declara que a matriz

    // ser privadaPRIVATE A, B, C // declara que as variveis so

    // privadasA:=8 // atribui um valor a

    // varivelPRIVATE DATA:=DATE( ) // declara e inicializa a

    // varivel privada

    PROCEDUREPropsito: Cria um procedure e seus parmetros.Sintaxe: [STATIC] PROCEDURE

    [(lista parmetros)][FIELD [IN

    ]]

    [LOCAL

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    34/116

    [:=],,,]

    [MEMVAR ][STATIC

    [:

    =

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    35/116

    @ 20,10 SAY SAIR DESTE PROGRAMA...: GET RESPOSTA PICT !READ

    IF RESPOSTA = SQUIT // termina o programa

    ELSELOOP //sobe a execuo para linha de DO WHILE

    ENDIF::

    READPropsito: Executar edio das variveis especificadas

    pelo comando@.. SAY.. GET.Sintaxe: READ[SAVE]

    Exemplo:LOCAL VNOME, VENDEREO, VSALRIO

    VNOME:= SPACE(30)VENDEREO:= SPACE(35)VSALRIO:= 0.00

    @ 10,10 SAY DIGITE O NOME...: GET VNOME PICT !@ 12,10 SAY DIGITE O ENDEREO..: GET VENDEREO@ 14,10 SAY DIGITE O SALRIO...: GET VSALRIO PICT @E 9,999.99

    READ // executa e no final libera os trs GETspendentes

    RECALLPropsito: Recupera registros marcados para a

    eliminao atravs do comando DELETE.Sintaxe: RECALL [WHILE] [FOR]Exemplo:USE MALAGOTO 3IF DELETED( ) // se o registro se encontra marcado

    // (deletado)

    RECALL // recupereENDIF

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    36/116

    REINDEXPropsito: Recriar os arquivos de ndices abertos nas reas

    de trabalho corrente.Sintaxe: REINDEX[EVAL]

    [EVERY]Exemplo:USE MALA INDEX INOME, ICODREINDEX / / reorganiza os arquivosINOME, ICOD:

    :

    RELEASEPropsito: Libera da memria vrias Pblicas e Privadas.Sintaxe: RELEASE

    [ALL [LIKE / EXCEPT] ]Exemplo:

    RELEASE ALL LIKE V* // libera todas as variveis que// comeam com a letra V

    RELEASE VNOME // libera a varivel VNOME

    RENAMEPropsito: Renomear um arquivoSintaxe: RENAME TO

    Exemplo:RENAME ARQ.TXT TO ARQ_NOVO.TXT // troca o nome do arquivoRENAME MALA.DBF TO POSTAL.DBF

    REPLACEPropsito: Substituir o contedo de um campo por

    uma expresso.Sintaxe: REPLACE WITH

    [FOR][WHILE]

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    37/116

    Exemplo:USE MALA INDEX ICODAPPEND BLANK // cria um registro em branco

    REPLACE COD WITH 23, NOME WITH JOO// preenche os campos

    ::

    REPORT FORMPropsito: Realizar a sada de um relatrio para console

    ou impressora.Sintaxe: REPORT FORM []

    [TO PRINTER][TO FILE ] [FOR][WHILE][PLAIN] [HEADING ] [NOEJECT][SUMMARY]

    Exemplo:USE FOLHA INDEX INOMEREPORT FORM REL1 TO PRINTER // relatrio impresso dos

    // registros

    REPORT FORM REL1 TO PRINTER HEADING ALT CONTROL - SETOR 4 ;FOR SETOR = 4 // imprime somente os funcionrios do setor4

    REQUESTPropsito: Declara mdulos a serem chamados.Sintaxe: .

    RESTOREPropsito: Carregar variveis gravadas de um arquivo

    (.mem) do disco.Sintaxe: RESTORE[ADDITIVE]

    Exemplo:A:=4

    NOME:=JOOSAVE TO ARQVAR// salva todas as variveis de memria

    // no arquivo ARQVAR.MEMRELEASE ALL // apaga todas as variveis

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    38/116

    RESTORE FROM ARQVAR // restaura as variveis do arquivoARQVAR.MEM? A? NOME

    RESTORE SCREENPropsito: Restaurar no vdeo uma tela salva anteriormente.Sintaxe: RESTORE SCREEN [FROM ]

    Exemplo:CLEAR@ 10,10 TO 23,79@ 15,15 SAY ESTA TELA SER SALVA

    SAVE SCREEN TO IMAGEMINKEY(0) / / aguarda uma teclaCLEAR / / limpa a telaRESTORE SCREEN FROM IMAGEM // recupera a tela

    // gravada na varivel imagem

    RETURNPropsito: Terminar a execuo de uma procedure,

    programa ou funo do usurio.

    Sintaxe: RETURNExemplo:? SITUAO (3,7,8,10)FUNCTION SITUAO(N1, N2, N3, N4)MDIA :=(N1+N2+N3+N4)/4IF MDIA = >6RETURN APROVADOELSERETURN REPROVADO

    ENDIF

    RUNPropsito: Executar um programa ou comando do

    sistema operacional.Sintaxe: RUN

    Exemplo:? FAVOR ATUALIZAR A HORA DO SISTEMA!.? FAVOR ATUALIZAR A DATA DO SISTEMA!.

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    39/116

    ! DATE

    SAVEPropsito: Salvar em um arquivo no disco, variveis

    de memria e seus contedos.Sintaxe: SAVE TO [ALL[LIKE|EXCEPT

    ]]Exemplo:A:=9VNOME :=JOOVENDE:=RUA DAS CAMLIAS 44SAVE TO ARQVAR2 ALL LIKE V* // salva: VNOME E VENDE noarquivo

    // ARQVAR2.MEMSAVE TO ARQVAR // salva todas as variveis noarquivo

    // ARQVAR.MEM

    SAVE SCREENPropsito: Salvar a tela atual no buffer ou em uma varivelSintaxe: SAVE SCREEN [TO ]

    SEEKPropsito: Pesquisar nos registros do banco de dados indexado

    uma chave especificada.Sintaxe: SEEK

    Exemplo:USE MALA INDEX INOMESEEK JOO // Equivalente A: DBSEEK (JOO)

    IF FOUND( ) // se existirDISPLAY NOME, ENDEREO, CIDADE

    ELSE? NO ENCONTRADO

    ENDIF

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    40/116

    SELECTPropsito: Seleciona uma rea de trabalho.

    Sintaxe: SELECT|Exemplo:USE MALA INDEX INOMESELECT 0 // seleciona o prxima rea disponvelUSE FOLHA INDEX CODFLIST NOME, SALRIO, SETOR, CODSELECT MALA // seleciona o arquivo rea MALALIST COD, CLIENTE, CIDADELIST MALA CLIENTE, FOLHA SALRIO// lista registro de

    // outra rea

    SET ALTERNATEPropsito: Realiza a sada do console para um arquivo (ASCII) a

    ser gravado no disco.Sintaxe: SET ALTERNATE TO |[ON]|[OFF]|

    Exemplo:SET ALTERNATE TO ARQSAIDA.TXTAET ALTERNATE ON // lida a sada para o arquivoUSE MALA INDEX ICEPLIST CLIENTE, CIDADE, ESTADOSET ALTERNATE OFF // suspende a sada para o arquivoCLOSE ALTERNATE // fecha a operao com o arquivo

    // alternativo.TYPE ARQSAID.TXT

    SET BELLPropsito: Controla a sada sonora na operao de entrada de

    dados.Sintaxe: SET BELL ON|OFF|

    SET CENTURYPropsito: Possibilita configurar os dgitos dos sculos das datas.Sintaxe: SET CENTURY ON|OFF|

    Exemplo:

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    41/116

    SET DATE TO BRIT // escolher o formato da data? date( ) // resultado: DD/MM/AASET CENTURY ON // configura as datas para quatro

    // dgitos no ANO? date( ) // resultado: DD/MM/AAAASET CENTURY OFF // retorna ao padro

    SET COLORPropsito: Definir as cores que sero exibidas na tela.Sintaxe: SET COLOR TO [,

    , , , ] | Exemplo:

    VNOME := SPACE(30)PADRAO1 :=W/N, N/NPADRAO2 :=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? VOC DIGITOU O NOME...:?? VNOME

    SET CONFIRMPropsito: Configurar a confirmao de entrada de dados de

    GETs.Sintaxe: SETCONFIRM ON|OFF|

    Exemplo:

    CLEARLOCAL VNOME := SPACE(15)

    @ 10,10 SAY DIGITE O SE NOME POR COMPLETO...: GET VNOMEREADSET CONFIRM ON // liga a confirmao

    @ 20,10 SAY DIGITE O SEU NOME POR COMPLETO...: GET VNOMEREAD

    SET CONSOLE

    Propsito: Configurar a sada do consoleSintaxe: SET CONSOLE ON|OFF

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    42/116

    SET CURSORPropsito: Configurar o formato da edio de campos ou

    variveis do tipo Data.Sintaxe: SET DATE [TO]

    Exemplo:SET DATE TO ITALIAN

    ? A DATA DE HOJE E....:?? DATE( )SET DATE TO GERMAN

    VDATA:=CTOD ( / / )

    @ 10,10 SAY DIGITE QUALQUER DATA...: GET VDATAREADSET DATE TO ANSY

    ? Mudando o formato da data? A data que voc digitou foi...:?? VDATA

    SET DECIMALSPropsito: Configurar a quantidade de casas decimais exibidas.Sintaxe: SET DECIMALS

    Exemplo:SET FIXED ONSET DECIMALS TO 2 // 2 casas decimais (o padro)? 10/3? 20/7SET DECIMALS TO 5? 10/3? 20/7

    SET DEFAULT

    Propsito: Configurar a unidade de disco em que os arquivossero processados.

    Sintaxe: SET DEFAULT TOExemplo:SET DEFAULT TO A: // muda a leitura de arquivo para o

    disketeSET DEFAULT TO C:\CLIPPER5 // muda para a unidade C no// diretrio \ CLIPPER5

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    43/116

    SET DELETEDPropsto: Ativar ou desativar os registros marcados

    para eliminao.Sintaxe: SET DELETED ON|OFF|(.T.)/(.F.)

    SET DELIMITERSPropsito: Ativar ou desativar a edio de caracteres que

    sero utilizados como delimitadores de GETs.Sintaxe: SET DELIMITERS ON|OFF|(.T.)/(.F.)

    SET DELIMITER TOPropsito: Define delimitadores para edies GETs.Sintaxe: SET DELIMITERS TO [DEFAULT]

    Exemplo:CLEARVNOME:= VENDERECO:= SPACE(30)SET DELIMITER ON // liga a edio de delimitadoresSET DELIMITER TO :: // estabelece novos delimitadores@ 10,10 SAY DIGITE O NOME...: GET VNOMESET DELIMITER TO [] // muda os delimitadores novamente@ 12,10 SAY DIGITE O ENDEREO..: GET VENDERECOREAD

    SET DEVICEPropsito: Configurar a sada 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 sada (@.. say) para a

    // impressora@ 20,15 SAY SER IMPRESSO NA LINHA 20, COLUNA 15 DO PAPELSET DEVICE TO SCREEN // retorna a sada para a tela

    SET EPOCH

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    44/116

    Propsito: Permite um maior controle das datas que no possuem quatro dgitos no ano.

    Sintaxe: SET EPOCHExemplo:SET DATE FORMAT TO DD/MM/YYYY // formata o ano com 4dgitos? CTOD (04/05/78) // resultado: 04/05/1978? CTOD (04/05/92) // resultado: 04/05/1992SET EPOCH TO 1980? CTOD (04/05/78) // resultado: 04/05/2078 // datamenor?? CTOD (04/05/92) // resultado: 04/05/1992

    SET ESCAPEPropsito: Ativar ou desativar a sada de um GET atravs da

    tecla .Sintaxe: SET ESCAPE ON|OFF|(.T.)/(.F.)

    SET EXACT

    Propsito: Determina se as comparaes entre expressescaracteres devem ser totalmente iguais ou parciais.

    Sintaxe: SET EXACT ON|OFF|(.T.)/(.F.)

    Exemplo:// .T. (sim) .F. (no)SET EXACT OFF // padro? AB1 = AB1CD // RESULTADO: .T.? AB1 = AB1 // RESULTADO: .T.SET EXACT ON? AB1 = AB1CD // RESULTADO: .F.? AB1 = AB1 // RESULTADO: .T.

    SET EXCLUSIVEPropsito: Determina se a abertura de arquivos para utilizao

    ser de modo exclusivo ou compartilhado.Sintaxe: SET EXCLUSICE ON|OFF|(.T.)/(.F.)

    SET FILTER

    Propsito: Cria filtros lgicos que escondem registros que noatendem a condio do filtro criado.

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    45/116

    Sintaxe: SET FILTER TOExemplo:USE MALA

    SET FILTER TO NOME = A // somente os nomes que comeam// com a letra A

    LISTA NOME, ENDEREOSET FILTER TO // tira o filtro, volta aonormalLISTA NOME, ENDEREO

    SET FIXEDPropsito: Determina a sada de casas decimais de todos

    os nmeros.Sintaxe: SET FIXED ON|OFF(.T.)/(.F.)

    SET FORMATPropsito: Executa um arquivo de formato de tela quando um

    READ avaliado.

    Sintaxe: SET FORMATExemplo:VNOME:=SPACE(40)VENDERECO:=SPACE(30)SET FORMAT TO TELA // seta o formato para uma procedurede

    // nome TELAREADPROCEDURE TELA

    @ 10,10 SAY NOME......: GET VNOME@ 12,10 SAY ENDEREO..: GET VEDERECORETURN

    SET FUNCTIONPropsito: Reprogramar uma tecla de funo.Sintaxe: SET FUNCTIONTO

    Exemplo:

    // reprogramando as teclas F2 e F3

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    46/116

    SET FUNCTION 2 TO GORKI STARLIN+CHR(13) // CHR(13) =SET FUNCTION 3 TO EDITORA ERICA? PRESS. OU ACCEPT DIGITE ALGO..: TO TESTE

    SET INDEXPropsito: Abrir arquivos de ndices para um arquivo de

    dados aberto na rea de trabalho corrente.Sintaxe: SET INDEX TO

    Exemplo:USE MALASET INDEX TO INOME, ICEP // organizado pelo ndice NOMELIST NOME, ENDEREO, CIDADESET ORDER TO 2 // ICEP, NOMELIST NOME, ENDEREO, CIADESET INDEX TO // fecha todos os ndices

    SET INTENSITYPropsito: Determina como os campos de edio GETs

    e PROMPTs sero exibidos.Sintaxe: SET INTENSITY ON|OFF|(.T.)/(.F.)

    SET KEYPropsito: Determina uma chamada de uma rotina atravs de

    uma tecla.Sintaxe: SET KEYTO

    Exemplo:CLEARSET KEY -2 TO TERMINA( ) // liga a tecla com afuno

    // TERMINA( )VNOME:=SPACE(30)@ 23,10 SAY TERMINA O PROGRAMA@ 10,10 SAY DIGITE O NOME...: GET VNOMEREAD

    FUNCTION TERMINA( )CANCELRETURN

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    47/116

    SET MARGINPropsito: Estabelecer o tamanho da margem esquerda para

    sada para a impressora.Sintaxe: SET MARGIN TOExemplo:USE MALA INDEX INOMESET MARGIN TO 10LIST NOME, ENDEREO, CIDADE TO RPINTER

    SET MESSAGEPropsito: Especifica qual linha do vdeo ser utilizada paraexibir as mensagens sadas pelo comando Prompt.

    Sintaxe: SET MESSAGE TO(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 ORDERPropsito: Estabelecer qual dos arquivos de ndices abertos ser

    o Master Index.Sintaxe: SET ORDER TO .

    Exemplo:USE MALA INDEX ICEP, INOMELIST NOME, ENDEREO, CIDADE, CEP// lista em ordem de NOMESSET ORDER TO 2 // muda o arquivo de ndice decontroleLIST NOME, ENDEREO, CIDADE, CEP// lista em ordem de CEP

    SET PATH

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    48/116

    Propsito: Especificar uma direo de disco ou diretrio queser pesquisada pelo Clipper quando este tentar abrirarquivos e no os encontrar.

    Sintaxe: SET PATHExemplo:SET PATH TO C:\FOLHA;C:\FATURA // assinala dois caminhos

    // opcionais

    SET PRINTERPropsito: Especificar a sada do console para a impressora ou

    para um arquivo.

    Sintaxe: SET PRINTER ON|OFF|(.T.)/(.F.)SET PRINTER TOSET PRINTER TO

    Exemplo:SET PRINTER OFF? DATE( ), TIME( )SET PRINTER ON // liga a sada da console para impressora? DATE( ), TIME( )

    SET PROCEDURE

    Propsito: Abrir um arquivo de procedures e compilarsuas procedures, colocando-as dentro do programa .OBJ aser gerado.

    Sintaxe: SET PROCEDURE TO

    SET RELATIONPropsito: Estabelecer relacionamentos entre reas de trabalho.

    Sintaxe: SET RELATION TO [ | INTO ], TO. . .

    [ADDITIVE]Exemplo:USE CURSOS.DBF INDEX CODCUR.NTXUSE ALUNOS.DBF NEWSET RELATION INTO CURSO TO CURSOS // estabelece arelao

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    49/116

    SET SCOREBOARDPropsito: Ligar ou desligar a exibio das mensagens emitidas

    por READ e MEMOEDIT( ).Sintaxe: SET SCOREBOARD ON|OFF|/

    SET SOFTSEEK

    Propsito: Ligar ou desligar a pesquisa relativa do comandoSEEK.

    Sintaxe: SET SOFTSEEK ON|OFF|(.T.)/(.F.)

    SET TYPEAHEADPropsito: Determina o tamanho do buffer do teclado.Sintaxe: SET TYPEAHEAD TO

    SET UNIQUEPropsito: Ligar ou desligar a incluso de chaves duplicadas em

    um ndice.Sintaxe: SET UNIQUE ON|OFF|(.T.)/(.F.)

    SET WRAPPropsito: Liga ou desliga a rolagem da barra entre extremos

    do menu montado pelo comando @. . . PROMPT.Sintaxe: SET WRAP ON|OFF|(.T.)/(.F.)

    SKIPPropsito: Saltar o ponteiro entre os registros do banco de dados.Sintaxe: SKIP [ALIAS]

    Exemplo:USE MALAGO 1SKIP 2 // salta para o registro 3SKIP 4 // salta para o registro 7SKIP -3 // salta para o registro 4

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    50/116

    SORTPropsito: Criar um arquivo de dados (.DBF) Classificado.Sintaxe: SORT TO ON [ / [A] [D]

    [C] ], . . .

    [] [WHILE][FOR]Exemplo:USE MALASORT TO MALA2 ON NOME // classificara os registros pelocampo

    // NOMEUSE MALA2LIST NOME, ENDEREO, CIDADE

    STATICPropsito: Declara uma varivel ou matriz como esttica.Sintaxe: STATIC [:=]

    Exemplo:FUNCTION SENHASTATIC VCONTROLE := 6 // declara a varivel como esttica

    :

    :RETURN

    STOREPropsito: Atribuir valores a variveis.Sintaxe: STORE TO

    Exemplo:STORE 123.33 TO VAR1 // equivalente a VA1:=123.33? VAR1 // mostra o valor de VAR1VAR1:=VAR2:=4848? VAR1,VAR2 // resultado: 4848 4848

    SUMPropsito: Realizar o somatrio de expresses.Sintaxe: SUM TO [] [WHILE ] [FOR]

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    51/116

    Exemplo:USE FOLHASUM SALRIO TO TOTALSAL FOR SETOR = 1 // totaliza o salrio

    // dos funcionrios do setor 1@ 10,10 SAY RESULTADO...:+STR (TOTALSAL)

    TEXTPropsito: Permite a exibio de um bloco de textos no vdeo,

    em um arquivo ou na impressora.Sintaxe: TEXT [TO PRINTER][TO FILE

    ...ENDTEXT

    Exemplo:TEXT // abre o bloco de texto----------------------ISTO E APENAS UM TEXTO----------------------ENDTEXT // finaliza o bloco de texto

    TOTALPropsito: Cria um arquivo (.DBF), contendo valores totalizados

    de outros arquivos de dados.Sintaxe: TOTAL ON TO

    [] [FIELDS [FOR]

    TYPEPropsito: Mostrar o contedo de um arquivo texto gravado

    em disco.Sintaxe: TYPE [TO PRINTER] [TO FILEExemplo:TYPE MENU.PRG TO PRINTER // imprime a listagem doprograma

    // MENU.PRG

    UNLOCK

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    52/116

    Propsito: Liberar travamentos de arquivo ou registro emambiente de Rede Local.

    Sintaxe: UNLOCK[ALL]Exemplo:USE MALA SHARED

    ::

    IF FLOCK( ) // trava todos os registrosREPLACE SALRIO WITH VSAL*INDICE ALLUNLOCK // libera o travamento pendente

    ELSE? NO POSSVEL PROCESSAR OS REGISTROS NO

    MOMENTOENDIF

    UPDATEPropsito: Atualizar o arquivo aberto na rea corrente a partir

    de outro arquivo de dados aberto em outra rea detrabalho.

    Sintaxe: UPDATE FROMONREPLACEWITH,

    WITH ,,,,[RANDOM]

    USE

    Propsito: Abrir um arquivo de dados (.DBF) eopcionalmente arquivo a este associado.

    Sintaxe: USE [index ]

    [ALIAS][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 prximarea

    // disponvel.

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    53/116

    WAIT

    Propsito: Determinar uma pausa na execuo do programa atque uma tecla seja pressionada.

    Sintaxe: WAIT [] TO []Exemplo:A:=4WAIT Press. qualquer tecla para continuarB:=5? A+B

    ZAPPropsito: Excluir os registros do arquivo aberto na rea

    corrente.Sintaxe: ZAP

    Exemplo:USE MALA INDEX ICOD, ICEPZAP // elimina todos os registros.

    Funes da Linguagem Clipper 5.2

    AADD( )Propsito: Adicionar um novo elemento no final de um valor.

    Sintaxe:AADD (,)< alvo > o vetor no qual ser adicionado um novoelemento.< Expvalor> o valor a ser atribudo ao novo

    elemento.Exemplo:

    declare vetor [2], vetor2 [2]vetor [1] = teste

    vetor [2] =Gorki

    vetor2 [1] = Starlinvetor2 [2] = livro

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    54/116

    AADD (vetor, vetor2) // o AADD( ) adiciona um terceiroelemento // e automaticamente alterando otamanho // do vetor. O terceiro elementoser um // array bidimencional que temcomo // referncia o vetor2 [ ].

    // mostrando os dados dentro dos vetores? vetor [1]? vetor [2]? vetor [3] [1]? vetor [3] [2]vetor2 [1] = ltima atribuio? vetor [3] [1]? vetor [3] [2]

    ABS( )Propsito: Retorna o valor absoluto de uma expresso numrica.Sintaxe: ABS()

    uma expresso numrica aser devolvida ao seu valor absoluto.Exemplo:a : = 9b : = -4? abs (a) // devolve 9? abs (b) // devolve 4

    ACHOICE( )Propsito: Construir e executar menus do tipo Pop-up.Sintaxe: ACHOICE( , , ,

    , [ , , , ])

    Exemplo:/* EXEMPLO DE PROGRAMA UTILIZANDO ACHOICE( )

    AUTOR: GORKI STARLIN*/CLEAR // limpa a telaLOCAL ITEM [4], SELEO [4]ITEM [1] :=CADASTRAR // atribui os valores do vetorITEM [2] :=PESQUISARITEM [3] :=ALTERARITEM [4] :=EXCLUIR

    SELEO [1] := SELEO [2] := .T. // determina itensdisponveis

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    55/116

    SELEO [3] := SELEO [4] := .F. // determinaitens // nodisponveisESCOLHA := ACHOICE (12,12,14,15,ITEM,SELEO)? ESCOLHA // mostra a escolha do

    usurioDO CASECASE ESCOLHA = 1

    DO CADASTRACASE ESCOLHA = 2

    DO PESQUISACASE ESCOLHA = 3

    DO ALTERACASE ESCOLHA = 4

    DO ELIMINACASE ESCOLHA = 0

    CANCELENDCASE

    ACLONE( )Propsito: Duplicar um Array(vetor) do tipo multidimensional.Sintaxe: ACLONE( )

    Exemplo:Local array1, array2array1 := { 12,13,14}array2 := ACLONE (array1) // array2 igual a array1,ouseja

    // { 12,13,14 }

    ACOPY( )Propsito: Cpia de informaes entre vetores.Sintaxe: ACOPY ( , ,

    , , < posio destino>).Exemplos:Local vetor1,vetor2vetor1 := { 10, 10, 10 }vetor2 := { 20, 20, 20 }ACOPY (vetor1, vetor2,1,2} / / vetor 2 agora { 10, 10, 20}

    ADEL( )

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    56/116

    Propsito: Elimina um elemento de um vetorSintaxe: ADEL( , < posio>)

    Exemplo:Private vetorvetor := { 100, 300, 200 }ADEL( vetor,2) // VETOR passa a conter { 100,200,nil}

    ADIR( )Propsito: Armazenar em uma array (VETOR) as informaes

    lidas a partir de um diretrio.Sintaxe: ADIR([ , , , , , ]).Exemplo:Private fontes [ADIR (*.PRG)] // cria um vetor com o

    //tamanho correspondente ao nmero de// .prgs existente no diretrio// corrente

    ADIR (*.PRG, FONTES) // preenche o vetor com o nome dos

    // arquivosESCOLHA = ACHOICE (10,10,20,35,FONTES) // monta um menu Pop-Up? SUA ESCOLHA FOI...: + STR (ESCOLHA)

    AEVAL( )Propsito: Executar um code block (Bloco de Cdigo) para

    cada elemento do vetor multidimencional.Sintaxe: AEVAL (, , [],[]

    )Exemplo:/* EXEMPLO DE UTILIZAO DA FUNO AEVAL( ) */LOCAL ARQUIVO : = DIRECTORY (*.*), NOMES : = {}CLEARAEVAL (ARQUIVOS { | FILES | AADD (NOMES, FILES [1] ) } )ESCOLHA := ACHOICE ( 10, 10, 20, 35, NOMES)

    AFIELDS( )

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    57/116

    Propsito: Preenche os elementos de vetores com aestrutura do banco de dados que estiver aberto na reacorrente de trabalho.

    Sintaxe: AFIELDS( [ ], [ ], [ ], [ ].

    AFILL( )Propsito: Preencher um vetor com um determinado valor.Sintaxe: AFILL( , < valor>,

    , ).Exemplos:Local vetor [5]Afill (vetor, 4) // resultado: vetor = {4, 4, 4, 4, 4}

    AINS( )Propsito: Inserir um elemento com uma informao NIL (nulo)

    em um vetor.Sintaxe: AINS( , )

    Exemplo:Private vetorvetor := {10, 20, 30}AINS(vetor,2) // resultado aps AINS ( ) ->

    // vetor := {10, NIL, 20}

    ALERT( )Propsito: Criar uma caixa de dilogo simples com o usurio.

    Sintaxe: ALERT ( , )

    que o usurio poder escolher.

    Exemplo:Local nEscolha, aOPES := {Repetir, Abortar}USE CLIENTESCLEAR

    DO WHILE .NOT. ISPRINTER( ) / / SE NO EXISTE IMPRESSORAnESCOLHA := ALERT ( IMPRESSORA NO ENCONTRADA;

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    58/116

    aOPES)IF nESCOLHA = 2

    RETURNENDIF

    ENDDOSET PRINT ON / / LIGA A IMPRESSORALIST NOME,ENDERECO // LISTA OS DADOSSET PRINT OFF // DESLIGA A IMPRESSORA

    ALIAS( )Propsito: Retorna o nome do apelido de uma rea de trabalho.Sintaxe: ALIAS ()

    Exemplo:

    USE MALA NEWREA = SELECT( )USE CLIENTE NEW? ALIAS (REA)

    ALLTRIM( )Propsito: Remover todos os espaos em branco que existirem

    em uma cadeia de caracteres.

    Sintaxe: ALLTRIM ()Exemplo:PRIVATE STRING

    STRING : = SPACE(30)+ GORKI + STARLIM ? STRING? ALLTRIM (STRING)

    ALTD( )

    Propsito: Ativar o Clipper Debugger.Sintaxe: ALTD (ao)Exemplo:/* FOLHA.PRG

    AUTOR: GORKI STARLIN*/PARAMETER AO // recebe o parmetro enviado a partir do

    // sistema operacionalIF AO // verifica se o parmetro nulo

    AO = 0 // atribui 0 a varivel aoELSE

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    59/116

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    60/116

    ? endereo? ascan (vetor, {|var| upper (var) ==TOMATE}) //code block

    ASIKE( )Propsito: Alterar o nmero de elementos de um vetor.Sintaxe: ASIZE (, )

    Exemplo:VETOR : = {BATATA, TOMATE, FEIJO, CARNE}? LEN (VETOR) // mostra o tamanho do vetor. resultado: 4ASIZE (VETOR,10)// altera o tamanho do vetor? LEN (VETOR) // resultado: 10FOR I = 1 TO LEN (VETOR) // mostra todos os elementos do

    // vetor? VETOR [i]

    NEXT

    ASORT( )Propsito: Coloca em ordem os elementos de um vetor.Sintaxe: ASORT

    (,[],[],[]Exemplo:

    VETOR : {BATATA, TOMATE, FEIJO, CARNE } // cria o

    // vetorASORT (VETOR) // ordem ascendente

    FOR I = 1 TO LEN (VETOR) // mostra todos os elementos do vetor? VETOR [i]

    NEXTASORT (VETOR,,, {|a, b| a > b }) // ordem descendente

    FOR i = 1 TO LEN (VETOR)// mostra todos os elemento do vetor? vetor [i]

    NEXT

    AT( )Propsito: Mostra o endereo de uma string dentro de um cadeia

    de caracteres.Sintaxe: AT (,).

    Exemplo:VAR := BATATA? AT (TA, VAR) // resultado: 3? AT (T, VAR) // resultado: 2

  • 8/6/2019 4942105 Funcoes e Comandos Do CLIPPER

    61/116

    ? AT (Z, VAR) // resultado: 0

    ATAIL( )

    Propsito: Retornar o valor do ltimo elemento do vetor.Sintaxe: ATAIL ().Exemplo:LOCAL aNOMES : = {MARIA, JOS, JOO, ANA}ULTIMO := ATAIL (aNOMES)? LTIMO // ANA

    BIN2( )Propsito: Realizar a converso de um valor inteiro de 16 bits

    para um valor numrico.Sintaxe: BIN2 ().

    BIN2L( )

    Propsito: Realiza a converso de um valor intei