Comandos Clipper

March 24, 2018 | Author: João Souto Ribeiro Júnior | Category: Microcomputer Software, Office Equipment, Microcomputers, Computer Programming, Computer Science


Comments



Description

Clipper 5.2 Comandos e Funções ÍNDICE COMANDOS DA LINGUAGEM CLIPPER 5.2............................................................09 ?/?? ......................................................................................................................09 @... BOX.............................................................................................................09 @... CLEAR ........................................................................................................10 @... SAY...GET ..................................................................................................11 @... PROMPT .....................................................................................................12 @... TO................................................................................................................13 ACCEPT .............................................................................................................13 APPEND BLANK...............................................................................................14 APPEND FROM.................................................................................................15 AVERAGE..........................................................................................................16 BEGIN SEQUENCE...........................................................................................16 CALL ..................................................................................................................17 CANCEL.............................................................................................................17 CLEAR ALL .......................................................................................................17 CLEAR GET’S ...................................................................................................18 CLEAR MEMORY.............................................................................................18 CLEAR SCREEN ...............................................................................................18 CLEAR TYPEAHEAD.......................................................................................18 CLOSE ................................................................................................................18 COMMIT ............................................................................................................19 CONTINUE ........................................................................................................20 COPY FILE.........................................................................................................21 COPY STRUCTURE..........................................................................................21 COPY STRUCTURE EXTENDED ...................................................................21 COPY TO............................................................................................................22 COUNT ...............................................................................................................22 CREATE .............................................................................................................22 CREATE FROM.................................................................................................23 DECLARE ..........................................................................................................23 DELETE..............................................................................................................23 DELETE FILE ....................................................................................................24 DIR ......................................................................................................................24 DISPLAY ............................................................................................................25 DO .......................................................................................................................25 DO CASE............................................................................................................25 DO WHILE .........................................................................................................26 EJECT .................................................................................................................27 GEEK BRASIL – http://www.geekbrasil.com.br 1 Clipper 5.2 Comandos e Funções ERASE ................................................................................................................27 EXTERNAL........................................................................................................28 EXIT PROCEDURE...........................................................................................28 FIELD..................................................................................................................28 FIND....................................................................................................................29 FOR... NEXT ......................................................................................................29 FUNCTION.........................................................................................................30 GO .......................................................................................................................31 IF .........................................................................................................................31 INIT PROCEDURE ............................................................................................32 INDEX ................................................................................................................32 INPUT .................................................................................................................33 JOIN ....................................................................................................................33 KEYBOARD.......................................................................................................34 LABEL FORM....................................................................................................34 LIST ....................................................................................................................34 LOCATE .............................................................................................................35 LOOP ..................................................................................................................35 LOCAL................................................................................................................35 MENVAR ...........................................................................................................36 MENU TO...........................................................................................................36 NOTE ..................................................................................................................36 PACK ..................................................................................................................36 PARAMETER ....................................................................................................37 PRIVATE............................................................................................................37 PROCEDURE.....................................................................................................38 PUBLIC...............................................................................................................38 QUIT ...................................................................................................................39 READ..................................................................................................................39 RECALL .............................................................................................................40 REINDEX ...........................................................................................................40 RELEASE ...........................................................................................................40 RENAME............................................................................................................41 REPLACE ...........................................................................................................41 REPORT FROM .................................................................................................41 REQUEST...........................................................................................................42 RESTORE...........................................................................................................42 RESTORE SCREEN...........................................................................................42 RETURN.............................................................................................................43 RUN ....................................................................................................................43 SAVE ..................................................................................................................44 GEEK BRASIL – http://www.geekbrasil.com.br 2 Clipper 5.2 Comandos e Funções SAVE SCREEN..................................................................................................44 SEEK...................................................................................................................44 SELECT ..............................................................................................................45 SET ALTERNATE .............................................................................................45 SET BELL...........................................................................................................45 SET CENTURY..................................................................................................45 SET COLOR .......................................................................................................46 SET CONFIRM ..................................................................................................46 SET CONSOLE ..................................................................................................47 SET CURSOR.....................................................................................................47 SET DECIMALS ................................................................................................47 SET DEFAULT...................................................................................................48 SET DELETED...................................................................................................48 SET DELIMITERS .............................................................................................48 SET DELIMITER TO .........................................................................................48 SET DEVICE ......................................................................................................49 SET EPOCH .......................................................................................................49 SET ESCAPE......................................................................................................49 SET EXACT .......................................................................................................50 SET EXCLUSIVE...............................................................................................50 SET FILTER .......................................................................................................50 SET FIXED .........................................................................................................51 SET FORMAT ....................................................................................................51 SET FUNCTION.................................................................................................51 SET INDEX ........................................................................................................52 SET INTENSITY................................................................................................52 SET KEY ............................................................................................................52 SET MARGIN ....................................................................................................53 SET MESSAGE..................................................................................................53 SET ORDER .......................................................................................................53 SET PATH ..........................................................................................................54 SET PRINTER ....................................................................................................54 SET PROCEDURE.............................................................................................54 SET RELATION.................................................................................................54 SET SCOREBOARD..........................................................................................55 SET SOFTSEEK.................................................................................................55 SET TYPEAHEAD.............................................................................................55 SET UNIQUE .....................................................................................................55 SET WRAP .........................................................................................................55 SKIP ....................................................................................................................56 SORT ..................................................................................................................56 GEEK BRASIL – http://www.geekbrasil.com.br 3 ........................................58 UPDATE ....................65 ALLTRIM( )..........................................................com.........................................................................................................................59 USE .............Clipper 5..........................................................................................70 GEEK BRASIL – http://www........................................................................................65 ALTD( )..............................................................................................................................................................................68 BIN2( ) .................................................................................................................................................................................................................................................................69 BIN2L( ) ..................................................................................................................................................................................................64 AINS( )..................................................................................................................................59 ZAP ........................................................................................................................................................64 ALIAS( ) ................................................................................59 WAIT ...............................................................57 TEXT...69 BROWSE( ) ............................................................................br 4 ............58 TYPE....................................................................................................................................................................58 UNLOCK ........................................................................................66 ASCAN( )............................61 ACLONE( ) ........................................................................................................................62 ADEL( ).................................................................................................................................................................................................61 ACHOICE( ) .......................................................................2..............................geekbrasil...................................67 ASIZE( ).....................................................................................................................................................................................................................................................................................................................................69 BIN2W( )........64 AFILL( ) ...69 CDOW( )............................................................................................2 Comandos e Funções STATIC.................................66 ARRAY( ) ......60 FUNÇÕES DA LINGUAGEM CLIPPER 5..........................................................................................................................................................................67 AT( ).....................64 ALERT( ) ............................63 AFIELDS( )....................................................................................................................63 AEVAL( )...............................................................................................................................57 TOTAL..........60 AADD( ).............................................................57 SUM ........................................................................................................................................................................................................62 ACOPY( ).....56 STORE ..........................................................................................................................................................68 ATAIL( ) ......................................................................................................................................................................................................................................................................................................................................................................69 BOF( ) .................................60 ABS( ) ......................................................................62 ADIR( ) .................................................................................................67 ASORT( ) ...................................................66 ASC( ) ........................................................................................................ .....................................................................................................................................................................................................................................................84 DBSETORDER( ).....................71 CLORSELECT( )...................................................................................................................................................................................................................86 DEVPOS( ).72 DAY( ) ...........................................................................br 5 ..........................................................................81 DBRELATION( )........................................................................................................................................................................................................................80 DBGOTOBOTTOM( )..............................................................................................................................................83 DBSETDRIVER( )..................................76 DBCREATEINDEX( ).................................................................72 DBCLEARFILTER( ) ...................................................71 CTOD( ) .................................................................................70 COL( ) ...................................................77 DBEDIT( )..........................................................................81 DBRSELECT( ) .......................................................................................72 DBAPPEND( ) .................78 DBEVAL( ) .......................................geekbrasil..........................................75 DBCLEARRELATION( )........................................................................................86 DESCEND( ).......................................................................com.84 DBSKIP( ) ............................81 DBRECALL( ) ...................................................................................................................................Clipper 5..................72 DATE( ) ..................................................................................75 DBCLOSEALL( ) ........................................................................76 DBCREATE( ) .2 Comandos e Funções CMONTH( )...............75 DBCOMMIT( ) ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................84 DBSETRELATION( )..................80 DBGOTOP( ) ........................................................85 DBSTRUCT( ) ........................................................................................................................................79 DBFILTER( ) ......................................................................................................74 DBCLEARINDEX( ) ..............................85 DBUNLOCKALL( ) ........................................................................................................................................................................................................................................................80 DBGOTO( ) .............................75 DBCOMMITALL( )...........................................................71 CURDIR( ) ........................................................................................................................................................82 DBSEEK( ).................................83 DBSETINDEX( ) ............................................................................................................................82 DBSELECTAREA( ) .....................................................................................................................79 DBF( ) ............................................................86 DELETED( ) ...................................................81 DBREINDEX( ) ..........................................................................................................................85 DBUSEAREA( ) ..................87 GEEK BRASIL – http://www....................................................................................................................76 DBDELETE( )............................................................................................ ...............................................91 FCOUNT( ) .................................89 ERRORLOCK( )...............................................................................................................................................89 EMPTY( )..................87 DIRECTORY( ) .....................87 DISKSPACE( ) .................................................................................................................................100 ISCOLOR( ) .....................................................geekbrasil............................................................................................................................................................93 FKLABEL( ) .........97 HARDCR( ) ...................................................92 FIELD( ) ....................................................................................94 FREAD( ) ......................................................................Clipper 5................................................................................99 INKEY( ).........2 Comandos e Funções DEVOUTPICT( ) .................................90 FCLOSE( ) .......................................................................97 HEADER( )......99 INT( )....................................................................................................100 ISDIGIT( )........89 EOF( ).............................................................................................................................98 INDEXKEY( ).........100 GEEK BRASIL – http://www.........96 GETENV( ) ...........................................................................................................91 FERASE( ) ................................................................................................................................................................................................................................................................................................................................90 EXP( ).............................................96 FSEEK( )..................................................................................................................................................................................93 FKMAX( ).............................................................................................................................................................................................................................................................88 DTOC( ) ......................................................................................................90 EVAL( )..............................................................................................................................................................................................................................92 FERROR( )..............94 FOUND( ) ...........................................................................................................................................................................................br 6 ...............................................99 ISALPHA( ) ........94 FOPEN( ) .................................................................................................................................................95 FRENAME( ) ....................................88 DOSERROR( )........................................................................................................................................98 INDEXEXT( ) ........................................................97 IF( ).........................................................................................................................................................................................................................................................................95 FREADSTR( ).......................92 FILE( )...........................................................93 FLOCK( ) .................................................................................................................................88 DOW( )............................................................................................................90 ERRORLEVEL( ) .....................................................................................................................................................................................................................................91 FCREATE( ) .........................................................................................................................................96 FWRITE( ) ..............................................98 INDEXORD( ) ...................................................................................................................................com....................................................................................... ..............Clipper 5.........................................................................................................................................................................................103 LOWER( )..............................................................................................................................................................................................................................117 QQOUT( ) ...............................................................113 NEXTKEY( ) ................................111 MIN( ) .................................................102 LASTKEY( ) .....102 LEFT( )..................................................................................................116 PROW( ) ..........................................................................................................................................................................................................................................................................................................................112 MOD( )..........................................117 GEEK BRASIL – http://www.............................................................................................................................................................................................................................102 LEN( ) ..................................................................100 ISPRINTER( ) ..................................................................113 MONTH( ) ...........112 MLPOS( )...........116 QOUT( ) ..................................................................................101 ISUPPER( ) ..........................................................................................................................................................................................................................................................................................................................................................113 NETERR( )..........................................................................................................................................................................................................................114 PAD( ) .........................................................................................................101 I2BIN( ) ...............................................................................................................................................................................................................................................com......................................................................................................114 OS( ) .......104 LUPDATE( ) ........................104 MAX( )....................................................103 LENNUM( ) .........111 MEMOWRIT( ) ........................105 MAXROW( ) ...............111 MLCOUNT( ) ........................115 PROCLINE( )............................................105 MAXCOL( )...........105 MEMOLINE( )......................................................................2 Comandos e Funções ISLOWER( ) .............................................................................................110 MEMOTRAN( )..................geekbrasil..................................................................................................................................................................................................115 PCOUNT( ) ...110 MEMORY( ) ............116 PROCNAME( ).......................................................................................................................................................................114 PCOL( ).........102 LASTREC( ) .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................117 RAT( ) ...................................................................................................................................................................................................................113 NETNAME( )..............br 7 ..109 MEMOREAD( )..105 MEMOEDIT( )...........104 LTRIM( )....................................103 LOG( ) ..................................................................................................................................................................................................104 L2BIN( ) .............................. ....................................................................................................................................................................................................................................................................................................................124 SETCANCEL( ) .............................................................130 USED( ).......129 TYPE( ) .........................................................................................................................................119 RECCOUNT( )..................................................................................................................................................................................................Clipper 5....................................................128 TONE( ) ...................................................................................................................................................................121 ROUND( )..............................125 SETKEY( )...121 RLOCK( )...........................................118 READKEY( ) ........................................................................................................................................120 REPLICATE( )...........128 TIME( ) .....................................................................................................................................................................................................................................................2 Comandos e Funções READEXIT( ) ................................................124 SETCOLOR( ) ..................................................129 UPDATE( ) .................................................................................................................................................125 SOUNDEX( ) .....................................................................................127 SUBSTR( ) .....................121 RIGHT( ) ...............................................................................................................................................................................................................................................................................................123 SECONDS( )..........................................................................................................119 READVAR( ).......................................................................................124 SETCURSOR( )......................130 VALL( ).............................................................................................................................................................118 READMODAL( )...................................................br 8 .........................................................com...................................................................................................................................122 RTRIM( ) .....................................................................................................................................................130 VALTYPE( ) ................127 STUFF( ) ...............................123 SELECT( ) ....................................126 STR( ).........................................................................................................................................................................................................122 SAVESCREEN( ) .................................129 UPPER( )....126 SPACE( )...................................................................................................................120 RESTSCREEN( )........................................125 SETPOS( ).....................................119 RECNO( )...........131 GEEK BRASIL – http://www......................................127 STRTRAN( )........................................123 SCROLL( )..................................................geekbrasil................................125 SETPRC( ) ...................................................126 SQRT( ).......................................................................................................................................................................................122 ROW( )...................................................................................120 RECSIZE( ) ...................................................................................................................................................................................................117 READINSERT( ) ............................................................128 TRANSFORM( ).................................................................................................................................................................................. ..........geekbrasil...........................Clipper 5........................................................................................com.......................................................2 Comandos e Funções VERSION( )....................................................................131 YEAR( ) ........132 GEEK BRASIL – http://www.......131 WORD( ).....................................................br 9 ...... . <Lin final>.Clipper 5.:” ?? date ( ) / / exibe na mesma posição anterior do cursor @.PRG ACESSAR TODOS OS PROGRAMAS */ SAVE SCREEN TO TECLADOS CLEAR SET DATE BRIT SET CONFIRM ON SET DELETE ON DO WHILE .2 Comandos e Funções Comandos da Linguagem Clipper 5. <Col BOX <Cadeia> Exemplo: LOCAL C.T.com. @ <Lin inicial>. Construir um box (caixa) na tela.2 ?/?? ou Propósito: Sintaxe: Mostrar um ou mais valores na impressora.geekbrasil.<Col inicial>. CLEAR SET WRAP ON SET MESSAGE TO 23 CENTER SET COLOR TO B/W REBOX=CHR (201) +CHR (205) +CHR (187) +CHR (186) +. BOX Propósito: Sintaxe: final>...L /* MODULO : FUNÇÃO: M.br 10 . CHR (188) +CHR (205) +CHR (200) +CHR (186) PRIVATE=EMPRESA:= “FACULDADES REUNIDAS LTDA” L = 08 C = 22 CLEAR GEEK BRASIL – http://www. ?/?? <Lista de expressões> console (vídeo) Exemplo: CLEAR / / limpa a tela ? “Exemplo do comando ?” / / exibe a informação no vídeo ? date ( ) / / exibe a data ( nova linha ) ? ”a data de hoje é. C PROMPT “PROCESSAR FACULDADES” @ L+2.21. CLEAR > Propósito: Sintaxe: CLEAR Apagar (limpar) apenas uma área específica da tela. @ < Lin inicial >.42 SAY “CONTROLE DE FACULDADE” @ 01.42 SAY “MODULO PRINCIPAL” @ 02.L+7.39 BOX RETBOX @ 00.79 BOX RETBOX+CHR (177) @ 22.70 SAY DATE( ) @ 02.10 CLEAR TO 20. .geekbrasil.02 SAY EMPRESA @ 01.C-2.C PROMPT “VOLTAR AO D.79 BOX RETBOX @ 01.24.S.C PROMPT “PROCESSAR TABELA DE CURSOS” @ L+4.Clipper 5.O.00.79 BOX RETBOX @ 04.com.C PROMPT “PROCESSAR ALUNO” @ L+6.<Col final>] Exemplo: SET COLOR TO B+/W / / muda a cor CLS // equivalente a CLEAR.70 SAY TIME ( ) @ 23.br 11 . ou seja limpa toda a tela SET COLOR TO W+/N / / estabelece um novo padrão de cor @ 10.40.03.2 Comandos e Funções @ 00. .00.” MENU TO OPC DO CASE CASE OPC = 1 DO MENUFACU CASE OPC = 2 DO MENUCURS CASE OPC = 3 DO MENUALUN OTHERWISE RESTORE SCREEN FROM TELA TECLADOS CANCEL ENDCASE ENDDO @ .03.00.C+35 BOX RETBOX+CHR(255) SET COLOR TO @ L. < Col inicial [TO<Lin final>.02 SAY “MENSAGEM” @ L-1.10 TO 20.20 DOUBLE / / desenha uma moldura (quadro) GEEK BRASIL – http://www.20 / / limpa uma região da tela @ 10. .999.:” GET VADATA PICT “@K” READ // executa os gets pendentes VENDERECO : = SPACE(35) // permite a edição do endereço. @ 18..2 Comandos e Funções @.P.<final>] [VALID <condição> ] Exemplo: LOCAL VNOME :=SPACE(30) . SAY.10 SAY “NOME DO FUNCIONÁRIO. podendo // assim o usuário escrever a data que desejar. // rolando no sentido horizontal o que não couber no 20 // espaços determinados por PICTURE “@s20”. @ 16.:” GET VNOME PICTURE “!!!!!!!!!!!!!!!” GEEK BRASIL – http://www. // mas caso a data oferecida pelo programa não // seja a correta basta que o usuário pressione // qualquer tecla. .. .10 SAY “ENDEREÇO.15 SAY “C. cujo tamanho é de // de 35 posições. SAY>] ] Sintaxe: Criar e executar um novo objeto GET (entrada de colocando-o em exibição na tela.. VSALARIO : = 0 / / define inicia variáveis : : // formata a digitação para maiúsculas @ 12. que não sejam as teclas de // movimentação...com.Clipper 5..F.:” GET VNOME PICT “@!” // edita os números no formato europeu @ 14.999... GET Propósito: dados).br 12 . que a data é apagada.10 SAY “ADMISSÃO.99” VDATA := DATE( ) // cria a variável 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.geekbrasil.:” GET VCPF PICTURE “999. .999-9” READ VNOME : = SPACE(15) // equivalente à picture “@!” @ 11.. .10 SAY “SALÁRIO MENSAL:” GET VSALARIO PICT “@E 999.15 SAY “NOME. em uma área da tela de apenas 20 posições..999..:” GET VENDERECO PICTURE “@ 20” READ // executa o get pendente.. @ <linha>. VCPF : = SPACE(14) @ 10. < coluna> [ SAY <exp> [ <mascara [WHEN<condição>] [RANGE <inicial>. br 13 .2 Comandos e Funções VCODIGO : = 0 // os pontos serão editados. porem não serão gravados na // variável.com. CLEAR // LIMPA A TELA // cria variáveis para facilitar as coordenadas do menu L: = 8 C: = 32 // montar a tela @ 01..02 TO 04. @ 12.C PROMPT ”INCLUSÃO” MESSAGE “INCLUSÃO DE DADOS” @ L+1.Clipper 5..” @ 03.01 SAY “ALT CONTROL INFORMÁTICA LTDA.1000) READ VALORII : = 0 // aceita apenas valores positivos @ 16.T..79 DOUBLE @ 02.50 SAY “VALOR.70 SAY TIME( ) // detalha o menu de barras @ L.:” GET VALORII VALID (VALORII > 0) READ @.C PROMPT “CONSULTA” MESSAGE “CONSULTA DE DADOS” GEEK BRASIL – http://www....geekbrasil.C PROMPT “ALTERAÇÃO” MESSAGE “ALTERAÇÃO DE DADOS” @ L+2.. . @ < linha >.15 SAY “CÓDIGO.15 SAY “VALOR. @ 15.60 SAY DATE( ) @ 03. .999.999” READ VALORI : = 0 // será aceito na digitação um valor que esteja compreendido // entre 0 e 1000.:” GET VALORI PICT “9999” RANGE (0.. PROMPT Propósito: Sintaxe: MESSAGE Montar um menu de opções selecionáveis na tela.:” GET VCODIGO PICTURE “@R 99..01 TO 24. < coluna >”< opção >” <mensagem>] [ Exemplo: Local OPC : = 1 SET WRAP ON // habilita a rolagem da barra entre os extremos // do menu SET MESSAGE TO 23 CENTER // determina a saída de mensagens da // linha 23 da tela DO WHILE .78 @ 03. TO Propósito: coordenadas <colunaF> Sintaxe: Desenha um quadro (moldura) a específicas da tela.geekbrasil.Clipper 5.C L+6.20 @ 10. .br 14 .10 CLEAR TO 20. . @ <linhaI> .C L+5. [DOUBLE] Exemplo: SET COLOR TO B+/N @ 10.10 TO 20. <colunaI > TO partir de <linhaF>.com.C L+4. GEEK BRASIL – http://www.C PROMPT “EXCLUSÃO” MESSAGE PROMPT “RELATÓRIOS” MESSAGE PROMPT “UTILITÁRIOS” MESSAGE PROMPT “F I M” MESSAGE // executa o menu e controla “EXCLUSÃO DE DADOS” “RELATÓRIOS DO SISTEMA” “UTILITÁRIOS DO SISTEMA” “RETORNO AO DOS” a barra MENU OPC DO CASE // faca os casos CASE OPC = 1 DO PROG1 CASE OPC = 2 DO PROG2 CASE OPC = 3 DO PROG3 CASE OPC = 4 DO PROG4 CASE OPC = 5 DO PROG5 CASE OPC = 6 DO PROG6 CASE OPC = 7 CANCEL // cancela a execução do programa ENDCASE INKEY(0) // aguarda QQ tecla ENDDO @.2 Comandos e Funções @ @ @ @ L+3.20 DOUBLE ACCEPT Propósito: o Cria uma entrada de dados via teclado e armazenar conteúdo digitado em uma variável (tipo caracteres). Local Vnome CLEAR // limpa a tela ACCEPT “Digite o nome.:”...2 Comandos e Funções Exemplo: Sintaxe: ACCEPT [<mensagem de saída>] TO <var>.:” TO VNOME ? “NOME QUE VOCÊ DIGITOU FOI.. banco de APPEND BLANK Exemplo: Local Codvar.geekbrasil.T.NOMEX DO WHILE . // lay out CLEAR SET COLOR TO W+/N SET COLOR TO @ 01..60 SAY ATE( ) @ 03.02 TO 04.T.PRG AUTOR : GORKI STARLIN FUNÇÃO: ESTE MODULO ANEXA DADOS NO ARQUIVO PAGAMENTO */ USE FOLHA INDEX CODX. VNOME APPEND BLANK Propósito: dados Sintaxe: Criar (inserir) um registro em branco no aberto na área corrente de trabalho.03 SAY “SÍRIOS INFORMÁTICA” @ 03.78 @ 03.70 SAY TIME( ) // criar variáveis CODVAR = 0 SETORVAR = 0 SALARIOVAR = 0 NOMEVAR = SPACE(35) CARGOVAR = SPACE(15) ATIVOVAR = (.01 TO 24.79 DOUBLE @ 02..Clipper 5. OP /* NOME DO PROGRAMA: CADMULT1.) DATAVAR = CTOD (“ / / “) // entrada de dados GEEK BRASIL – http://www..br 15 .com. 10 SAY “DATA ADMISSÃO......:” GET CODVAR PICTURE “9999” READ IF CODVAR = 0 // verifica se o usuário não digitou o código OP: = “S” // cria a variável OP @ 21..... APPEND FROM [<escopo>] [ FIELDS [FROM <arquivo>] GEEK BRASIL – http://www.10 SAY “CÓDIGO..com..10 SAY “NOME FUNCIONÁRIO..10 SAY “FUNCIONÁRIO ATIVO.:” GET DATAVAR READ // grava os dados no registro em branco REPLACE COD WITH CODVAR REPLACE NOME WITH NOMEVAR REPLACE SETOR WITH SETORVAR REPLACE CARGO WITH CARGOVAR REPLACE ATIVO WITH ATIVOVAR REPLACE DTADM WITH DATAVAR REPLACE SALÁRIO WITH SALARIOVAR @ 21...Clipper 5...:” GET NOMEVAR PICTURE “@!” @ 12..:” GET SALARIOVAR PICT “9999999.10 SAY “SALÁRIO.:” GET SETORVAR PICT “@9” @ 14....br 16 .10 SAY “CARGO FUNCIONAL...:” GET OP PICT “A” READ IF OP = “S” // verifica a resposta do usuário RETURN // retorne ENDIF LOOP // sobe a execução para linha do DO WHILE // fim do se SEEK CODVAR // pesquisa no índice o conteúdo da variável // CODVAR IF EOF( ) // se não existe APPEND BLANK // tenta criar um registro em branco // entra com o restante dos dados do funcionário @ 10..99” @ 18.20 SAY “** REGISTRO JÁ CADASTRADO **” WAIT “ “ // aguarda QQ tecla ENDIF ENDDO ENDIF APPEND FROM Propósito: o de <campos>] Sintaxe: Anexa registro de um arquivo especificado para arquivo que se encontra aberto na área corrente trabalho.15 SAY “SAI DESTE MODULO....20 SAY “** CADASTRO **” WAIT “ “ // aguarda QQ tecla COMMIT // atualiza fisicamente o registro ELSE // se não @ 21...10 SAY “** CADASTRAMENTO DE FUNCIONÁRIOS **” @ 08.10 SAY “SETOR TRABALHO.geekbrasil.(S/N)...2 Comandos e Funções @ 06.:” GET ATIVOVAR @ 20..:” GET CARGOVAR PICT “@!” @ 16. .Clipper 5.2 Comandos e Funções [FOR <condição>] [WHILE <condição>] [SDF/DELIMITED] [WHITH BLANK / <delimitador>] Exemplo: USE FOLHA APPEND FROM COPIAF FOR . armazenando o // resultado na variável VSAL. COMISSÃO TO vcom // calcula e armazena nas // variáveis ? “media salarial.geekbrasil. COMANDOS [ BREAK [<expressão>] ] .:”+str(vcom = “A” // calcula a media // salarial. . DELETED( ) // copia apenas os //registros não marcados ? “termino da copia” AVERAGE Propósito: de Sintaxe: Calcular a média aritmética de campos ou expressões arquivos de dados.NOT.:”+str(vsal) ? “media das comissões.com. COMANDOS GEEK BRASIL – http://www. .. COMANDOS [ RECOUVER [ USING <variável> ] ] .br 17 .. .. AVERAGE <campos> TO <var’s> [<escopo>] [FOR<condição>] [WHILE <condição>] Exemplo: USE FOLHA // abre o arquivo de dados AVERAGE SALÁRIO. BEGIN SEQUENCE .. . . // porém somente dos funcionários // que trabalhem no setor A. BEGIN SEQUENCE Propósito: Sintaxe: Define uma seqüência de comandos para uma BREAK. . Intervalo CONTADOR :=0 INTERVALO :=0 DO WHILE CONTADOR < 50 BEGIN SEQUENCE CONTADOR++ IF CONTADOR > INTERVALO BREAK CONTADOR ENDIF RECOUVER USING CONTADOR ? “BLOCO DEFINIDO.Clipper 5. CONTADOR =“+STR (CONTADOR) INTERVALO+ = 5 END SEQUENCE ? “SAI FORA DO BEGIN SEQUENCE” ENDDO ? “LOOP TERMINADO” CALL Propósito: de Sintaxe: CANCEL Propósito: sendo Sintaxe: CLEAR ALL memória Executa uma rotina construída em outra linguagem programação.2 Comandos e Funções END [ SEQUENCE ] Exemplo: Local Contador.br 18 . CALL <rotina> WITH <parâmetros> Interromper a execução do executado. GEEK BRASIL – http://www.com.geekbrasil. programa que está CANCEL Propósito: Fecha Sintaxe: CLEAR ALL todos os arquivos abertos e libera da todas as variáveis (Públicas e Privadas). D.2 Comandos e Funções CLEAR GETS Propósito: Sintaxe: Libera todos os Gets pendente. 75) // folheia CLOSE Propósito: encontrem Sintaxe: de dados com a função nenhuma pendência de será limpo através de os registros do B.geekbrasil. CLEAR GETS CLEAR MEMORY Propósito: da Sintaxe: Libera todas as variáveis Públicas e Privadas memória. pois o mesmo CLEAR TYPEAHEAD. de qualquer devidamente abertos. CLEAR SCREEN CLEAR TYPEAHEAD Propósito: (fila) Sintaxe: Libera todas as pendências de teclagens do do teclado. Fechar arquivos.com.*/ BROWSE (5. 5. 23. Buffer CLEAR TYPEAHEAD Exemplo: /* Neste exemplo antes de folhear o banco BROWSE( ) é garantido que não existirá teclas do buffer do teclado. CLOSE <área>< tipo> GEEK BRASIL – http://www.br tipo. que se 19 .Clipper 5. CLEAR MEMORY CLEAR SCREEN Propósito: Sintaxe: Limpa a tela sem liberar os Get’s pendentes. T....10 SAY “** CADASTRAMENTO DE FUNCIONÁRIOS **” @ 08..PRG AUTOR : GORKI STARLIN FUNÇÃ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. os Buffers COMMIT Exemplo: /* NOME DO PROGRAMA: CADMONO1.T.:” GET CODVAR PICTURE “9999” READ IF CODVAR = 0 // verifica se o usuário não digitou o código OP := “S” // cria variável OP // pergunta se o usuário deseja sair do programa GEEK BRASIL – http://www...) DATAVAR := CTOD (“ / / “) // entrada de dados @ 06.10 SAY “CÓDIGO. COMMIT Propósito: dos Sintaxe: Realiza a gravação em discos de todos arquivos abertos..79 DOUBLE @ 02. CLEAR SET COLOR TO //põe cor padrão // lay out @ 01.03 SAY “ALT CONTROL INF” @ 03.NOMEX // abre o arquivo de dados e o de índice DO WHILE .60 SAY DATE( ) @ 03. CLOSE folha INDEXES // fecha todos os arquivos de índices // que estiverem abertos na área //(ALIÁS) FOLHA.Clipper 5.com.02 TO 04. de qualquer tipo // abertos em todas as áreas.geekbrasil.78 @ 03..2 Comandos e Funções Exemplo: CLOSE ALL // fecha todos os arquivos.70 SAY TIME( ) // CRIAR VARIÁVEIS CODVAR := SETORVAR := SALARIOVAR := 0 NOMEVAR := SPACE(35) CARGOVAR := SPACE(15) ATIVOVAR := (.br 20 ..01 TO 24.. ...geekbrasil.Clipper 5.10 SAY “DATA ADMISSÃO.:” GET CARGOVAR PICT “@!” @ 16.com. @ 21..20 SAY “** CADASTRO **” INKEY(0) // aguarda QQ tecla ELSE // se não @ 21.:” GET SETORVAR PICT “@9” @ 14. // armazenando-o em disco.:” GET SALARIOVAR PICT “9999999.. CONTINUE a pesquisa iniciada a partir do Exemplo: CLEAR USE FOLHA // abre o arquivo de dados LOCATE FOR SETOR = “A” DO WHILE FOUND( ) // faça enquanto existir GEEK BRASIL – http://www.br 21 ....10 SAY “CARGO FUNCIONAL.20 SAY “** REGISTRO JÁ CADASTRADO **” INKEY(0) // aguarda QQ tecla ENDIF // fim do se ENDDO // fim do faça enquanto CONTINUE comando Propósito: Continua Sintaxe: LOCATE..10 SAY “NOME FUNCIONÁRIO.:” GET ATIVOVAR @ 20.:” GET OP PICT “A” READ IF OP = “S” // verifica a resposta do usuário RETURN // retorne ENDIF LOOP // sobe a execução para linha do DO WHILE ENDIF // fim do se SEEK CODVAR // pesquisa no índice o conteúdo da variável // variável CODVAR IF EOF( ) // se NÃO EXISTE // entra com o restante dos dados do FUNCIONÁRIO @ 10..10 SAY “FUNCIONÁRIO ATIVO.(S/N).....15 SAY “SAI DESTE MODULO.:” GET DATAVAR READ APPEND BLANK // criar um registro em branco // grava os dados no registro em branco REPLACE COD WITH CODVAR REPLACE NOME WITH NOMEVAR REPLACE SETOR WITH SETORVAR REPLACE CARGO WITH CARGOVAR REPLACE ATIVO WITH ATIVOVAR REPLACE DTADM WITH DATAVAR REPLACE SALÁRIO WITH SALARIOVAR COMMIT // salva todo o conteúdo do buffers de arquivos.10 SAY “SALÁRIO.2 Comandos e Funções @ 21.......:” GET NOMEVAR PICTURE “@!” @ 12.10 SAY “SETOR TRABALHO..99” @ 18. para outro arquivo.Clipper 5.DBF com a // mesma estrutura do arquivo FOLHA.br 22 .DBF GEEK BRASIL – http://www. COPY FILE <arquivo> TO <cópia> Exemplo: COPY FILE FOLHA. SALÁRIO.DBF TO FCOPIA.SALARIO. COPY STRUCTURE EXTENDED à Propósito: Sintaxe: Copia para outro arquivo informações referentes estrutura de um arquivo de dados aberto.DBF.DBT COPY FILE MENU.com. COPY STRUCTURE TO TFOLHA FIELDS NOME.DBF COPY FILE FOLHA.PRG TO A:MENU.2 Comandos e Funções ? NOME. independente do tipo.DBF COPY STRUCTURE EXETENDED TO EFOLHA // copia sua estrutura para o // arquivo EFOLHA. COPY STRUCTURE EXTENDED TO <arquivo> Exemplo: USE FOLHA // abre o arquivo de dados FOLHA. SETOR // mostra os campos CONTINUE // continua a pesquisa ENDDO // fim do faça enquanto COPY FILE Propósito: seu Sintaxe: Copiar o conteúdo de um arquivo.PRG COPY STRUCTURE Propósito: área Sintaxe: Copiar apenas a estrutura do arquivo aberto na corrente de trabalho. COPY STRUCTURE TO <copia> [FIELDS <campos>] Exemplo: USE FOLHA // abre o arquivo de dados COPY STRUCTURE TO TFOLHA // cria o arquivo TFOLHA.COD // cria o arquivo // TFOLHA contendo uma estrutura de apenas // três campos.DBF USE EFOLHA // abre o arquivo contendo a estrutura de FOLHA.DBF TO FCOPIA.geekbrasil. para COPY TO [ FIELDS <campos> ] TO <arquivo> [<escopo>] [FOR <condição>] [SDF/DELIMITED [ WITH BLANK / delimitador] Exemplo: USE FOLHA // abre o arquivo FOLHA.TXT COUNT registos. FIELD_TYPE.com. FIELD.DECX COPY TO Propósito: outro Sintaxe: // lista os // registros Copia registros de bancos de dados (.TXT // mostra o conteúdo do arquivo CFOLHA. RESULTADO2.2 Comandos e Funções LIST FIELD_NAME. FIELD_LEN. RESULTADO3 CREATE Propósito: Criar um arquivo de estrutura (.DBF) arquivo (. GEEK BRASIL – http://www.Clipper 5.DBF ou no formato ASCII).DBF COPY 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 3 COPY TP CFOLHA DELIMITED // copia para o arquivo CFOLHA.DBF) vazio.DBF COPY TO CFOLHA // copia os registros para o arquivo CFOLHA. CARGO = “ESCRITURARIO” ?RESULTADO. Propósito: Calcular o totalizante referente à quantidade de Sintaxe: COUNT TO <var> [<escopo>] [FOR <condição>] [ WHILE <condição>] Exemplo: USE FOLHA COUNT TO RESULTADO ? RESULTADO COUNT TO RESULTADO2 FOR SETOR = “A” COUNT TO RESULTADO3 FOR SETOR = “A” .br 23 .geekbrasil.AND.TXT // no formato delimitado TYPE CFOLHA. geekbrasil. REPLACE . // nome do campo FIELD_TYPE WITH “C” . // nome do campo FIELD_TYPE WITH “C” .2 Comandos e Funções Sintaxe: CREATE <arquivo> Exemplo: CREATE TESTRU APPEND BLANK // cria o arquivo de estrutura // cria um registro em branco para descrição de // um campo da estrutura.DBF // mostra todos os arquivos .DBF do diretório DECLARE Propósito: Declara variáveis ou vetores privates no programa.DBF // mostra todos os arquivos .DBF a partir do // arquivo de estrutura TESTRU DIR *. // tamanho do campo FIELD_LEN WITH 0 .br 24 .DBF do diretório CREATE FROM Propósito: arquivo Sintaxe: Criar um arquivo de dados (. // número de casas decimais CLOSE // fecha o arquivo de estruturas CREATE FOLHA TESTRU // declara o comando CREATE FROM para criar // um novo arquivo . // define o: FIELD_NOME WITH “COD” . GEEK BRASIL – http://www. // numero de casas decimais CLOSE // fecha o arquivo de estruturas CREATE FOLHA FROM TESTRU // declara o comando CREATE FROM para // criar um novo arquivo . // define o: FIELD_NOME WITH “COD” . CREATE FROM <novo> FROM <arquivo_estrutura> Exemplo: CREATE TESTRU APPEND BLANK // cria o arquivo de estrutura // cria um registro em branco para descrição de // um campo da estrutura. // tipo do campo FIELD_LEN WITH 5 . REPLACE .DBF) a partir de um de estruturas.com. // tamanho do campo FIELD_LEN WITH 0 .DBF a partir do arquivo // de estrutura TESTRU DIR *.Clipper 5. // tipo do campo FIELD_LEN WITH 5 . SALÁRIO. SALÁRIO. SALÁRIO. de qualquer tipo.DBF DELETE FILE FOLHA.br 25 . DELETE <escopo> [FOR <condição>] [ WHILE <condição>] USE FOLHA DELETE ALL // DISPLAY ALL NOME. INKEY(0) SET DELETE ON // DISPLAY ALL NOME. DIR [<drive>] [<caminho>] [<máscara>] Exemplo: GEEK BRASIL – http://www. DELETE FILE <arquivo> Exemplo: IF FILE (“FOLHA.DBF”) se existir FOLHA.DBF DIR Propósito: Sintaxe: Mostra a lista dos arquivos contidos em um diretório. SALÁRIO.2 Comandos e Funções Sintaxe: DELETE Propósito: Sintaxe: Exemplo: DECLARE <identificador> [:= <valor>] Marcar um registro para ser apagado.DBF ? “ARQUIVO FOI APAGADO” ENDIF DIR *. do disco. ? “FIM” DELETE FILE Propósito: Sintaxe: marca TODOS os registros COD // mostra os registros filtra os registros marcados COD // mostra os registros recupera todos os registros COD // mostra os registros // marca os funcionários do setor A COD // mostra os registros Apagar um arquivo. INKEY(0) RECALL ALL // DISPLAY ALL NOME.com.geekbrasil.Clipper 5.DBF // mostra todos os arquivos com a extensão . INKEY(0) DELETE FOR SETOR = “A” DISPLAY ALL NOME. 2 Comandos e Funções DIR DIR *.* // // // // mostra mostra mostra mostra DISPLAY Propósito: Sintaxe: todos todos todos todos os os os os arquivos (BDF) e seus dados arquivos do diretório programas do diretório arquivos do diskete do drive A Mostra registros de um arquivo de dados na console.com. SALÁRIO // mostra somente o registro corrente DISPLAY COD. SALÁRIO ALL FOR SETOR = “A” // mostra os registros // dos funcionários que // que trabalham no setor A DO Propósito: Sintaxe: Executa um programa ou um procedimento. NOME. NOME. DISPLAY <campos> [TO PRINTER] [TO FILE <nome_arquivo>] [OFF] [<escopo>] [FOR <condição>] [WHILE <condição>] Exemplo: USE FOLHA // abre o arquivo de dados DISPLAY COD.geekbrasil.* DIR *.Clipper 5. NOME.br 26 .prg DIR a: *. DO <nome> [WITH <lista de parâmetros>] Exemplo: : IF OP = 2 DO PROG1 ELSEIF OP =3 DO PROG2 ELSE DO PROG4 WITH NOME ENDIF : : GEEK BRASIL – http://www. SALÁRIO ALL // mostra todos os registros DISPLAY COD. instruções END[CASE] Exemplo: DO CASE CASE OP = 2 DO PROG1 CASE OP = 3 DO PROG2 OTHERWISE RETURN ENDCASE DO WHILE Propósito: uma Sintaxe: Executa uma estrutura condição for verdadeira.com. .Clipper 5.geekbrasil.2 Comandos e Funções DO CASE Propósito: apenas Sintaxe: Criar uma estrutura de testes condicionais. $ “SN” GEEK BRASIL – http://www. . . .NOT. . uma é executada. <instruções> [EXIT] . . . <instruções> [LOOP] . .br // faça enquanto VARSAI não // contiver “S” ou “N” 27 . . . . de controle enquanto DO WHILE <condição> . . . instruções [CASE <condição2>] . instruções [OTHERWISE] . <instruções> END[DO] Exemplo: : : VARSAI := “ “ DO WHILE VARSAI . . . . . onde DO CASE CASE <condição> . . GEEK BRASIL – http://www. de qualquer tipo. EJECT Exemplo: LOCAL L. EOF( ) // faça enquanto não fim do arquivo. L=60 // se L for 0 ou 60 EJECT PG++ // acumula +1 na variável ? “RELATÓRIO DE FUNCIONÁRIOS” ? ? “Pagina:”+str(pg) replicate (“=“.com. PG USE FOLHA L:= 0 // inicializa uma variável para controle da quantidade de // linhas impressas PG:= 0 GO TOP // vá para o inicio do arquivo SET PRINT ON // liga a saída comum para a impressora SET CONSOLE OFF // desabilita a saída da console DO WHILE .2 Comandos e Funções // pergunta dirigida ao operador @ 21. do disco. SALÁRIO // imprime os campos SKIP // pule para o próximo registro L++ ENDDO // fim do faça enquanto : : ERASE Propósito: Apagar um arquivo.:” GET VARSAI PICT “!” READ ENDDO // fim do faça enquanto : : EJECT Propósito: de Sintaxe: Avança a página da impressora posicionando a cabeça impressão no local de inicialização da próxima página.geekbrasil.OR.Clipper 5.not. IF L = 0 .. 78) // traça uma linha 1 := 7 ENDIF ? COD.20 SAY “SAIR DESTE MODULO (S/N).br 28 . NOME. *”)).br 29 .Clipper 5.DBF ? “ARQUIVO FOI APAGADO” ENDIF DIR *. GEEK BRASIL – http://www.DBF // mostra todos os arquivos com a extensão . DBF EXTERNAL Propósito: o Sintaxe: Declarar uma lista de símbolos ou rotinas externas para linker. EXIT PROCEDURE <nome da rotina/procedimento> [FIELDS <lista de símbolos> [IN <alias>]] [MENVAR <lista de símbolos>] : <expressões executáveis> : [return] Exemplo: // COMPILE ESTE PROGRAMA COM /N ANNOUNCE MEUSYSTEMA STATIC nSEGUNDOS PROCEDURE PRINCIPAL( ) nSEGUNDOS := SECONDS( ) AEVAL (ASORT (DIRECTORY ( “*.com. EXTERNAL <lista> Exemplo: EXTERNAL funções : : EXIT PROCEDURE Propósito: Sintaxe: Declara um procedimento de saída.geekbrasil.2 Comandos e Funções Sintaxe: ERASE <arquivo> Exemplo: IF FILE (“FOLHA. {|Anomes | QQUT (Anomes[1} ) } ) return // termina o programa.DBF”) // se existir FOLHA..DBF ERASE FOLHA. Clipper 5..SALARIO INTO FOLHA FIELD CODCARGO..dbf // e seus respectivos arquivos de // índices CODX.CARGOS -> CODCARGO ? nome // equivalente a folha -> nome : : FIND Propósito: uma Sintaxe: Pesquisa no primeiro índice.br 30 .:” GET CODVAR PICTURE “9999” READ FIND CODVAR // pesquisa o conteúdo da variável GEEK BRASIL – http://www.nSEGUNDOS RETURN FIELD Propósito: dados Exemplo: Sintaxe: / / rotina de saída do programa / / finaliza definitivamente Especifica nomes de campos (.CREDITOS INTO CARGOS USE FOLHA ALIAS FOLHA USE CARGOS ALIAS FOLHA <instruções> : : ? cod.COD. o registro que possua chave especificada. NOME // abre o arquivo de dados folha. FIELD <lista [IN <apelido>] de arquivos de FIELD NOME.SALARIO ENDIF CODVAR := SPACE(4) @ 10.20 SAY “DIGITE O CÓDIGO.com.2 Comandos e Funções EXIT PROCEDURE SAÍDA( ) ? ? “TEMPO: “ ?? SECONDS ( ) .NOME. FIND <string> Exemplo: USE FOLHA INDEX CODX. NOMEX FIND “3020” // pesquisa o código = 3020 IF FOUND( ) // se existir DISPLAY COD.geekbrasil.codcardi // equivalente a FOLHA-> COD.DBF). com..] [FIELD <lista de identificador> [IN <apelido>] MEMVAR <lista de identificadores> : : <instruções> : : RETURN [<informação>] Exemplo: GEEK BRASIL – http://www.)] [LOCAL <identificador>. <instruções> [EXIT] .NOME.... [STATIC] FUNCTION <FUNÇÃO> [(PARAMENTRO1... .Clipper 5. ENDEREÇO. ...2 Comandos e Funções IF FOUND( ) // se existir DISPLAY COD.SALARIO ENDIF FOR..geekbrasil. um FOR <contador> = <inicio> TO <fim> STEP <passo> . NEXT Propósito: determinado Sintaxe: Executa uma estrutura número de vezes.br 31 .... de controle. <instruções> [LOOP] NEXT Exemplo: LOCAL TREGISTROS USE CADASTRO COUNT TO TRESGISTROS GO TOP FOR I = 1 TO TREGISTROS STEP 1 DISPLAY NOME... TEL // exibe o registro corrente SKIP // pula para o próximo registro NEXT ? ”FIM” FUNCTION Propósito: Sintaxe: Cria (declara) uma função definida pelo usuário (UDF).. 300) // resultado : 400 (na variável) : : : FUNCTION SOMA ( P1. COD. VAR3. VAR2. SALÁRIO GO BOTTOM // vá para o fim do arquivo DISPLAY NOME. GO [TO] <registro> | BOTTOM | TOP Exemplo: USE FOLHA GO 6 // vá para o registro (record) numero 6 DISPLAY NOME. SALÁRIO GO TOP // vá para o inicio do arquivo DISPLAY NOME.COD.var2) // resultado : 10 (na tela) x:= soma(var3. COD. X var1 := 3 var2 := 7 var3 := 100 : ? soma (var3.SALARIO IF expressão Propósito: Sintaxe: Executa instruções somente condicional for verdadeira.geekbrasil.Clipper 5.br 32 . GO um Propósito: Sintaxe: Desloca o ponteiro interno do arquivo de dados para determinado registro.com. quando uma IF <condição> <instruções> [ELSEIF < condição2> <instruções> [ELSE] GEEK BRASIL – http://www.2 Comandos e Funções LOCAL VAR1.var2) // resultado : 107 (na tela) ? soma (var1. P2 ) // declara a função e recebe os // parâmetros R := P1+P2 // soma os parâmetros RETURN R // retorna a execução para rotina que chamou // acompanhada do valor contido na variável R. geekbrasil.10 SAY “DIGITE A MEDIA DO ALUNO.. INIT PROCEDURE INICIAL( ) // rotina de inicialização nSEGUNDOS := SECONDS( ) RETURN EXIT PROCEDURE SAÍDA( ) // rotina de saída do programa. INIT PROCEDURE <nome da rotina/procedimento> [FIELDS <lista de símbolos> [IN <alias>]] [LOCAL <símbolos> [:= valor]] [MEMVAR <lista de símbolos> <expressões executáveis> : [Return] Exemplo: // COMPILE ESTE PROGRAMA COM /N ANNOUNCE MEUSYSTEMA STATIC nSEGUNDOS PROCEDURE PRINCIPAL( ) AEVAL (ASCOL (DIRECTORY (“*.*”) ) .:”GET MEDIA READ IF MEDIA <5 ? “REPROVADO” ELSEIF MEDIA = 5 ? “RECUPERAÇÃO” ELSE ? “APROVADO” ENDIF : : INIT PROCEDURE Propósito: da Sintaxe: Especificar uma procedure que será executada antes primeira rotina do Programa.. GEEK BRASIL – http://www.2 Comandos e Funções <instruções> END[IF] Exemplo: LOCAL MEDIA:= 0 CLEAR @ 10.br 33 . { | Anomes | QOUT ( Anomes [1] ) } ) RETURN // termina o programa.Clipper 5..com. nSEGUNDOS RETURN // finaliza definitivamente INDEX Propósito: determinado Sintaxe: Criar um arquivo de índice (.DBF) INDEX ON <chave> TO <índice> [UNIQUE] [FOR <Condição>] um Exemplo: USE CADASTRO CLEAR ? “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.Clipper 5. INPUT [<mensagem>] TO <variável> Exemplo: LOCAL VAR CLEAR INPUT “DIGITE QUALQUER COISA.com.:” TO VAR GEEK BRASIL – http://www.2 Comandos e Funções ? ? “TEMPO:” ?? SECONDS() .geekbrasil. ENDEREÇO. CIDADE // mostra o registro ENDIF ? “REGISTRO NÃO ENCONTRADO” INPUT Propósito: armazena Sintaxe: Realizar a entrada de dados de um expressão e a mesma em uma variável.:” GET VNOME PICTURE “@!” READ ? “PESQUISANDO” SEEK VNOME IF FOUND( ) // se existir DISPLAY NOME..10 SAY “DIGITE O NOME..br 34 .NTX) para banco de dados (. JOIN WITH <2º arquivo> TO <novo arquivo> FOR <condição> [FIELDS <lista de campos>] Exemplo: USE VENDAS // possui os campos cod_vend..LBL> [TO PRINTER] [TO FILE] GEEK BRASIL – http://www. NOME.br 35 .DBF com os registros // lidos dos arquivos e a estrutura deste arquivo será // os campos declarados após o argumento FILEDS.com.. VALOR // será criado o arquivo COMISSÃO. .LBL. nome JOIN WITH VENDAS TO COMISSÃO FOR COD_VEND= VENDAS -> COD_VEND. LABEL FORM <arquivo. cod_produto e // valor USE CADVENDEDOR new // possui os campos cod_vend.geekbrasil. FILEDS COD_VEND.2 Comandos e Funções ? “VOCÊ DIGITOU. KEYBOARD Propósito: expressão Sintaxe: Preencher o buffer do teclado caractere.:” ?? VAR JOIN Propósito: Sintaxe: Criar um novo arquivo a partir de outros dois. KEYBOARD <expressão caractere> com uma Exemplo: KEYBOARD “a” KEYBOARD CHR(65) KEYBOARD CHR(130) // resultado: // resultado: A é LABEL FORM Propósito: do Sintaxe: Executa a saída de etiquetas a partir de um arquivo formato.Clipper 5. SALÁRIO.Clipper 5. ENDEREÇO.br 36 . Lista os registros de arquivos de dados.com. LOCATE [<escopo>] FOR <condição> WHILE <condição> Exemplo: USE FOLHA LOCATE FOR NOME =“João” IF FOUND() / / se existir DISPLAY NOME. LIST<lista exp> [TO PRINTER] [TO FILE <arquivo>] [<escopo>] [WHILE<condição>] [FOR <condição>] [OFF] ENDEREÇO. SETOR ELSE ? “não localizado” ENDIF GEEK BRASIL – http://www.geekbrasil.2 Comandos e Funções [<ESCOPO>] [SAMPLE] [WHILE <condição>] [FOR<condição>] Exemplo: USE MALA INDEX NOME LABEL FORM ETIQUETAS TO PRINTER SAMPLE LIST Propósito: Sintaxe: Exemplo: USE MALA LIST NOME. LIST NOME. LOCATE Propósito: Sintaxe: // imprime as etiquetas CIDADE CIDADE TO PRINTER // lista impressa Localizar um registro dentro do banco de dados. 2 Comandos e Funções LOOP Propósito: WHILE. MENU TO <variável> GEEK BRASIL – http://www... DO LOOP Declarar uma variável ou matriz como local. LOCAL<identificador> [:= <inicializador>].VAR2:= 10 // locais ? VAR2 LOCAL MATRIZ1 [30] [10] MEMVAR Propósito: ou Sintaxe: declara as variáveis como // declara a matriz como local Declara nomes de variáveis de memória Públicas.com. Sintaxe: LOCAL Propósito: Sintaxe: Saltar a execução do programa para a linha ou FOR. MEMVAR <lista de variáveis> Privadas Exemplo: USE MALA MEMVAR NOME LOCAL NOME ? ? : NOME MALA ®NOME MENU TO Propósito: Sintaxe: // declara como sendo variáveis de memória // declara como sendo uma variável de // memória local // mostra o conteúdo da variável // mostra o conteúdo do campo nome nome Executa um menu de barras luminosas. Exemplo: LOCAL VAR.Clipper 5.br 37 .geekbrasil.. PARAMETER <lista de variáveis> o recebimento Exemplo: MENSAGEM (5.Clipper 5.2 Comandos e Funções NOTE Propósito: Sintaxe: Cria uma linha de comentário dentro do programa. COLUNA RETURN NIL SAY DADO //recebe valores da rotina // que chamar esta função DADO GEEK BRASIL – http://www. registros marcados PACK Exemplo: USE MALA PACK INDE NOME // remove fisicamente do arquivo os registros marcados PARAMETER Propósito: de Sintaxe: Criar variáveis de memória para parâmetros. ou seja e apenas um NOTE 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 */ PACK Propósito: para Sintaxe: Remove (apaga) fisicamente deleção.br 38 . NOTE <texto> Exemplo: NOTE esta linha não será copilada.geekbrasil. “OI !” ) FUNCTION MENSAGEM( ) PARAMETER LINHA. @ LINHA. COLUNA.com. 5. . como Exemplo: PRIVATE MATRIZ1 PRIVATE A.. B.geekbrasil. PRIVATE <identificador>[:= <inicializador>].com.Clipper 5.] [MEMVAR <lista [STATIC = de identificadores>] <identificador> [: <inicializador]...br 39 . [STATIC] PROCEDURE parâmetros)] [FIELD <lista <procedure> de [(lista campos>[IN <apelidos>]] [LOCAL <identificador> [:= <inicializador>].2 Comandos e Funções PRIVATE Propósito: sendo Sintaxe: Cria e inicializa variáveis ou matrizes privadas.] : <instruções> : [RETURN] Exemplo: GEEK BRASIL – http://www. [20] [30] C A:=8 PRIVATE DATA:=DATE( PROCEDURE Propósito: Sintaxe: ) // // // // // // // // declara que a matriz será privada declara que as variáveis são privadas atribui um valor a variável declara e inicializa a variável privada Cria um procedure e seus parâmetros. geekbrasil. COLUNA. C // define as variáveis como públicas : : A:=10 // inicializa a variável QUIT Propósito: Sintaxe: Termina a execução do programa. COLUNA SAY DADO RETURN PUBLIC Propósito: Sintaxe: DADO) Cria e inicializa variáveis e matrizes públicas.:” GET RESPOSTA PICT “!” READ IF RESPOSTA = “S” QUIT // termina o programa ELSE LOOP //sobe a execução para linha de DO WHILE ENDIF : GEEK BRASIL – http://www..10 SAY “SAIR DESTE PROGRAMA..Clipper 5.com. QUIT Exemplo: : RESPOSTA:=“S” @ 20.”NÃO ENCONTRADO”) : : PROCEDURE MENSAGEM(LINHA.10. B.br 40 ... PUBLIC <identificador>[:= <inicializador>]. @ LINHA. Exemplo: PUBLIC MATRIZ3 [48] [10] // define a matriz como publica PUBLIC A.2 Comandos e Funções : : : MENSAGEM(20. Clipper 5. GET.. variáveis especificadas READ[SAVE] Exemplo: LOCAL VNOME.10 SAY “DIGITE O SALÁRIO. RECALL para a <escopo> [FOR<condição>] Exemplo: USE MALA GOTO 3 IF DELETED( RECALL ENDIF ) // se o registro se encontra marcado // (deletado) // recupere GEEK BRASIL – http://www..:” GET VNOME PICT “!” @ 12.:” GET VSALÁRIO PICT “@E 9.com..10 SAY “DIGITE O NOME.br 41 .geekbrasil..2 Comandos e Funções : READ Propósito: pelo Sintaxe: Executar edição das comando @. SAY.00 @ 10..:” GET VENDEREÇO @ 14. VSALÁRIO VNOME:= SPACE(30) VENDEREÇO:= SPACE(35) VSALÁRIO:= 0.10 SAY “DIGITE O ENDEREÇO... VENDEREÇO.99” READ // executa e no final libera os três GET’s pendentes RECALL Propósito: eliminação Sintaxe: [WHILE<condição>] Recupera registros marcados através do comando DELETE.999. Clipper 5.2 Comandos e Funções REINDEX Propósito: de Sintaxe: Recriar os arquivos de índices abertos nas áreas trabalho corrente. REINDEX [EVAL<Condição>] [EVERY<nRegistro>] Exemplo: USE MALA INDEX INOME, ICOD REINDEX / / reorganiza INOME, ICOD : : RELEASE Propósito: Sintaxe: os arquivos Libera da memória várias Públicas e Privadas. RELEASE <lista de variáveis> [ALL [LIKE / EXCEPT <eskeleto>] ] Exemplo: RELEASE ALL LIKE RELEASE VNOME RENAME Propósito: Sintaxe: V* // libera todas as variáveis // começam com a letra V // libera a variável VNOME que Renomear um arquivo RENAME <nome atual> TO <novo nome> Exemplo: RENAME RENAME ARQ.TXT TO ARQ_NOVO.TXT MALA.DBF TO POSTAL.DBF GEEK BRASIL – http://www.geekbrasil.com.br // troca o nome do arquivo 42 Clipper 5.2 Comandos e Funções REPLACE Propósito: uma Sintaxe: Substituir o conteúdo de um campo expressão. REPLACE <campo> WITH <expressão> [FOR <Condição>] [WHILE <condição>] por Exemplo: USE MALA INDEX ICOD APPEND BLANK // cria um registro REPLACE COD WITH 23, NOME WITH “JOÃO” // preenche os campos : : em branco REPORT FORM Propósito: ou Sintaxe: Realizar a saída de um relatório para console impressora. REPORT FORM <nome do arquivo> [<escopo>] [TO PRINTER] [TO FILE <nome>] [FOR <Condição>] [WHILE <Condição>] [PLAIN] [HEADING <cabeçalho>] [NOEJECT] [SUMMARY] Exemplo: USE FOLHA INDEX INOME REPORT FORM REL1 TO PRINTER // relatório impresso dos // registros REPORT FORM REL1 TO PRINTER HEADING “ALT CONTROL - SETOR 4” ; FOR SETOR = 4 // imprime somente os funcionários do setor REQUEST Propósito: Sintaxe: 4 Declara módulos a serem chamados. <módulos>. GEEK BRASIL – http://www.geekbrasil.com.br 43 Clipper 5.2 Comandos e Funções RESTORE Propósito: (.mem) Sintaxe: Carregar variáveis gravadas de um arquivo do disco. RESTORE <nome do arquivo> [ADDITIVE] Exemplo: A:=4 NOME:=“JOÃO” SAVE TO ARQVAR// salva todas as variáveis de memória // no arquivo ARQVAR.MEM RELEASE ALL // apaga todas as variáveis RESTORE FROM ARQVAR // restaura as variáveis do arquivo ARQVAR.MEM ? A ? NOME RESTORE SCREEN Propósito: Sintaxe: Restaurar no vídeo uma tela salva anteriormente. RESTORE SCREEN [FROM <tela>] Exemplo: CLEAR @ 10,10 TO 23,79 @ 15,15 SAY “ESTA TELA SERÁ SALVA” SAVE SCREEN TO IMAGEM INKEY(0) / / aguarda uma tecla CLEAR / / limpa a tela RESTORE SCREEN FROM IMAGEM // recupera a tela // gravada na variável imagem RETURN Propósito: programa Sintaxe: Terminar a execução de ou função do usuário. RETURN <valor> GEEK BRASIL – http://www.geekbrasil.com.br uma procedure, 44 ” SISTEMA!. variáveis memória e seus conteúdos.geekbrasil. SAVE TO <arquivo> [ALL[LIKE|EXCEPT Exemplo: A:=9 VNOME := “JOÃO” VENDE:= “RUA DAS CAMÉLIAS 44” GEEK BRASIL – http://www.8.com.2 Comandos e Funções Exemplo: ? SITUAÇÃO (3.10) FUNCTION SITUAÇÃO(N1.7.” Salvar em um arquivo no disco.Clipper 5. MÉDIA :=(N1+N2+N3+N4)/4 IF MÉDIA = >6 RETURN “APROVADO” ELSE RETURN “REPROVADO” ENDIF RUN sistema Propósito: N3.br 45 . RUN <descrição> ATUALIZAR ATUALIZAR A A ou comando do Exemplo: ? “FAVOR ? “FAVOR ! DATE SAVE Propósito: de Sintaxe: <esqueleto>]] HORA DATA DO DO SISTEMA!. N2. N4) Sintaxe: Executar um programa operacional. ENDEREÇO. CIDADE ELSE ? “NÃO ENCONTRADO” ENDIF SELECT Propósito: Sintaxe: Seleciona uma área de trabalho. COD GEEK BRASIL – http://www. SETOR.2 Comandos e Funções SAVE TO ARQVAR2 ALL LIKE V* arquivo SAVE TO ARQVAR SAVE SCREEN Propósito: Sintaxe: SEEK Propósito: uma Sintaxe: // salva: VNOME E VENDE no // ARQVAR2.br 46 .MEM Salvar a tela atual no buffer ou em uma variável SAVE SCREEN [TO <tela>] Pesquisar nos registros do banco de dados indexado chave especificada. SEEK <chave> Exemplo: USE MALA INDEX INOME SEEK “JOÃO” // Equivalente A: DBSEEK (“JOÃO”) IF FOUND( ) // se existir DISPLAY NOME. SELECT <Nome da área>|<apelido> Exemplo: USE MALA INDEX INOME SELECT 0 // seleciona o próxima área disponível USE FOLHA INDEX CODF LIST NOME.Clipper 5.geekbrasil.com.MEM // salva todas as variáveis no arquivo // ARQVAR. SALÁRIO. SET ALTERNATE TO <arquivo> Exemplo: SET ALTERNATE TO ARQSAIDA.T.T. FOLHA ® SALÁRIO // lista registro de // outra área SET ALTERNATE Propósito: ser Sintaxe: |[ON]|[OFF]|<(.)> Realiza a saída do console para um arquivo (ASCII) a gravado no disco. CLIENTE.)/(.)> SET CENTURY Exemplo: Propósito: Sintaxe: SET DATE TO BRIT ? date( ) SET CENTURY ON ? date( ) SET CENTURY OFF Possibilita configurar os dígitos dos séculos das datas. TYPE ARQSAID.F.geekbrasil.F.com.F.)> // escolher o formato da data // resultado: DD/MM/AA // configura as datas para quatro // dígitos no ANO // resultado: DD/MM/AAAA // retorna ao padrão GEEK BRASIL – http://www. CIDADE LIST MALA ® CLIENTE.TXT AET ALTERNATE ON // lida a saída para o arquivo USE MALA INDEX ICEP LIST CLIENTE. ESTADO SET ALTERNATE OFF // suspende a saída para o arquivo CLOSE ALTERNATE // fecha a operação com o arquivo // alternativo. CIDADE. Propósito: Controla a saída sonora na operação de entrada de Sintaxe: SET BELL ON|OFF|<(.2 Comandos e Funções SELECT MALA // seleciona o arquivo área MALA LIST COD.TXT SET BELL dados.)/(.br 47 .)/(.Clipper 5. SET CENTURY ON|OFF|<(.T. geekbrasil... <não <string> Exemplo: VNOME := SPACE(30) PADRAO1 := “W/N.2 Comandos e Funções SET COLOR Propósito: Sintaxe: <destaque>.F.com. selecionado>] | Definir as cores que serão exibidas na tela. SET COLOR TO [<padrão>.:” GET VNOME ON // liga a confirmação “DIGITE O SEU NOME POR COMPLETO..Clipper 5. N/W” SET COLOR TO (PADRAO1) @ 10.:” GET VNOME SET CONSOLE GEEK BRASIL – http://www. <fundo>.. N/N” PADRAO2 := “B/N.:” ?? VNOME SET CONFIRM GET’s.br 48 .B ? “VOCÊ DIGITOU O NOME..)/(.10 SAY “DIGITE O NOME. Propósito: Configurar a confirmação de entrada de dados de Sintaxe: SET CONFIRM ON|OFF|<(.:” GET VNOME PICTURE “@!” SET COLOR TO (PADRAO2) READ SET COLOR TO W+.T.)> Exemplo: CLEAR LOCAL VNOME @ 10.10 SAY READ SET CONFIRM @ 20.10 SAY READ := SPACE(15) “DIGITE O SE NOME POR COMPLETO.. <borda>... . SET DATE [TO] <nome> Exemplo: SET DATE TO ITALIAN ? “A DATA DE HOJE E...:” ?? VDATA SET DECIMALS Propósito: Sintaxe: Configurar a quantidade de casas decimais exibidas.10 SAY “DIGITE QUALQUER DATA. SET DECIMALS <quantidade de decimais> Exemplo: SET FIXED ON SET DECIMALS TO 2 ? 10/3 ? 20/7 SET DECIMALS TO 5 ? 10/3 ? 20/7 // 2 casas decimais (o padrão) SET DEFAULT GEEK BRASIL – http://www.br 49 ..geekbrasil.Clipper 5.:” GET VDATA READ SET DATE TO ANSY ? “Mudando o formato da data” ? “A data que você digitou foi...com.:” ?? DATE( ) SET DATE TO GERMAN VDATA:=CTOD (“ / / “) @ 10..2 Comandos e Funções Propósito: Sintaxe: SET CURSOR Propósito: Sintaxe: Configurar a saída do console SET CONSOLE ON|OFF Configurar o formato da edição de campos ou variáveis do tipo Data. 10 SAY “DIGITE O NOME. desativar os registros marcados SET DELETED ON|OFF|(. .2 Comandos e Funções Propósito: serão Sintaxe: Configurar a unidade de disco em que os arquivos processados.com...) SET DELIMITER TO Propósito: Sintaxe: Define delimitadores para edições GET’s.T.geekbrasil.)/(.F.:” GET VENDERECO READ GEEK BRASIL – http://www. SET DEFAULT TO <disco\diretório\ ..10 SAY “DIGITE O ENDEREÇO.:” GET VNOME SET DELIMITER TO “[]” // muda os delimitadores novamente @ 12. SET DELIMITERS TO <delimitadores> [DEFAULT] Exemplo: CLEAR VNOME:= VENDERECO:= SPACE(30) SET DELIMITER ON // liga a edição de delimitadores SET DELIMITER TO “::” // estabelece novos delimitadores @ 10.br 50 .T.) SET DELIMITERS Propósito: serão Sintaxe: Ativar ou desativar a edição de caracteres que utilizados como delimitadores de GET’s.> Exemplo: SET DEFAULT TO A: // muda a leitura de arquivo para o diskete SET DEFAULT TO C:\CLIPPER5 // muda para a unidade C no // diretório \ CLIPPER5 SET DELETED Propósto: para Sintaxe: Ativar ou eliminação. .)/(. SET DELIMITERS ON|OFF|(.F.Clipper 5. say) para a // impressora @ 20.10 SAY “LIGUE A IMPRESSORA E PRESS. SET EPOCH <ano> que não Exemplo: SET DATE FORMAT TO “DD/MM/YYYY” // formata o ano 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 // menor? ? CTOD (“04/05/92”) // resultado: 04/05/1992 SET ESCAPE Propósito: tecla Sintaxe: com 4 data Ativar ou desativar a saída de um GET através da <ESC>. QQ.15 SAY “SERÁ IMPRESSO NA LINHA 20. SET ESCAPE ON|OFF|(.T.geekbrasil. SAY.2 Comandos e Funções SET DEVICE Propósito: Sintaxe: Configurar a saída dos comandos @.) SET EXACT GEEK BRASIL – http://www. COLUNA 15 DO PAPEL” SET DEVICE TO SCREEN // retorna a saída para a tela SET EPOCH Propósito: possuem Sintaxe: Permite um maior controle das datas quatro dígitos no ano.br 51 . . SET DEVICE TO SCREEN|PRINTER Exemplo: CLEAR @ 10.Clipper 5..F. TECLA\\” INKEY(0) // aguarda qualquer tecla SET DEVICE TO PRINTER // liga a saída (@.)/(.com. . Clipper 5. SET EXCLUSICE ON|OFF|(.br 52 . // RESULTADO: . ENDEREÇO SET FILTER TO LISTA NOME.)/(.) Exemplo: // .F. ENDEREÇO // tira o filtro.T. Sintaxe: SET FILTER TO <condição> Exemplo: USE MALA SET FILTER TO NOME = “A” // somente os nomes que começam // com a letra A LISTA NOME.F.geekbrasil. (não) // padrão // RESULTADO: .)/(.T.) SET FILTER Propósito: Cria filtros lógicos que escondem registros que não atendem a condição do filtro criado.F. // RESULTADO: .T. SET EXACT ON|OFF|(.T. volta ao normal SET FIXED GEEK BRASIL – http://www. (sim) SET EXACT OFF ? “AB1” = “AB1CD” ? “AB1” = “AB1” SET EXACT ON ? “AB1” = “AB1CD” ? “AB1” = “AB1” .F. // RESULTADO: .T.2 Comandos e Funções Propósito: caracteres Sintaxe: Determina se as comparações entre expressões devem ser totalmente iguais ou parciais. SET EXCLUSIVE Propósito: será Sintaxe: Determina se a abertura de arquivos para utilização de modo exclusivo ou compartilhado.T.com. .. SET FIXED ON|OFF(.F. SET FUNCTION <tecla> TO <expressão caractere> Exemplo: // reprogramando as teclas F2 e F3 SET FUNCTION 2 TO “GORKI STARLIN”+CHR(13) // <ENTER> SET FUNCTION 3 TO “EDITORA ERICA” ? “PRESS. SET FORMAT <rotina> Exemplo: VNOME:=SPACE(40) VENDERECO:=SPACE(30) SET FORMAT TO TELA de // seta o formato para uma procedure // nome TELA READ PROCEDURE TELA @ 10..:” GET VEDERECO RETURN SET FUNCTION Propósito: Sintaxe: Reprogramar uma tecla de função.:” TO TESTE GEEK BRASIL – http://www.)/(..geekbrasil. <F3> OU <F2>“ ACCEPT “DIGITE ALGO.T..10 SAY “ENDEREÇO.com.) Executa um arquivo de formato de tela quando um é avaliado.:” GET VNOME @ 12.10 SAY “NOME...Clipper 5.2 Comandos e Funções Propósito: os Sintaxe: SET FORMAT Propósito: READ Sintaxe: Determina a saída de casas decimais de todos números.br CHR(13) = 53 . 2 Comandos e Funções SET INDEX Propósito: dados Sintaxe: Abrir arquivos de índices para um arquivo aberto na área de trabalho corrente.) Determina uma chamada de uma rotina através de tecla.com. ENDEREÇO.T. CIADE SET INDEX TO // fecha todos os índices SET INTENSITY Propósito: e Sintaxe: SET KEY Propósito: uma Sintaxe: Determina como os campos PROMPT’s serão exibidos.10 SAY “DIGITE O NOME. ICEP // organizado pelo índice NOME LIST NOME. NOME LIST NOME. SET INDEX TO <lista de arquivos de índices> de Exemplo: USE MALA SET INDEX TO INOME.Clipper 5. CIDADE SET ORDER TO 2 // ICEP.br 54 . de edição GET’s SET INTENSITY ON|OFF|(.:” GET VNOME READ FUNCTION TERMINA( ) CANCEL RETURN GEEK BRASIL – http://www.10 SAY “<F2> TERMINA O PROGRAMA” @ 10.geekbrasil. ENDEREÇO.. SET KEY <número da tecla> TO <rotina> Exemplo: CLEAR SET KEY -2 TO TERMINA( ) // liga a tecla <f2> com a função // TERMINA( ) VNOME:=SPACE(30) @ 23..)/(.F. .10 PROMPT “1 . SET MESSAGE TO <linha> (CENTER/CENTRE) para Exemplo: USE MALA INDEX INOME SET MARGIN TO 10 LIST NOME. SET ORDER TO <número do índice>. CIDADE.CADASTRAR“ MESSAGE “CADASTRAMENTO.com.. ENDEREÇO...geekbrasil. CEP // lista em ordem de NOMES GEEK BRASIL – http://www.10 PROMPT “2 .2 Comandos e Funções SET MARGIN Propósito: saída Sintaxe: Estabelecer o tamanho da margem para a impressora.. INOME LIST NOME.Clipper 5. SET MARGIN TO <tamanho> esquerda para Especifica qual linha do vídeo será utilizada as mensagens saídas pelo comando Prompt. Exemplo: USE MALA INDEX ICEP..PESQUISA “ MESSAGE “PESQUISANDO.:” @ 12.br 55 ... CIDADE TO RPINTER SET MESSAGE Propósito: exibir Sintaxe: Exemplo: CLEAR SET MESSAGE TO 23 CENTER @ 10.:” MENU TO VAR : : : SET ORDER Propósito: o Sintaxe: Estabelecer qual dos arquivos de índices abertos será Master Index. ENDEREÇO. br 56 .Clipper 5. TIME( ) SET PRINTER ON ? DATE( ).F. colocando-as dentro do programa .com.geekbrasil. TIME( ) // liga a saída da console para impressora SET PROCEDURE Propósito: suas ser Sintaxe: Abrir um arquivo de procedures e compilar procedures.)/(.) SET PRINTER TO <arquivo> SET PRINTER TO <device> Exemplo: SET PRINTER OFF ? DATE( ).OBJ a gerado.C:\FATURA SET PRINTER Propósito: para Sintaxe: // assinala dois caminhos // opcionais Especificar a saída do console para a impressora ou um arquivo. CEP // lista em ordem de CEP SET PATH Propósito: será arquivos Sintaxe: de Especificar uma direção de disco ou diretório que pesquisada pelo Clipper quando este tentar abrir e não os encontrar.2 Comandos e Funções SET ORDER TO 2 // muda o arquivo de índice controle LIST NOME. CIDADE. SET PRINTER ON|OFF|(. SET PROCEDURE TO <nome do arquivo> SET RELATION GEEK BRASIL – http://www. ENDEREÇO. SET PATH <lista de direções> Exemplo: SET PATH TO C:\FOLHA.T. DBF NEW SET RELATION INTO CURSO TO CURSOS relação // estabelece a SET SCOREBOARD Propósito: por Sintaxe: Ligar ou desligar a exibição das mensagens emitidas READ e MEMOEDIT( ). TO.Clipper 5.> SET SOFTSEEK SEEK.2 Comandos e Funções Propósito: Sintaxe: INTO Estabelecer relacionamentos entre áreas de trabalho.) SET TYPEAHEAD Propósito: Sintaxe: SET UNIQUE Propósito: um Sintaxe: Determina o tamanho do buffer do teclado. SET TYPEAHEAD TO <valor do tamanho> Ligar ou desligar a inclusão de chaves duplicadas em índice.com.T.F.br 57 .) SET WRAP GEEK BRASIL – http://www.DBF INDEX CODCUR.)/(.T.F. SET RELATION TO [<campo> | <registro> <área>]. .F.T. Propósito: Ligar ou desligar a pesquisa relativa do comando Sintaxe: SET SOFTSEEK ON|OFF|(. [ADDITIVE] Exemplo: USE CURSOS.NTX USE ALUNOS.)/(. SET UNIQUE ON|OFF|(.geekbrasil. SET SCOREBOARD ON|OFF|<. .>/<. DBF) Classificado. . SET WRAP ON|OFF|(.geekbrasil. PROMPT. .T.F.Clipper 5. SKIP <salto> [ALIAS <nome da área>] Exemplo: USE MALA GO 1 SKIP 2 SKIP 4 SKIP -3 // salta para o registro 3 // salta para o registro 7 // salta para o registro 4 SORT Propósito: Sintaxe: ].)/(. STATIC <identificador> [:=<inicializador>] GEEK BRASIL – http://www.com. ENDEREÇO.br 58 .) Saltar o ponteiro entre os registros do banco de dados. CIDADE STATIC Propósito: Sintaxe: Declara uma variável ou matriz como estática. . .2 Comandos e Funções Propósito: do Sintaxe: SKIP Propósito: Sintaxe: Liga ou desliga a rolagem da barra entre extremos menu montado pelo comando @. SORT TO <arquivo> ON <campo> [ / [A] [D] [C] <campo2>. Criar um arquivo de dados (. [<escopo>] [WHILE <condição>][FOR <condição>] Exemplo: USE MALA SORT TO MALA2 ON NOME campo // classificara os registros pelo // NOME USE MALA2 LIST NOME. :”+STR (TOTALSAL) TEXT Propósito: em Permite a exibição de um bloco de textos no um arquivo ou na impressora.33 // mostra o valor de VAR1 // resultado: 4848 4848 Realizar o somatório de expressões.33 TO VAR1 ? VAR1 VAR1:=VAR2:=4848 ? VAR1.br vídeo.. GEEK BRASIL – http://www.2 Comandos e Funções Exemplo: FUNCTION SENHA STATIC VCONTROLE := 6 : : RETURN STORE Propósito: Sintaxe: // declara a variável como estática Atribuir valores a variáveis.com.10 SAY “RESULTADO. 59 .VAR2 SUM Propósito: Sintaxe: variáveis> <condição>] // equivalente a VA1:=123.Clipper 5.. STORE <valor> TO <variáveis> Exemplo: STORE 123. SUM <lista de expressões> TO <lista de [<escopo>] [WHILE <condição>] [FOR Exemplo: USE FOLHA SUM SALÁRIO TO TOTALSAL FOR SETOR = 1 // totaliza o salário // dos funcionários do setor 1 @ 10.geekbrasil. .DBF). registro em UNLOCK[ALL] Exemplo: GEEK BRASIL – http://www. TOTAL ON <campo> TO <arquivo> [FIELDS <lista campo> [FOR <condição>] Mostrar o conteúdo de um arquivo texto gravado disco. contendo valores totalizados outros arquivos de dados.com.Clipper 5.PRG TO PRINTER UNLOCK Propósito: ambiente Sintaxe: // imprime a listagem do programa // MENU.PRG Liberar travamentos de arquivo ou de Rede Local.geekbrasil.text> <texto>.br 60 . TYPE <arquivo> [TO PRINTER] [TO FILE <arquivo Exemplo: TYPE MENU. ENDTEXT Exemplo: TEXT // abre o bloco de texto ---------------------ISTO E APENAS UM TEXTO ---------------------ENDTEXT // finaliza o bloco de texto TOTAL Propósito: de Sintaxe: [<escopo>] TYPE Propósito: em Sintaxe: nº2> Cria um arquivo (..2 Comandos e Funções Sintaxe: TEXT [TO PRINTER][TO FILE <arquivo. dbf> [index <lista de arquivo de [ALIAS <apelido>][EXCLUSIVE/SHARED] [NEW] [READONLY] VIA < C driver> Exemplo: USE MALA INDEX ICOD.Clipper 5. <campo2> WITH . [RANDOM] Abrir um arquivo de dados (. GEEK BRASIL – http://www.<expressão2>.DBF) e arquivo a este associado..geekbrasil.com..br na próxima 61 . INOME USE MALA READONLY // somente para leitura USE FOLHA INDEX CODIFO NEW // abre o arquivo área // disponível. USE Sintaxe: Propósito: opcionalmente Sintaxe: índice>] Atualizar o arquivo aberto na área corrente a partir outro arquivo de dados aberto em outra área de UPDATE FROM <área|arquivo> ON <campo chave> REPLACE <campo> WITH <expressão>. USE <arquivo.2 Comandos e Funções USE MALA SHARED : : IF FLOCK( ) // trava todos os registros REPLACE SALÁRIO WITH VSAL*INDICE ALL UNLOCK // libera o travamento pendente ELSE ? “NÃO É POSSÍVEL PROCESSAR OS REGISTROS NO MOMENTO” ENDIF UPDATE Propósito: de trabalho. GEEK BRASIL – http://www.com. AADD (<alvo>. ICEP ZAP // elimina todos os registros. qualquer tecla para continuar” B:=5 ? A+B ZAP Propósito: Sintaxe: Excluir os registros do arquivo aberto na área corrente.geekbrasil. ZAP Exemplo: USE MALA INDEX ICOD.2 Comandos e Funções WAIT Propósito: que Sintaxe: Determinar uma pausa na execução do programa até uma tecla seja pressionada.br 62 .Clipper 5. WAIT [<mensagem>] TO [<variável>] Exemplo: A:=4 WAIT “Press.<expvalor>) < alvo > é o vetor no qual será adicionado um novo elemento. Funções da Linguagem Clipper 5.2 AADD( ) Propósito: Sintaxe: Adicionar um novo elemento no final de um valor. <esquerda>. vetor2 [2] vetor [1] = “teste” vetor [2] = “Gorki” vetor2 [1] = “Starlin” vetor2 [2] = “livro” AADD (vetor. <A itens 63 . // mostrando os dados dentro dos vetores ? vetor [1] ? vetor [2] ? vetor [3] [1] ? vetor [3] [2] vetor2 [1] = “última atribuição” ? vetor [3] [1] ? vetor [3] [2] ABS( ) Propósito: Sintaxe: ser Retorna o valor absoluto de uma expressão numérica. Propósito: Sintaxe: Construir e executar menus do tipo Pop-up. <itens do menu> [ GEEK BRASIL – http://www.2 Comandos e Funções < Expvalor > é o valor a ser atribuído ao novo elemento.geekbrasil. Exemplo: declare vetor [2].Clipper 5. ABS(<valor numérico>) <valor numérico> é uma expressão numérica a devolvida ao seu valor absoluto. ACHOICE( <topo>. vetor2) // o AADD( ) adiciona um terceiro elemento // e automaticamente alterando o tamanho // do vetor. O terceiro elemento será um // array bidimencional que tem como // referência o vetor2 [ ].com.br <base>. Exemplo: a b ? ? : = : = abs abs 9 -4 (a) (b) // devolve 9 // devolve 4 ACHOICE( ) <direita>. 2 Comandos e Funções selecionaveis> usuário>.14.geekbrasil. // determina itens disponíveis SELEÇÃO [3] := SELEÇÃO [4] := .T. SELEÇÃO [4] ITEM [1] := “CADASTRAR” // atribui os valores do vetor ITEM [2] := “PESQUISAR” ITEM [3] := “ALTERAR” ITEM [4] := “EXCLUIR” SELEÇÃO [1] := SELEÇÃO [2] := . <linha janela>]) Exemplo: /* EXEMPLO DE PROGRAMA UTILIZANDO ACHOICE( ) AUTOR: GORKI STARLIN */ CLEAR // limpa a tela LOCAL ITEM [4].Clipper 5. // determina itens // não disponíveis ESCOLHA := ACHOICE (12. <item <Litensselecionaveis>.12.SELEÇÃO) ? ESCOLHA // mostra a escolha do usuário DO CASE CASE ESCOLHA = 1 DO CADASTRA CASE ESCOLHA = 2 DO PESQUISA CASE ESCOLHA = 3 DO ALTERA CASE ESCOLHA = 4 DO ELIMINA CASE ESCOLHA = 0 CANCEL ENDCASE ACLONE( ) Propósito: Sintaxe: Duplicar um Array(vetor) do tipo multidimensional. <funções do inicial>. ACLONE( ) Exemplo: GEEK BRASIL – http://www.15.br 64 .com.ITEM.F. <atributos>]).2) nil} ADIR( ) 300.vetor2 vetor1 := { 10.1. 10. 20 Elimina um elemento de um vetor ADEL( <vetor>. array2 array1 := { 12. Sintaxe: 200 } // VETOR passa a conter { 100.br 65 . < posição destino>).200.geekbrasil. Propósito: lidas <tamanho>.ou // { 12. <nomes arquivos>. ADEL( vetor.com. Exemplos: Local vetor1. Armazenar em uma array (VETOR) as informações a partir de um diretório.13.2} } ADEL( ) Propósito: Sintaxe: / / vetor 2 é agora { 10. ACOPY ( <vetor fonte>. 10.Clipper 5.14 } array2 := ACLONE (array1) seja // array2 é igual a array1.13. <quantos>. 20. vetor2.2 Comandos e Funções Local array1. < posição>) Exemplo: Private vetor vetor := { 100. 20 } ACOPY (vetor1. GEEK BRASIL – http://www. <vetor destino>. <horas>. Propósito: Sintaxe: Cópia de informações entre vetores.14 } ACOPY( ) <início>. 10 } vetor2 := { 20. ADIR([ <especifica>. <datas>. Clipper 5.20..PRG”)] // cria um vetor com o //tamanho correspondente ao número de // . <Bloco>. [ [<decimais> ]. NOMES : = {} CLEAR AEVAL (ARQUIVOS { | FILES | AADD (NOMES.FONTES) // monta um menu PopUp ? “SUA ESCOLHA FOI.[<quantidade>] ) Exemplo: /* EXEMPLO DE UTILIZAÇÃO DA FUNÇÃO AEVAL( ) */ LOCAL ARQUIVO : = DIRECTORY (“*.*”).35. GEEK BRASIL – http://www.. NOMES) AFIELDS( ) Propósito: estrutura corrente de Sintaxe: <tamanho> ]. [ <tipos> ].com. 20. para Sintaxe: AEVAL (<Vetor>. AFIELDS( [ <campos> ]. FONTES) // preenche o vetor com o nome dos // arquivos ESCOLHA = ACHOICE (10.:“ + STR (ESCOLHA) AEVAL( ) Propósito: cada Executar um code block (Bloco de Código) elemento do vetor multidimencional. Preencher um vetor com um determinado valor. AFILL( ) Propósito: ) } ) Preenche os elementos de vetores com a do banco de dados que estiver aberto na área trabalho.10. 35.PRG”.br 66 . 10. FILES [1] ESCOLHA := ACHOICE ( 10.prg’s existente no diretório // corrente ADIR (“*.geekbrasil.2 Comandos e Funções Exemplo: Private fontes [ADIR (“*. [<início>]. 2) 20.NOT. aOPÇÕES := {“Repetir”. ALERT( ) Propósito: Sintaxe: 30} // resultado após AINS ( ) -> // vetor := {10. Exemplo: Local nEscolha. Sintaxe: <vetor <quantidade>).br 67 . ISPRINTER( ) / / SE NÃO EXISTE IMPRESSORA nESCOLHA := ALERT ( “IMPRESSORA NÃO ENCONTRADA”. 4. 4. <vetor com o opções>) que o usuário poderá escolher. aOPÇÕES) IF nESCOLHA = 2 RETURN GEEK BRASIL – http://www.com. Exemplos: Local vetor [5] Afill (vetor. 4} Inserir um elemento com uma informação NIL (nulo) um vetor. 4) AINS( ) Propósito: em Sintaxe: // resultado: vetor = {4. AFILL( destino>.geekbrasil. AINS( <vetor>. 20} Criar uma caixa de diálogo simples com o usuário.2 Comandos e Funções <início>. AINS(vetor. ALERT ( <mensagem string>.Clipper 5. <posição>) Exemplo: Private vetor vetor := {10. “Abortar”} USE CLIENTES CLEAR DO WHILE . 4. NIL. < valor>. Clipper 5.ENDERECO SET PRINT OFF ALIAS( ) Propósito: Sintaxe: / / LIGA A IMPRESSORA // LISTA OS DADOS // DESLIGA A IMPRESSORA Retorna o nome do apelido de uma área de trabalho. ALTD (ação) Exemplo: /* FOLHA. ALIAS (<área de trabalho>) Exemplo: USE MALA NEW ÁREA = SELECT( ) USE CLIENTE NEW ? ALIAS (ÁREA) ALLTRIM( ) Propósito: em Sintaxe: Remover todos os espaços em branco que uma cadeia de caracteres.geekbrasil.PRG AUTOR: GORKI STARLIN */ GEEK BRASIL – http://www. ALLTRIM (<cadeia caracteres>) existirem Exemplo: PRIVATE STRING STRING : = SPACE(30)+ “ GORKI “ + “ STARLIM “ ? STRING ? ALLTRIM (STRING) ALTD( ) Propósito: Sintaxe: Ativar o Clipper Debugger.2 Comandos e Funções ENDIF ENDDO SET PRINT ON LIST NOME.com.br 68 . ]).elementos.2}} ASC( ) Propósito: determinado Sintaxe: cria definindo apenas as // cria atribuindo valores.com.3. {6.. ARRAY ( <elementos> [.2 Comandos e Funções PARAMETER AÇÃO // recebe o parâmetro enviado a partir do // sistema operacional // verifica se o parâmetro é nulo // atribui 0 a variável ação IF AÇÃO AÇÃO = 0 ELSE AÇÃO = VAL (AÇÃO) ENDIF ALTD (AÇÃO) // invoca a função e configura e // Debugger : : <declarações> : : ARRAY( ) Propósito: sem Sintaxe: Cria um array de tamanho especificado inicialização.br 69 . MATRIZ := {{4..3) // dimensões.4}. Devolve o código ASCII (0 a 255) caractere. ASC (<caractere(s)>) de um Exemplo: ? ASC (“a”) ? ASC (“A”) ? ASC (“ ”) // resposta: 97 // resposta: 65 // resposta: 0 (nulo) GEEK BRASIL – http://www.geekbrasil.Clipper 5. e Exemplo: MATRIZ : = ARRAY (2.3. <procurar>. “TOMATE”. “CARNE” } GEEK BRASIL – http://www. resultado: 4 (VETOR. “FEIJÃO”) //resultado: endereco=3 ? endereço ? ascan (vetor.2 Comandos e Funções ASCAN( ) Propósito: de Pesquisar em um vetor uma informação ou bloco código (code block). “CARNE” } ? ASCAN (VETOR.[<quantidade>].[<início>]. ASIZE (<vetor>. “CARNE”} (VETOR) // mostra o tamanho do vetor.Clipper 5. Sintaxe: ASORT (<vetor>.br // cria o 70 . “BATATA”} // resultado: 1 ENDEREÇO := ASCAN (VETOR. “FEIJÃO”.geekbrasil. “FEIJÃO”.[<ordem>] Exemplo: VETOR : {“BATATA”. Exemplo: VETOR := {“BATATA”.10)// altera o tamanho do vetor (VETOR) // resultado: 10 I = 1 TO LEN (VETOR) // mostra todos os elementos do // vetor ? VETOR [i] NEXT VETOR ? LEN ASIZE ? LEN FOR ASORT( ) Propósito: Coloca em ordem os elementos de um vetor. <tamanho>) Exemplo: : = {“BATATA”. ASCAN (<vetor>. “TOMATE”. “TOMATE”.com. “FEIJÃO”. Sintaxe: [<início>].[<quantidade>]. {|var| upper (var) == “TOMATE”}) //code block ASIKE( ) Propósito: Sintaxe: Alterar o número de elementos de um vetor. <cadeia>). “JOSÉ”.com. “JOÃO”. b| a > b FOR i = 1 TO LEN (VETOR)// ? vetor [i] NEXT AT( ) de Propósito: Sintaxe: // vetor ordem ascendente mostra todos os elementos do vetor }) // ordem descendente mostra todos os elemento do vetor Mostra o endereço de uma string dentro de um cadeia caracteres.br 71 . VAR) ? AT (“T”. ATAIL (<vetor>). Exemplo: LOCAL aNOMES : = {“MARIA”. “ANA”} ULTIMO := ATAIL (aNOMES) ? ÚLTIMO // ANA BIN2( ) GEEK BRASIL – http://www.2 Comandos e Funções ASORT (VETOR) // FOR I = 1 TO LEN (VETOR) // ? VETOR [i] NEXT ASORT (VETOR.. AT (<string>. {|a. VAR) ATAIL( ) Propósito: Sintaxe: // resultado: 3 // resultado: 2 // resultado: 0 Retornar o valor do último elemento do vetor. VAR) ? AT (“Z”. Exemplo: VAR := “BATATA” ? AT (“TA”.geekbrasil..Clipper 5. F. BIN2W (<cadeia>) Retornar se o posicionamento interno de um banco dados encontra-se no início do arquivo (Begin of File). <coluna_final>). BROWSE(<linha_inicial>. GEEK BRASIL – http://www. Realiza a conversão de um um valor numérico. BIN2L (<cadeia>).br 72 .2 Comandos e Funções Propósito: para Sintaxe: BIN2L( ) Propósito: para Sintaxe: BIN2W( ) Propósito: bits Sintaxe: BOF( ) Propósito: de Sintaxe: Realizar a conversão de um valor inteiro de 16 bits um valor numérico. BOF( ) Exemplo: USE MALA NEW ? BOF( ) SKIP .T.1 resultado: . Folhear um banco de dados dentro de uma janela.com.geekbrasil. <linha_ final>. valor inteiro de 32 bits Realiza a conversão de um valor inteiro sem sinal 16 para um valor numérico. pule . <coluna_inicial>.Clipper 5.1 ? BOF( ) BROWSE( ) Propósito: Sintaxe: // // // // abre o arquivo de dados resultado: . BIN2 (<cadeia>). 2 Comandos e Funções Exemplo: USE MALA NEW L_INICIAL = 5 C_INICIAL = 5 F_FINAL = 22 C_FINAL = 67 // abre o banco de dados // cria variáveis p/ coordenadas da janela // desenha uma moldura @ L_INICIAL-1.Clipper 5. ? CMOUNTH(DATE( )) // resultado: mês da data do sistema ? CMOUNTH(DATE( )+30) // resultado: mês posterior à data do // sistema.d.C_FINAL+1 DOUBLE // folheia o b. BRAWSE(L_INICIAL.br 73 . expressão Exemplo: ? DATE ? CDOW(DATE( )) ? CDOW(DATE( )+10) CMONTH( ) Propósito: mês Sintaxe: // // // // mostra a data do sistema mostra o dia da semana da data do sistema mostra o dia da semana de dez dias após a data do sistema.geekbrasil. L_FINAL. demostram a utilização da função // CMOUNTH( ). e devolver o nome do Exemplo: // Os exemplos a seguir. C_FINAL) CDOW( ) Propósito: caracteres Sintaxe: Extrair de uma data de uma referente ao dia da semana da data.C_INICIAL-1 TO L_FINAL+1. Analisar uma data correspondente. CDOW(<data>). C_INICIAL. CMONTH(<data>).com. GEEK BRASIL – http://www. COLORSELECT( nCOR).. COL( ).. COL( ) +2 SAY SALÁRIO COLORSELEC( ) Propósito: Sintaxe: Ativar um atributo na configuração de cores corrente.00 @ 05.geekbrasil.Clipper 5.”GR/W”. VARDATA CAR := “20/1/93” ?CTOD(CAR) + 365 // mostra 365 dias após o conteúdo da GEEK BRASIL – http://www. Exemplo: CLEAR // limpa a tela LOCAL VNOME := “JOÃO”.:” + VNOME @ 07. Exemplo: PRIVATE CAR..10 SAY “NOME.“N/GR”) ? “GORKI” COLORSELECT( 1 ) ? “GORKI” COLORSELECT( 0 ) ? “GORKI” CTOD( ) Propósito: Sintaxe: Transformar uma expressão caractere em uma data.:” @ 07.”N/W”..10 SAY “SALÁRIO..com.2 Comandos e Funções COL( ) Propósito: à Sintaxe: Devolver a coordenada atual Cursor em tela referente posição da coluna. Exemplo: SETCOLOR(“B/W”. VSALARIO:=39000.br 74 . CTOD(<expressão>). Exemplo: ? CURDIR( ) DATE( ) Propósto: Sintaxe: Retornar a data do sistema operacional. Mostra o nome do diretório unidade de disco. Exemplo: ? DATE( ) VARDATA := DATE( ) ? DATE( ) + 4 SET DATE ITAL ? DATE( ) DAY( ) Propósito: Sintaxe: // // // // // mostra a cria uma sistema. DATE( ). será D. // cria uma variável do tipo data em // branco.2 Comandos e Funções VARDATA:= CTOD(“ / CURDIR( ) Propósito: determinada Sintaxe: / “) // expressão caractere contida em CAR. GEEK BRASIL – http://www. atual de uma CURDIR( ). mostra a data do sistema variável contendo a data do sendo que o tipo da variável data do sistema + 4 dias Mostra um número correspondente ao dia de uma data.br 75 . DAY( ).geekbrasil.Clipper 5.com. Exemplo: ? DATE( ) ? DAY(DATE( )) // mostra a data do sistema operacional // mostra o dia da data do sistema // operacional. 01 TO 24.geekbrasil. NOMEVAR.br 76 . CARGOVAR. ATIVOVAR.PRG AUTOR : GORKI STARLIN FUNÇÃO: ESTE MODULO ANEXA DADOS NO ARQUIVO PAGAMENTO CARACTERÍSTICA: REDE LOCAL */ LOCAL CODVAR...78 @@ 03.2 Comandos e Funções DBAPPEND( ) Propósito: dados Exemplo: Sintaxe: Criar (inserir) um registro em branco no banco aberto na área corrente de trabalho. de DBAPPEND( ) /* NOME DO PROGRAMA: CADMULT1.NOMEX IF NETERR( ) // testa se houve erro na abertura do arquivo ? “O arquivo de dados não se encontra disponível” INKEY(0) CANCEL ENDIF DO WHILE .60 SAY DATE( ) @@ 03.T.(S/N).com.03 SAY “SÍRIOS INFORMÁTICA” @@ 03.Clipper 5.70 SAY TIME( ) // cria variáveis CODVAR = 0 SETORVAR = 0 SALARIOVAR = 0 NOMEVAR = SPACE(35) CARGOVAR = SPACE(15) ATIVOVAR = (. // lay out CLEAR SET COLOR TO W+/N SET COLOR TO @@ 01. SETORVAR.10 SAY “** CADASTRAMENTO DE FUNCIONÁRIOS **” @@ 08.T.10 SAY “CÓDIGO.15 SAY “SAI DESTE MODULO...:” GET OP PICT “A” GEEK BRASIL – http://www.79 DOUBLE @@ 02.) DATAVAR = CTOD(“ / / “) // entrada de dados @@ 06.02 TO 04.:” GET CODVAR PICTURE “9999” READ IF CODVAR = 0 // verifica se o usuário não digitou o // código OP:=“S” // cria a variável OP @@ 21... DATAVAR USE COLHA INDEX CODX. 10 SAY ”NOME DO FUNCIONÁRIO.......:” GET ATIVOVAR @@ 20...10 SAY “FUNCIONÁRIO ATIVO. DBCLEARFIL( ) Exemplo: GEEK BRASIL – http://www..10 SAY “CARGO FUNCIONAL.Clipper 5.:” GET CARGOVAR PICT “@!” @@ 16.20 SAY “** CADASTRADO **” WAIT “ “ // aguarda qq tecla COMMIT // atualiza fisicamente o registro REPLACE COD WITH CODVAR UNLOCK // libera o registro criado ELSE // se não @@ 21..:” GET SETORVAR PICT “9” @@ 14....geekbrasil..10 SAY “DATA ADMISSÃO.99” @@ 18...:” GET SALÁRIO PICT “9999999...10 SAY “SETOR TRABALHO.2 Comandos e Funções READ IF OP = “S” // verifica a resposta do usuário RETURN // retorne ENDIF LOOP // sobe a execução p/ linha do DO WHILE ENDIF // fim do se SEEK CODVAR // pesquisa no índice o conteúdo da // variável CODVAR IF EOF( ) DBAPPEND( ) // tenta criar um registro em branco DO WHILE NETRR( ) // faça enquanto HOUVER ERRO DBAPPEND( ) // tenta (novamente criar o registro ENDDO // fim do faça enquanto // entra com o restante dos dados do funcionário @@ 10.....20 SAY “** REGISTRO JÁ CADASTRADO **” WAIT “ “ // aguarda qq tecla ENDIF ENDDO DBCLEARFIL( ) Propósito: Sintaxe: Limpar a condição de filtro ativo.:” GET DATAVAR READ // grava os dados no registro em branco REPLACE NOME WITH NOMEVAR REPLACE SETOR WITH SETORVAR REPLACE CARGO WITH CARGOVAR REPLACE ATIVO WITH ATIVOVAR REPLACE DTADM WITH DATAVAR REPLACE SALÁRIO WITH SALARIOVAR @@ 21.:” GET NOMEVAR PICT “@!” @@ 12.com..br 77 ....10 SAY “SALÁRIO... Atualizar fisicamente no arquivo que estão no buffer.com. arquivo DBCLEARINDEX( ).geekbrasil. DBCLEARRELATION( ) Propósito: Sintaxe: Desativar o relacionamento entre arquivos. DBCLOSEALL( ).Clipper 5. em disco.20 SAY “** CADASTRADO **” INKEY(O) // aguarda qq tecla DBCOMMIT( ) // atualiza o arquivo fisicamente. DBCOMMIT( ).2 Comandos e Funções USE CLIENTES SET FILTER TO NOME = “A” BROWSE( ) DBCLEARFILTER( ) DBCLEARINDEX( ) Propósito: de Sintaxe: // separa os registros // equivalente : SET FILTER TO Desativar todos os índices abertos para um dados. GEEK BRASIL – http://www.br 78 . DBCLEARELATION( ). DBCLOSEALL( ) Propósito: Sintaxe: DBCOMMIT( ) Propósito: alterações Sintaxe: Fechar todos os arquivos de dados. Exemplo: : : : REPLACE NOME WITH NOMEVAR REPLACE SETOR WITH SETORVAR REPLACE CARGO WITH CARGOVAR REPLACE ATIVO WITH ATIVOVAR REPLACE DTADM WITH DATAVAR REPLACE SALÁRIO WITH SALARIOVAR @@ 21. Clipper 5.2 Comandos e Funções DBCOMMITALL( ) Propósito: suas Sintaxe: DBCREATE( ) Propósito: estrutura Sintaxe: Atualizar fisicamente todos os arquivos abertos, alterações que estão no buffer. DBCOMMIT( ). Criar um banco de dados (.DBF) a partir de uma de um arquivo DBF armazenado em um vetor. DBCREATE (<arquivo>, <vetor>). Exemplo: /* PROGRAMA: CRIA.PRG AUTOR: GORKI STARLIN */ IF .NOT. FILE (“FUNC.DBF”) // se func.dfb não existe ? “CRIANDO BASE DE DADOS” // aviso ao operador ESTRU:={} && CRIA UMA MATRIZ AADD(ESTRU, {“COD”,”N”,4,0}) // crias os subvetores com AADD(ESTRU, {“NOME”,”C”,30,0}) // os campos AADD(ESTRU, {“SETOR”,”N”,1,0}) AADD(ESTRU, {“CARGO”,”C”,15,0}) AADD(ESTRU, {“SALARIO”,”N”,10,2}) AADD(ESTRU, {“DTADM”,”D”,8,0}) AADD(ESTRU, {“OBS”,”C”,10,0}) DBCREATE(“FUNC”,ESTRU) // cria o B.D. (func.dbf) a // partir da matriz ENDIF // fim do se : : : DBCREATEINDEX( ) GEEK BRASIL – http://www.geekbrasil.com.br 79 Clipper 5.2 Comandos e Funções Propósito: banco Sintaxe: index>, Criar um arquivo de índice para um de dados em uso. DBCREATEINDEX( <nome index> , <bloco>, <Lunico>). determinado <cheve Exemplo: LOCAL VNOME USE CLIENTES CLEAR ? “INDEXANDO” DBCREATEINDEX (“NOME”, “NOME”, {|| NOME}) // indexa o arquivo pelo nome e cria o arquivo que conterá o // controle de índice NOME.NTX LOCAL VNOME:= SPACE(30) @ 10,10 SAY “DIGITE O NOME..:” GET VNOME PICTURE “@!” READ ? “PESQUISANDO” SEEK VNOME IF FOUND( ) // se existir DISPLAY NOME, ENDEREÇO, CIDADE // mostra o registro ELSE ? “REGISTRO NÃO ENCONTRADO” ENDIF DBDELETE( ) Propósito: Sintaxe: Marcar um registro para ser apagado. DBDELETE( ). Exemplo: USE FOLHA INDEX INOME.NTX SEEK “JOÃO” IF FOUND( ) DBDELETE( ) // marca o registro encontrado ENDIF DISPLAY ALL NOME, SALÁRIO, COD // mostra os registros SET DELETE ON // filtra os registros marcados DISPLAY ALL NOME, SALÁRIO, COD // mostra os registros RECALL ALL // recupera todos os registros DISPLAY ALL NOME, SALÁRIO, COD // mostra os registros GEEK BRASIL – http://www.geekbrasil.com.br 80 Clipper 5.2 Comandos e Funções DBEDIT( ) Propósito: uma Folheia os registros d um janela. banco de dados em Sintaxe: DBEDIT ([<linha_inicial>, <coluna_inicial>, <linha_final>, <coluna_final>, (<vetor de colunas>, “<função do usuário>“, < vetor de máscaras>, <máscara>, <vetor de cabeçalhos>, <cabeçalho>, <vetor separador cabeçalhos>, <separador cabeçalho>, <vetor separador de rodapé>, <separador de rodapé>, <vetor rodapé das colunas>, <rodapé das colunas>]). Exemplo: /* ESTE PROGRAMA É UM EXEMPLO DA FUNÇÃO DBEDIT AUTOR : GORKI STARLIN /* USE FOLHA // abre os arquivos folha.dbf DECLARE VECTOR_CAMPOS[7] // declara o vetor que representará os // campos do arquivo a ser editado // ARMAZENA OS CAMPOS DO ARQUIVO NOS VETORES VETOR_CAMPOS [1] = “COD” VETOR_CAMPOS [2] = “NOME” VETOR_CAMPOS [3] = “SETOR” VETOR_CAMPOS [4] = “SALÁRIO” VETOR_CAMPOS [5] = “CARGO” VETOR_CAMPOS [6] = “ATIVO” VETOR_CAMPOS [7] = “DTADM” // CRIA VARIÁVEIS P/ DEFINIR A ÁREA DE EDIÇÃO DOS DADOS L_INICIAL = 5 C_INICIAL = 5 L_FINAL = 22 C_FINAL = 67 GEEK BRASIL – http://www.geekbrasil.com.br 81 Clipper 5.2 Comandos e Funções @ L_INICIAL-1, C_INICIAL-1 TO L_FINAL+1, C_FINAL+1 DOUDLE DBEDIT (L_INICIAL, C_INICIAL, L_FINAL, C_FINAL, VETOR_CAMPOS, “EDITA”) FUNCTION EDITA ( MODO, ÍNDICE ) SET COLOR TO W+/N TECLA = LASTKEY ( ) CAMPO = VETOR_CAMPOS [ÍNDICE] RETORNA = 1 IF MODO = 4 IF TECLA = 27 RETORNA = 0 ELSEIF TECLA = 13 @ ROW(),COL() GET & CAMPO READ ENDIF ENDIF SET COLOR TO RETURN RETORNA DBEVAL( ) Propósito: para Sintaxe: Executa e avalia um bloco de código (code block) cada registro que atenda uma condição ou Escopo. DBEVAL(<Bloco>, [<Condição1>, <Condição2>, <Quantidade> <Registro>, <Restante>]). Exemplo: /* REAJUSTE DE SALÁRIO AUTOR: GORKI STARLIN */ LOCAL ÍNDICE := 20, SETVAR := 1 // cria o bloco de código executável BLOCO := {|| SALÁRIO := SALÁRIO * ÍNDICE/100 + SALÁRIO} // cria o bloco de código contendo a condição FOR CONDIÇÃO1 := {|| SETOR = SETVAR} DBEVAL (BLOCO, CONDIÇÃO1) // mostra e avalia os blocos de // códigos ? “SALÁRIO ATUALIZADOS !” QUIT GEEK BRASIL – http://www.geekbrasil.com.br 82 Clipper 5.2 Comandos e Funções DBF( ) Propósito: na Sintaxe: Retornar o ALIAS (apelido) do banco de dados aberto área de trabalho corrente. DBF( ). Exemplo: USE FOLHA NEW NOME := DBF( ) ? NOME // // // // DBFILTER( ) abre o arquivo de dados na próxima área de trabalho disponível armazena o nome do banco de dados na variável mostra o conteúdo do variável. Propósito: filtro Sintaxe: Devolver uma cadeia de caracteres estabelecido por SET FILTER. referente ao DBFILTER( ). Exemplo: USE FOLHA NEW // abre o banco de dados SET FILTER TO SALÁRIO < 40000.00 // estabelece um filtro aos // registros a serem processados LIST NOME, CARGO, SETOR, SALÁRIO ?DBFILTER( ) // resultado: SALÁRIO < 40000.00 DBGOBOTTOM( ) Propósito: o Sintaxe: Desloca o ponteiro interno do arquivo de dados para último registro lógico do banco de dados. DBGOBOTTOM( ). Exemplo: USE FOLHA DBGOBOTTOM( ) // vá para o fim do arquivo DISPLAY NOME, COD, SALÁRIO DBGOTO( ) GEEK BRASIL – http://www.geekbrasil.com.br 83 br 84 . COD. Exemplo: USE FOLHA DBGOTO( 6 ) // vá para o registro (record) número 6 DISPLAY NOME. DBGOTO(<nregistro>).2 Comandos e Funções Propósito: um Sintaxe: Deslocar o ponteiro interno do arquivo de dados para determinado registro lógico. Exemplo: USE FOLHA INDEX INOME. DBRECALL( ). o DBGOTOP( ). Exemplo: USE FOLHA DBGOTOP( ) // vá para o início do arquivo DISPLAY NOME. SALÁRIO DBRECALL( ) Propósito: de Sintaxe: Recuperar (desmarcar) registro marcados no arquivo dados. COD.com.geekbrasil.NTX SEEK “JOÃO” IF DELETED( ) // se estiver marcado (deleted) DBRECALL( ) ? “REGISTRO RECUPERADO” ENDIF GEEK BRASIL – http://www. SALÁRIO DBGOTOP( ) Propósito: primeiro Sintaxe: Deslocar o ponteiro interno do arquivo para registro do mesmo.Clipper 5. br 85 . DBSELECT(<relacionamento>). Exemplo: USE FACULDAD NEW USE CURSOS NEW USE ALUNOS NEW // abre o arquivo de dados // abre o arquivo de dados // abre o arquivo de dados // monta dois relacionamentos SET RELATION TO CODCUR INTO CURSOS. CODFACUL INTO FACULDADE ? DBRELATION(2) // resultado: CODFACUL ? DBRSELECT( ) // resultado: 3 DBRSELECT( ) Propósito: um Sintaxe: Devolver número da área de trabalho a que se destina relacionamento.2 Comandos e Funções DBREINDEX( ) Propósito: Sintaxe: Recriar os índices ativos no arquivo de dados.com.geekbrasil. CODFACUL INTO FACULDADE ? DBRELATION(2) // resultado: CODFACUL ? DBRSELECT(2) // resultado: 3 ? ALIAS(DBRSELECT(2)) // resultado: faculdade GEEK BRASIL – http://www. DBREINDEX( ). Exemplo: USE FACULD NEW // abre o arquivo de dados USE CURSOS NEW // abre o arquivo de dados USE ALUNOS NEW // abre o arquivo de dados SET RELATION TO CODCUR INTO CURSOS.Clipper 5. DBRELATION( ) Propósito: a de SET Sintaxe: Devolver uma cadeia de caracteres que descreve expressão usada para estabelecer o relacionamento dados entre banco de dados através do comando RELATION. DBRELATION(<relacionamento>). Exemplo: USE MALA INDEX INOME USE CLIENTES INDEX IESTADO NEW MALA ® (DBSEEK(“JOÃO”. SALARIO.SETOR. GEEK BRASIL – http://www.com.geekbrasil. ./.].br 86 . CIDADE LIST MALA®CLIENTE. DBELECTAREA(<área> | <apelido>). DBSEEK <chave>.[.Clipper 5. ENDEREÇO. COD DBSELECTAREA(MALA) // seleciona o arquivo área MALA LIST COD.)) // pesquisa no mala o nome JOÃO // SER SEFTSEEK OFF IF FOUND( ) // se existir DISPLAY NOME. Exemplo: USE MALA INDEX INOME DBSELECTAREA( 0 ) // seleciona a próxima área disponível USE FOLHA INDEX CODF LIST NOME.T.dbf DBSETDRIVER( ) Propósito: ainda Retornar o nome do driver de arquivo em uso. CIDADE ELSE ? “NÃO ENCONTRADO !” ? RECNO( ) // EOF( ) ENDIF DBSELECTAREA( ) Propósito: Sintaxe: Seleciona uma área de trabalho. FOLHA®SALÁRIO // lista registro de outra // área MALA® (DBAPPEND( )) // cria um registro em branco no // arquivo mala.2 Comandos e Funções DBSEEK( ) Propósito: numa Sintaxe: Pesquisarmos registro do banco de dados indexado chave especificada.F.F. ou trocar o tipo do driver de arquivo em uso. CLIENTE. Exemplo: : : DBSETDRIVER (“DBFNDX”) IF (DBSETDRIVER <> “DBFNDX”) ? “O DRIVER .Clipper 5. DBSETINDEX(<nome do índice>). FOLHA->INDEXRECO ELSE ? “REGISTRO NÃO ENCONTRADO” ENDIF DBSETORDER( ) Propósito: mestre Sintaxe: Ativar um determinado índice aberto como índice do banco de dados.NDX NÃO VÁLIDO” ENDIF : : DBSETINDEX( ) Propósito: Sintaxe: Abrir um arquivo de índice em uma área de trabalho. Exemplo: GEEK BRASIL – http://www.geekbrasil. Exemplo: USE FOLHA DBSETINDEX(“INOME”) DBSETINDEX(“ISOBRENO”) IF FOLHA-> (DBSEEK (“SILVA”)) ? FOLHA-> NOME.br 87 .2 Comandos e Funções Sintaxe: DBSETCRIVER(<NOME DRIVER>).com. DBSETORDER(<Número do índice>). Exemplo: USE FOLHA GO 1 DISPLAY DBSKIP( 4 ) DISPLAY SKIP . DBSETRELATION( <Narea>| <apelido>. VENDAS->VALOR DBSKIP( ) Propósito: Sintaxe: Saltar o ponteiro entre os registros do banco de dados..2 Comandos e Funções USE FOLHA SET INDEX TO INOME. {|| VENDAS->CODVENCLI}.2 DISPLAY // resultado: RECNO( ) = 5 // resultado: RECNO( ) = 3 DBSTRUCT () GEEK BRASIL – http://www.geekbrasil. expressão> [<Cexpr>]).Clipper 5. ISOBRENOME : : : DBSETORDER(2) // seta o segundo índice aberto como // principal. Exemplo: USE CLIENTES INDEX ICODCLI USE VENDAS NEW DBSETRELATION(“CLIENTES”. isto é ISOBRENOME DBSEEK (“SILVA”) DBSETRELATION( ) Propósito: Sintaxe: <bloco Relacionar duas área (arquivos) de trabalho.br 88 . “VENDAS->CODVENCLI”) LIST CLIENTES->NOME.com. DBSKIP (<valor do salto>). USE FOLHA SHARED NEW USE CLIENTES SHARED NEW FOLHA ® (FLOCK()) CLIENTES ® (FLOCK()) // trava o arquivo DBUNLOCKALL( ) // libera todos os travamentos DBUSEAREA ( ) Propósito: Sintaxe: <arquivo> ). DBSTRUCT ( ).Clipper 5.<nome driver>..2 Comandos e Funções Propósito: a Sintaxe: Criar uma matriz com duas dimensões contendo estrutura de um banco de dados. {|CAMPO| QOUT (CAMPO [DBS_NAME])}) DBUNLOCKALL ( ) Exemplo: Propósito: Sintaxe: Liberar todos os travamentos sobre as áreas de trabalho. Abrir um arquivo em uma área de trabalho.br // abre o arquivo vendas 89 . Exemplo: # INCLUDE “DBSTRUCT.com.CH” LOCAL ESTRUTURA USE FOLHA NEW ESTRUTURA := DBSTRUCT( ) // abre o banco de dados // armazena a estrutura do banco // de dados em ESTRUTURA // usa bloco de código p/ existir dados da // estrutura AEVAL( ESTRUTURA.geekbrasil.<Lconpartilhado>. DBUNLOCKALL ( ).<Lapenas leitura> Exemplo: DBUSEAREA (.”VENDAS”) BROWSE( ) GEEK BRASIL – http://www.T. “DBFNTX”. <apelido>. DBUSEAREA (<Lnome área>. para uma Exemplo: SET DEVICE TO PRINT @ 01.2 Comandos e Funções DELETED ( ) Propósito: deletado Sintaxe: Verificar se o registro corrente se encontra (marcado) através do comando DELETE.20) // desloca a cabeça de impressão exibe na GEEK BRASIL – http://www.Clipper 5.NTX // cria a chave de índice LIST NOME. SALÁRIO.01 SAY “EXEMPLO” DEVPOS(15.com. DELETED ( ).br 90 . COD. DEVPOS ( ) Propósito: nova Sintaxe: Movimentar a cabeça de impressão posição especificada. CARGO // para utilizar o comando SEEK para fins de pesquisa não se // esqueça de declarar DESCEND( ). Exemplo: USE FOLHA NEW // abre os arquivo de dados USE CARGOS NEW DISPLAY ALL FR DELETED( ) // mostra todos os registros // Deletados DISPLAY ALL FOR FOLHA® (DELETED( )) DESCEND ( ) Propósito: Sintaxe: Criar chaves de índices em ordem descendente. DESCEND ( ).<coluna>). Exemplo: USE FOLHA NEW // abre o arquivo de dados INDEX ON DESCEND (nome) TO NID. DEVPOS (<linha>.geekbrasil. Sintaxe: Criar uma matriz multidimensional e informações sobre um diretório. DEVOUTPICT (<informação> . coluna 20 @ PROW( ). Mostra uma informação de qualquer ponto da tela.geekbrasil.DBF”.br 91 . PCOL( ) SAY “AS COORDENADAS MUDARAM” DEVOUTPICT ( ) Propósito: como Sintaxe: . “@!”.Clipper 5. característica de informação de saída. DIRECTORY (<diretório>. Exemplo: FUNCTION COPIASEG( ) GEEK BRASIL – http://www.2 Comandos e Funções // linha 15.5) DEVOUT(“GORKI STARLIN”. armazenar Exemplo: # INCLUDE “DIRECTRY. “B/W”) DIRECTORY ( ) Propósito: nesta. <atributos>). “D”) // lê o diretório // avalia e executa o bloco de código AEVAL ( diretório.CH” // inclui o arquivo de definições LOCAL DIRETÓRIO := DIRECTRY (“*. Exemplo: DEVPOS (5. {|arquivo| qout (arquivo [F_NAME])}) DISKSPACE ( ) Propósito: determinada Sintaxe: Retornar o espaço livre ( em Bytes ) de uma unidade de disco.com. DISKSPACE (<drive>). <cláusula picture> [<cor>]). 2 Comandos e Funções // calcula o tamanho da cópia TAMANHO :=INT((RECSIZE * LASTREC + HEADER + 1 )) // verifica se é possível a cópia no diskete IF DISKSPACE(1) < tamanho // drive A RETURN .F. DTOC(<data>). // retorne cópia OK!.T.br 92 . Propósito: Devolver o código do último erro processado pelo Sintaxe: DOSERROR( ). DOW( ) Propósito: da Sintaxe: Extrair de uma data um número que especifica o semana da mesma. CDOW(DIA) // mostra o dia da semana DIA ++ // equivalente a dia:= dia+1 ENDDO DTOC( ) Propósito: Sintaxe: Converter um valor data para uma expressão caractere.geekbrasil. dia Exemplo: // mostra o dia da semana da data de hoje (sistema) ? DOW (DATE( )) // na forma de número ? DOW (DATE( )) // na forma de uma cadeia de caracteres DIA := 1 DO WHILE DIA <= 7 // faça enquanto dia <= 7 ? DOW(DIA).d com o nome // backup.dbf no diskete da drive A RETURN . // retorne não possível ELSE COPY TO A:BACKUP.S.Clipper 5. DOSERROR( ) D.DBF // gera uma copia do b. DOW(<data>). Exemplo: GEEK BRASIL – http://www.O.com. ..:” GT VCOD READ SEEK VCOD // pesquisa o código digitado IF EOF( ) // se for o final do arquivo ? “registro não encontrado” ELSE DISPLAY NOME.2 Comandos e Funções ? DATE( ) mostra a data de hoje (sistema) ? “DATA DE HOJE É. Exemplo: USE MALA INDEX CODI VCOD:= SPACE(5) @ 10.Clipper 5.10 SAY “DIGITE O CÓDIGO.:” + DTOC(DATE( )) // mostra a data. Exemplo: VCOD := SPACE(5) @ 10. VALID .NOT. concatenado em conjunto // com uma cadeia de caracteres.com.. EMPTY( ) Propósito: Sintaxe: Verifica se uma expressão é vazia. EMPTY(<expressão>)..:” GET VCOD PCT “99999”.br 93 .. no // formato de expressão caractere.20 SAY “CÓDIGO DO FUNCIONÁRIO A PESQUISAR. EOF( ). ENDEREÇO ENDIF GEEK BRASIL – http://www.geekbrasil. EMPTY(VCOD) READ EOF( ) Propósito: no Sintaxe: Verificar se o ponteiro lógico de registros se encontra fim do arquivo. 4) // resultado: 5 EXP( ) Exemplo: ? EXP(1) Propósito: Sintaxe: Calcular o E ** X. ERRORBLOCK(<errorhandler>). // resultado: 2. EVAL(<bloco>. Executar um Bloco de Código.Clipper 5. Exemplo: BLOCO := {| ARGUMENTO| ARGUMENTO + 1} ? EVAL (BLOCO. ERRORLEVEL(código de retorno). EXP(<expoente>).2 Comandos e Funções ERRORBLOCK( ) Propósito: é Sintaxe: Avaliar um bloco de código (Code Block) quando detectado um erro no programa em tempo de execução.br 94 . ERRORLEVEL( ) Propósito: do Sintaxe: EVAL( ) Propósito: Sintaxe: Retornar ou configurar o código de retorno de error Clipper. FCLOSE(<número>).geekbrasil.com. Exemplo: GEEK BRASIL – http://www.72 FCLOSE( ) Propósito: Sintaxe: Fechar um arquivo do tipo binário aberto. <lista de argumentos>). O) // cria o arquivo IF HANDLE = -1 ? “houve erro na criação do arquivo” ELSE FWRITE (HANDLE. FCOUNT( ).Clipper 5. Exemplo: USE MALA USE CADASTRO ? FCOUNT( ) ? MALA ® (FCOUNT( )) FCREATE( ) Propósito: Sintaxe: // resultado: 7 // resultado: 5 Criar um arquivo binário de tamanho zero. [<atributo>]).TXT”. Exemplo: HANDLE := FCREATE (“LEIAME.DBF) aberto na área corrente de trabalho.TXT ? “ARQUIVO FECHADO” ELSE // senão conseguir fechar o arquivo ? “NÃO FOI POSSÍVEL FECHAR O ARQUIVO” ENDIF FCOUNT( ) Propósito: Sintaxe: Retornar a quantidade de campos do arquivo de dados (.com.geekbrasil. FCREATE(<arquivo>.TXT”) // abrindo e obtendo o HENDLE : : : : IF FCLOSE(HANDLE) // fecha o arquivo LEIAME.br 95 .2 Comandos e Funções HANDLE:= FOPEN (“LEIAME. “ISTO E UMA MENSAGEM”) FCLOSE (HANDLE) ENDIF GEEK BRASIL – http://www. TXT”) IF OPERAÇÃO = -1 ? “ERRO !. Retornar o nome de um campo atual. FERASE (<arquivo>).2 Comandos e Funções FERASE( ) Propósito: Sintaxe: Apagar arquivo do disco. ARQUIVO NÃO FOI APAGADO” ELSE ? “ARQUIVO APAGADO” ENDIF FERROR( ) Propósito: um Sintaxe: FIELD( ) Propósito: dados Sintaxe: Analisar se houve arquivo no disco. FIELD(<posição>). FILE(<arquivo>).com.br 96 . Exemplo: OPERAÇÃO := FERASE(“LEIAME. do arquivo de Exemplo: USE MALA ? FIELD(2) // resultado: NOME FOR I := TO FCOUNT( ) ? FIELD(I) NEXT FILE( ) Propósito: Sintaxe: Verificar a existência de arquivos gravados no disco. erro na operação aplicada a FERROR( ). GEEK BRASIL – http://www.Clipper 5.geekbrasil. FKLABEL( ) Propósito: nome Sintaxe: Retorna uma cadeia de caracteres representante da tecla de função especificada.NTX”) // se existir o arquivo NOMEI. ao Exemplo: ? FKLABEL(5) ? FKLABEL(7) FKMAX( ) Propósito: o Sintaxe: // resultado: F5 // resultado: F7 Retornar um valor numérico inteiro que representa número de teclas de funções. FKMAX( ).geekbrasil. .DBF”)// verifica no diretório // \PRODUÇÃO . FKLABEL(<número da tecla>). Exemplo: ? FKMAX( ) // resultado: 40 FLOCK( ) GEEK BRASIL – http://www.br 97 .2 Comandos e Funções Exemplo: USE MALA // abre o arquivo de dados IF FILE(“NOMEI. .Clipper 5.NTX SET INDEX TO NOMEI // abre o arquivo de índice ELSE // se existir INDEX ON NOME TO NOMEI // cria o arquivo de índice ENDIF IF FILE(“\PRODUÇÃO\CADASTRO.com. <modo>) Verificar se uma pesquisa no arquivo de dados sucedida.com.br 98 . registros ambiente FLOCK( ).2 Comandos e Funções Propósito: quando de Redes Sintaxe: Travar o arquivo de dados todos os aberto em modo compartilhado em Locais. Exemplo: USE MALA SHARED // abre o arquivo compartilhado IF FLOCK( ) ? “ARQUIVO TRAVADO!” REPLACE ALL SALÁRIO WITH SALARIO*1. Exemplo: USE MALA LOCATE NOME = “JOÃO” IF FOUND( ) DISPLAY NOME. FOPEN(<arquivo>. ENDEREÇO ELSE ? “REGISTRO NÃO ENCONTRADO” ENDIF FREAD( ) GEEK BRASIL – http://www.geekbrasil.Clipper 5.2 ELSE ? “NÃO FOI POSSÍVEL TRAVAR O ARQUIVO” ENDIF FOPEN( ) Propósito: Sintaxe: FOUND( ) Propósito: bem Sintaxe: Abrir um arquivo binário. foi FOUND( ). TXT”.2 Comandos e Funções Propósito: arquivo.CH” HANDLE := FOPEN (“LEIAME. @ <variável>. Sintaxe: Realizar a leitura de caracteres de armazenando os mesmos em uma variável. GEEK BRASIL – http://www.br 99 . @BUFFER. <novo nome>). <bytes>).geekbrasil. FREAD(<handle>.TXT”) IF FERROR ( ) ! = 0 ? “NÃO FOI POSSÍVEL ABRIR O ARQUIVO” ELSE IF FREAD (HANDLE. <bytes>). um Exemplo: # DEFINE BLOCO 128 BUFFER := SPACE(BLOCO) HANDLE := FOPEN(“LEIAME. FC_NORMAL) IF FERROR( ) ! = 0 ? “ERROR DE ABERTURA” CANCEL ELSE STRING FCLOSE(HANDLE) ENDIF FRENAME( ) Propósito: Sintaxe: Renomear um arquivo gravado em disco. Exemplo: # DEFINE “FILEIO. BLOCO) <> BLOCO ? “ERROR NA LEITURA DO ARQUIVO” ENDIF ENDIF ?BUFFER // mostra os caracteres lidos do um arquivo FREADSTR( ) Propósito: Sintaxe: Retorna caracteres lidos de arquivo.com.Clipper 5. FREADSTR(<handle>. FRENAME(<nome atual>. FSEEK(<handle>.2 Comandos e Funções Exemplo: IF FRENAME(“LEIAME. um Carregar o conteúdo operacional DOS.com.TXT”) <> -1 ? “ARQUIVO RENOMEADO” ELSE ? “FALHA NA OPERAÇÃO!!!” ENDIF FSEEK( ) Propósito: posição Sintaxe: Deslocar o ponteiro de arquivo para uma dentro do mesmo.br de uma variável 100 . 0. 0) ELSE ? “NÃO FOI POSSÍVEL ABRIR O ARQUIVO” ENDIF FWRITE( ) Propósito: arquivo Sintaxe: GETENV( ) Propósito: sistema Grava uma expressão de caracteres em aberto.geekbrasil.TXT”.Clipper 5. <bytes>. “NAOLEIAM. <caracteres>. do GEEK BRASIL – http://www. <início>). <bytes>). FWRITE(<handle>.TXT”)) > 0 TAMANHO := FSEEK (HANDLE. FS_END) // posiciona o ponteiro no início do arquivo FSEEK (HANDLE.CH” // diretório \clipper5\include IF (HANDLE := FOPEN (“LEIAME. nova Exemplo: # INCLUDE “FILEIO. SET PATH TO (CAMINHO) // configura o caminho de pesquisa de // arquivo da aplicação. Propósito: Processar um teste condicional. HARDCR(<expressão caractere>). retornos manuais). HARDCR( ) Propósito: ou uma (CHR(13). seja os retornos automáticos) encontrados em expressão caractere por Hard Carriage Returns ou seja. mostra (imprime) o conteúdo do campo memo formatando a mudança automática de linha de Memoedit( ).DBF.2 Comandos e Funções Sintaxe: GETENV(<variável de ambiente>). GEEK BRASIL – http://www. Retornar o número de Bytes do cabeçalho do arquivo dados em uso. Exemplo: USE CLIENTES SET PRINT ON // // // // // // // ? HARDCR(OBS) SET PRINTER OFF HEADER( ) Propósito: de Sintaxe: abre o arquivo de dados liga a saída do comando de console para impressora. ajustando-a com o // PATH corrente do DOS. Sintaxe: Substitui todos os Soft Carriage Returns (HR(141). Exemplo: USE CLIENTES ? HEARDER( ) IF( ) // mostra o tamanho do cabeçalho do arquivo de // dados CLIENTES.br 101 . Exemplo: CAMINHO := GETENV (“PATH”) // lê a configuração do PATH do DOS.geekbrasil.Clipper 5.com. HEADER( ). desliga a impressora. Sintaxe: Retornar uma string que indica o tipo de arquivo índice que está sendo processado pelo programa ou seja. é criado. Exemplo: USE MALA // abre arquivo de dados. . ENDIF INDEXKEY( ) especificado. Propósito: Retornar a expressão de chave de um índice Sintaxe: INDEXKEY(<ordem>). INDEX ON NOME TO INOME // caso não exista. <Ação2>). “SALDO NEGATIVO”) // resultado: “OK” N:= SPACE(30) @ 10.2 Comandos e Funções Sintaxe: IF (<condição>..NTX ou NDX.F.com.:” GET N VALID.NOT. ) // analisa a expressão // digitada por GET READ INDEXEXT( ) Propósito: de Clipper. . Exemplo: SALDO := 10000.10 SAY “DIGITE O NOME.NDX OU NTX. IF . a função substitui a // expressão .geekbrasil. IENDERECO ? INDEXKEY(2) // resultado: IENDEREÇO ? INDEXKEY(1) // resultado: INOME INDEXORD( ) GEEK BRASIL – http://www. INDEXEXT( ). FILE(“INOME” + INDEXEXT( ) ) // verifica se o arquivo // de índice existe.00 R:=IF(SALDO <0. <Ação1>. “OK”.T.Clipper 5.. Exemplo: USE CLIENTES INDEX INOME. IF(N <> SPACE(30).br 102 . . . 93 ? INT(VAR1). ICODIGO ? INDEXORD( ) // resultado: 1 VOLTA := INDEXORD( ) SET ORDER TO 2 // muda o controle do arquivo para ICEP ? INDEXORD( ) // resultado: 2 SET ORDER TO VOLTA ? INDEXORD( ) // resultado: 1 INKEY( ) Propósito: Sintaxe: Aguarda do buffer do teclado um caractere qualquer.com. Exemplo: @ 22.93 103 . ICEP.10 SAY “TECLE ALGO PARA CONTINUAR” TECLA := INKEY(5) // espera por um máximo 5 segundos ? 23. de abertura do arquivo de INDEXORD( ). VAR2 // resultado: 2929 GEEK BRASIL – http://www.geekbrasil. Exemplo: VAR1:=VAR2:=2929. INT(<número>).2 Comandos e Funções Propósito: índice Sintaxe: Fornecer a ordem corrente..br 2929.:” + STR(TECLA) INT( ) Propósito: Sintaxe: Retornar o valor inteiro de uma expressão numérica. Exemplo: USE CLIENTES SET INDEX TO INOME.01 SAY “VOCÊ PRESSIONOU A TECLA DE CÓDIGO.Clipper 5. INKEY(<tempo>). com.T.Clipper 5. Exemplo: VAR1:= “RUA 13 DE MAIO” VAR2:= “1928” ? ISALPHA(VAR1) ? ISALPHA(VAR2) ISCOLOR( ) Propósito: aplicação Sintaxe: ISDIGIT( ) Propósito: expressão Sintaxe: // resultado: .T. // resultado: . ? ISDIGIT(VAR2) resultado: . Pesquisa se o primeiro caractere caractere é um número. se o mais à esquerda (primeiro) é uma letra. Pesquisar se o computador que está rodando a possui a característica de exibir cores. ISCOLOR( ).F. ISALPHA(<expressão caractere>). ISLOWER(<expressão caractere>).br 104 . ISDIGIT(<expressão caractere>).F.2 Comandos e Funções ISALPHA( ) Propósito: caractere Sintaxe: Pesquisar em uma expressão caractere. de uma de uma Exemplo: VAR1:= “RUA 13 DE MAIO” VAR2:= “1928” ? ISDIGIT(VAR1) resultado: . GEEK BRASIL – http://www.geekbrasil. ISLOWER( ) Propósito: expressão Sintaxe: Pesquisa se o primeiro caraactere caractere é uma letra maiúscula. br 105 .. ISPRINTER( ) // verifica se a impressão não se // encontra pronta. ? ISLOWER(“EDITORA ERICA”) // resultado: . Exemplo: : RESPOSTA := “S” @ 22.10 SAY “CONFIRMA SAÍDA DO RELATÓRIO.geekbrasil.2 Comandos e Funções Exemplo: VAR1:= “RUA 13 DE MAIO” VAR2:= “1928” ? ISLOWER(VAR1) // resultado: .:” GET RESPOSTA READ IF . ? ISLOWER(VAR2) // resultado: .F.T. ISPRINTER( ) Propósito: pronta Sintaxe: Testar se a impressora conectada para impressões.Clipper 5.T.10 SAY “IMPRESSÃO NÃO PRONTA” TONE(300.F.com.NOT. ? ISLOWER(VAR2) // resultado: . @ 23.F. de uma Exemplo: VAR1:= “RUA 13 DE MAIO” VAR2:= “1928” ? ISLOWER(VAR1) // resultado: . ISUPPER( ) Propósito: expressão Sintaxe: Pesquisar se o primeiro caractere caratere é uma letra maiúscula.. GEEK BRASIL – http://www. na LPT1 está ISPRINTER( ). ISUPPER(<expressão caractere>).1) // emite um som INKEY(3) // aguarda três segundos LOOP // sobe até a linha do DO WHILE ENDIF REPORT FORM RELFOLHA TO PRINT // saída do relatório. geekbrasil.. da última tecla que LASTKEY( ). inteiro para I2BIN( ). Retornar o código INKEY( ) pressionada.T.GETS READ IF LASTKEY( ) = 27 RETURN ENDIF LASTREC( ) Propósito: dados Sintaxe: // se a última tecla foi o <ESC> // termina Verificar a quantidade de registros no arquivo corrente.br 106 . Realizar a conversão de um número binário de 16 bits. Exemplo: // SEÇÃO DE @. LASTREC( ) SET FILTER TO ESTADO = “SP” ? LASTREC( ) COUNT TO TOTALREG ? TOTALREG LEFT( ) Propósito: de // resultado: 212 212 // resultado: 212 // resultado: 46 Extrair um segmento de caracteres retirados do início uma expressão caractere.2 Comandos e Funções ? ISLOWER(“EDITORA ERICA”) I2BIN( ) Propósito: inteiro Sintaxe: LASTKEY( ) Propósito: foi Sintaxe: // resultado: .Clipper 5. GEEK BRASIL – http://www. Exemplo: USE CLIENTES ? RECCOUNT( ). de LASTREC( ).com. VAR := “RUA 13 DE MAIO” ? LEFT(VAR. GEEK BRASIL – http://www.br 107 .999 ? LENNUM(VAR) LOG( ) numérica. caractere>. Exemplo: VAR := 299. Exemplo: LOCAL VAR ? LEN(“RUA”) // resultado: 3 VAR := “RUA 13 DE MAIO” ? LEN(VAR) // resultado: 14 LENNUM( ) Propósito: Sintaxe: Fornecer o tamanho de uma expressão numérica.geekbrasil. 3) // resultado: RUA LEN( ) Propósito: o Sintaxe: Fornecer o número de elementos de um vetor ou tamanho de uma expressão caractere. // resultado: 7 Propósito: Fornecer o logaritmo natural de uma expressão Sintaxe: LOG(<exp.Clipper 5. caractere>|<vetor>). <quantidade>).com. numérica>). LENNUM(<exp.2 Comandos e Funções Exemplo: Sintaxe: LEFT(<exp.numérica>). LEN(<exp. caractere>).geekbrasil.com.71) // resultado: 2. LTRIM(<exp. LUPDATE( ). LTRIM( ) Propósito: uma Sintaxe: Remover todos os espaços em branco à esquerda de expressão caractere.br 108 . caractere>).Clipper 5. Exemplo: VALOR := 100 STRING := STR(VALOR) ? STRING // resultado: 100 ? LTRIM(STRING) // resultado: 100 LUPDATE( ) Propósito: dados Sintaxe: Fornecer a data da última atualização do banco de corrente. Exemplo: USECLIENTES ? LUPDATE( ) // resultado: DD/MM/AA GEEK BRASIL – http://www. Exemplo: NOME := “JOÃO DA SILVA” ? LOWER(NOME) // resultado: JOÃO DA SILVA. LOWER(<exp.00 LOWER( ) Propósito: Sintaxe: Converter caractere de maiúsculas para minúsculas.30 // resultado: 1.2 Comandos e Funções Exemplo: ? LOG(10) ? LOG(2. com.0 TO MAXROW( ). Fornecer o maior valor entre duas proporções ou datas. Exemplo: ? MAX (200.0.geekbrasil. numérica 2>). <data 2>). MAX(<exp. MAXCOL( ) DOUBLE MAXROW( ) Propósito: Sintaxe: Especificar o maior número de linha da tela. MAXROW( ). <exp. MAXCOL( ) ) MEMOEDIT( ) GEEK BRASIL – http://www.numérica>).Clipper 5. MAX(<data1>.0. 292) MAXCOL( ) Propósito: da Sintaxe: // resultado: 292 Especificar o número máximo tela. numérica 1>. de coluna disponível MAXCOL( ). L2BIN(<exp. Exemplo: OBS := SPACE(10) MEMOEDIT(OBS. Exemplo: @ 0. MAXROW( ).br 109 .2 Comandos e Funções L2BIN( ) Propósito: 32 Sintaxe: MAX( ) Propósito: numéricas Sintaxe: Converter um valor inteiro para um inteiro binário de bits. 02 SAY “LINHA. OLIVEIRA * DATA: NOV. COLUNA) // DEFINIR A FUNÇÃO # DEFINE INSERT 22 // cria uma coluna contante LOCAL RETORNA := LASTKEY( ) // armazena a última tecla CURSOR := . <modo da linha>. <linha da janela>).:” + STR(LINHA) + “COLUNA. <coluna Sintaxe: Permitir a edição na tela de campos memos expressões caractere.79 DOUBLE TEXTO = SPACE (10) TEXTO:= MEMOEDIT ( TEXTO..01 * POR: GORKI STARLIN C..2 Comandos e Funções Propósito: ou inicial>.3. <função do usuário>.2. “ACENTO”) REPLACE OBS WITH TEXTO // salva texto no campo do arquivo // : // : ************************************************************ * ACENTUAÇÃO DE CAMPOS MEMOS EM CLIPPER 5. de edição>. LINHA. <linha buffer>. 92 ************************************************************ FUNCTION ACENTO ( MODO. <linha <coluna inicial>.1) ) // muda a forma do // cursor ENDIF TECLAS( ) OTHERWISE // <F2> ou <CONTRL-W> grava e sai do memoedit( ) GEEK BRASIL – http://www. (insere) @ 01. <tamanho <tamanho da tabulação>..br 110 .Clipper 5.T.2.com.:” + STR(COLUNA) DO CASE // faça os casos CASE MODO = 3 CURSOR := . MEMOEDIT (<expressão caractere>. <coluna final>.21.T.geekbrasil.3.T.1) ) // muda a forma do cursor TECLAS( ) // chama a função tecals( ) CASE MODO = 0 // modo em estado de espera IF READINSERT( ) != CURSOR SETCURSOR( IF(CURSOR..0/5.2 TO 22..78.. // modo insert -> . Exemplo: FALTA EXEMPLO CLEAR USE CLIENTES LOCATE FOR NOME = “JOÃO” // acesa um registro @ 2. <linha final>. buffer>. // cursor normal SET CURSOR( IF(CURSOR.F. br 111 .T.1) ) RETORNA := 22 ENDIF DO CASE RETURN (retorna)// retorna o controle para DBEDIT( ). // interliga teclas as funções de tratamento individual de // acentos. ou seja // CHR(39) for teclada LOCAL TECLA := INKEY(0) LOCAL CARACTERE := CHR(TECLA) DO CASE CASE CARACTER = “A” KEYBOAD “A” CASE CARACTER = “a” KEYBOAD CHR9160) CASE CARACTER = “E” KEYBOAD CHR(144) CASE CARACTER = “e” KEYBOAD CHR(130) CASE CARACTER $ “iI” KEYBOAD CHR(161) CASE CARACTER $ “Oo” KEYBOAD CHR(162) CASE CARACTER $ “Uu” KEYBOAD CHR(163) OTHER SET KEY 39 TO GEEK BRASIL – http://www.2. FUNCTION AGUDO( ) // Esta função será chamada toda vez que a tecla (‘).com.geekbrasil. // ATIVA AS FUNÇÕES DE TRATAMENTO DE ACENTOS FUNCTION TECLAS // define a função teclas( ).2 Comandos e Funções IF LASTKEY( ) = . SET KEY 39 TO AGUDO( ) SET KEY 96 TO CRAZE( ) SET KEY 94 TO CIRCUNFLEX( ) SET KEY 34 TO TREMA SET KEY 47 TO CCEDILHA SET KEY 126 TO TIL RETURN .Clipper 5.1 // se teclar <F2> RETORNA := 23 // retorna <CTRL>+<W> ELSEIF LASTEKEY( ) = INSERT CURSOR = !READINSERT( ) SETCURSOR(IF (CURSOR. ou seja // CHR(34) for teclada // Para ativar o trema: <“> + <U> TECLA := INKEY(0) CARACTERE:= CHR(TECLA) DO CASE CASE CARACTER = “U” KEYBOARD CHR(154) CASE CARACTER = “u” KEYBOARD CHR(129) OTHER SET KEY 34 TO KEYBOARD CARACTER ENDCASE RETURN . ou seja // CHR(94) for teclada CARACTERE:= CHR(TECLA) DO CASE CASE CARACTER = “A” KEYBOAD CHR(143) CASE CARACTER = “a” KEYBOAD CHR(131) CASE CARACTER = “e” KEYBOAD CHR(136) CASE CARACTER $ “Oo” KEYBOAD CHR(162) OTHER SET KEY 94 TO KEYBOAD CARACTER ENDCASE RETURN .T.2 Comandos e Funções KEYBOAD CARACTER ENDCASE RETURN . // FUNÇÃO PARA TREMA . FUNCTION CRAZE // Esta função será chamada toda vez que a tecla(^)./ GEEK BRASIL – http://www.CHR(34) FUNCTION TREMA( ) // Esta função será chamada toda vez que a tecla(“).Clipper 5.T.br 112 .CHR(47) .ASPAS .T.com. // FUNÇÃO PARA O TRATAMENTO DE CEDILHA .geekbrasil. T.T.).geekbrasil.com. // FUNÇÃO PARA TRATAMENTO TO ACENTO TIL .2 Comandos e Funções FUNCTION CCEDILHA( ) // Esta função será chamada toda vez que a tecla(.CHR(126) FUNCTION TIL( ) // Esta função será chamada toda vez que a tecla(~). ou seja // CHR(126) for teclada TECLA := INKEY(0) CARACTERE:= CHR(TECLA) DO CASE CASE CARACTER = “A” KEYBOAD CHR(142) CASE CARACTER = “a” KEYBOAD CHR(132) CASE CARACTER = “O” KEYBOAD CHR(153) CASE CARACTER = “o” KEYBOAD CHR(148) OTHER SET KEY 126 TO KEYBOAD CARACTER ENDCASE RETURN .Clipper 5.br 113 . MEMOLINE( ) GEEK BRASIL – http://www. ou seja // CHR(47) for teclada // Para ativar a cedilha: </> + <C> TECLA := INKEY(0) CARACTERE:= CHR(TECLA) DO CASE CASE CARACTER = “C” KEYBOARD CHR(128) CASE CARACTER = “c” KEYBOARD CHR(135) OTHER SET KEY 44 TO KEYBOAD CARACTER ENDCASE RETURN . T.00 TO 24.NOT.T..78) IF .) NEXT SET PRINT OFF // desliga a impressora MEMOREAD( ) Propósito: do Sintaxe: Carregar o conteúdo de arquivo no formato de texto disco..I. MEMOREAD(<arquivo>). 01. Extrair uma linha de texto de um campo memo expressão caractere.geekbrasil.3.20 SAY “EDITOR DE TEXTOS EM CLIPPER” @ 10.01. Exemplo: // IMPRESSÃO DE CAMPOS MEMOS USE CLIENTES GOTO 3 T_LINHAS := MLCOUNT(OBS.br 114 .2 Comandos e Funções Propósito: ou Sintaxe: <número <rolagem>).79 DOUBLE EDITARQUIVO:= MEMOEDIT(EDITARQUIVO.Clipper 5. <tamanho da linha>.. Exemplo: // EDITOR DE TEXTOS CLEAR VARQUIVO:=SPACE(12) @ 05..40. MEMOLINE(<campo>.:” GET VARQUIVO READ EDITARQUIVO:= MEMOREAD(VARQUIVO) @ 00. MEMOWRIT(VARQUIVO.EDITARQUIVO) ? “NÃO FOI POSSÍVEL GRAVAR O TEXTO” ENDIF GEEK BRASIL – http://www.15 SAY “NOME DO ARQUIVO PARA EDITAR.com..40. da linha>. <tamanho da tabulação>.3.) // obtém a quantidade de // linhas SET PRINT ON // liga a saída da console para a impressora FOR I := 1 TO T_LINHAS ? MEMOLINE (OBS.23... 2 Comandos e Funções MEMORY( ) Propósito: do Sintaxe: Fornecer a quantidade computador.com.20 SAY “EDITOR DE TEXTOS EM CLIPPER” @ 10. Sintaxe: manual>. <Memo>). Exemplo: REPLACE OBS WITH MEMOTRAN(OBS.:” GET VARQUIVO READ EDITARQUIVO:= MEMOREAD(VARQUIVO) GEEK BRASIL – http://www. Substituir os caracteres de controles Carriage feeds em campos Memos ou em uma expressão MEMOTRAN(<campo>.. campo Memo Exemplo: // EDITOR DE TEXTOS CLEAR VARQUIVO:=SPACE(12) @ 05.br 115 . MEMOWRIT(<arquivo>. de memória disponível Exemplo: IF MEMORY(2)>= 128 // verificar a disponibilidade de 128 K de // memória livre.Clipper 5. <substituição <substituição automática>).. MEMORY(<valor>).” “) // retira todos os // caracteres de controle do texto. “ “.geekbrasil.15 SAY “NOME DO ARQUIVO PARA EDITAR..EXE ELSE ? “NÃO EXISTE MEMÓRIA DISPONÍVEL” ENDIF MEMOTRAN( ) Propósito: return/line caractere. RUN RELOGIO. MEMOWRIT( ) Propósito: ou Sintaxe: Gravar em um arquivo em disco um uma expressão caractere. T.3.. <tamanho tabulação>. MIN(<exp. <rolagem>).com.Clipper 5.78) IF .1. <exp.40. Exemplo: // IMPRESSÃO DE CAMPOS MEMOS USE CLIENTES GOTO 3 T_LINHAS := MLCOUNT(OBS. numérica 2>).) NEXT SET PRINT OFF // desliga a impressora GEEK BRASIL – http://www.NOT. <data 2>). MLCOUNT(<campo>. ou Exemplo: ? MIN (300.I.. MEMOWRIT (VARQUIVO.23.br 116 .40.geekbrasil.2 Comandos e Funções @ 00. 1.252) // resultado: 252 ? MIN (DATE( ).) // obtém a quantidade de // linhas SET PRINT ON // liga a saída da console para a impressora FOR I := 1 TO T_LINHAS ? MEMOLINE(OBAS. DATE( ) + 5) // resultado: o valor de date( ) MLCOUNT( ) Propósito: ou da Sintaxe: Fornecer a quantidade de linhas de um campo Memo expressão caractere. <tamanho>.79 DOUBLE EDITARQUIVO:= MEMOEDIT(EDITARQUIVO. numérica 1>.00 TO 24.T.3. EDITARQUIVO) ? “NÃO FOI POSSÍVEL GRAVAR O TEXTO” ENDIF MIN( ) Propósito: expressões Sintaxe: Fornecer o menor valor entre duas datas numéricas. MIN(<data 1>. MONTH(<data>).geekbrasil. <tamanho da linha>. tabulação>. 40. Realizar a conversão de um dado do tipo Data número inteiro referente ao mês da Data. Fornecer a posição de uma linha de texto dentro de campo Memo ou uma expressão caractere. MLPOS(<campo>. VALOR2). 15) MOD( ) Propósito: Sintaxe: MONTH( ) Propósito: um Sintaxe: Retorna o resto da divisão do primeiro valor pelo outro. NETERR( ). GEEK BRASIL – http://www. MOD(VALOR1.2 Comandos e Funções MLPOS( ) Propósito: um Sintaxe: linha>. Exemplo: TEXTO := MEMOREAD(“TESTE.TXT”) POSICAO := MLPOS(TEXTO. POSICAO. 5) ? SUBSTR(TEXTO. para Exemplo: SET DATE TO BRIT ? DATE( ) ? MONTH(DATE( ) ) // resultado: Mostra a data do sistema // resultado: Mostra o número do mês da data // do sistema.com. ? MONTH(CTOD(“11/10/92”)) // resultado: 10 NETERR( ) Propósito: de Sintaxe: Verificar se um comando de manipulação de arquivo dados falhou em ambiente de Rede Local.br 117 . <rolagem>).Clipper 5. <número <tam. ICEP ENDIF : : NETNAME( ) Propósito: Rede Exemplo: Sintaxe: Retornar a identificação da estação Local. LASTKEY( ) ? INKEY( ).com. LASKTKEY( ) ? NEXTKEY( ) OS( ) Propósito: Sintaxe: // escreve no buffer o caractere “A” // resultado: 27 27 // resultado: 27 27 // resultado: 0 Fornecer o nome do sistema operacional. OS( ). ? NETNAME( ) NEXTKEY( ) corrente // resultado: ESTAÇÃO 3 Retornar o código (ASCII) do buffer de teclado.2 Comandos e Funções Exemplo: USE MALA SHARED // abre o arquivo no modo compartilhado IF NETERR( ) // se houver erro no comando anterior ? “ARQUIVO NÃO DISPONÍVEL” ELSE SET INDEX TO INOME. Exemplo: GEEK BRASIL – http://www. Propósito: no Sintaxe: na NETNAME( ). caractere pendente NEXTKEY( ).Clipper 5. Exemplo: KEYBOARD “A” ? NEXTKEY( ).geekbrasil.br 118 . 10 SAY DATE( ) @ 10. <tamanho>.Clipper 5. PCOL( ) +5 SAY TIME( ) SET DEVICE TO SCREEN PCOUNT( ) Propósito: rotina Determinar o número de parâmetros recebidos pela a ser executada.20.20.20. <caractere>) PADC(<variável|valor>.2 Comandos e Funções ? OS( ) // resultado: DOS 5.com. <tamanho>. à coluna PCOL( ).”=“) PCOL( ) Propósito: da Sintaxe: // resultado: =====ÉRICA======= // resultado: ============ÉRICA // resultado: ÉRICA============ Devolver a posição numérica referente cabeça de impressão.0 PAD( ) Propósito: em ou Sintaxe: Proporcionar o preenchimento de caracteres variáveis ou valores dos tipos numérico. Exemplo: SET DEVICE TO PRINT @ 10. <tamanho>.br 119 . data caractere. <caractere>) Exemplo: DADO1:= “ÉRICA” DADO2:= “ÉRICA” DADO1:= “ÉRICA” ? PADC(DADO1.”=“) ? PADR(DADO1. GEEK BRASIL – http://www.geekbrasil. PADL(<variável|valor>.”=“) ? PADL(DADO1. <caractere>) PADR(<variável|valor>. 2 Comandos e Funções Sintaxe: PCOUNT( ).geekbrasil. NÃO FORAM PASSADOS OS VALORES PARA COMPARAÇÃO” RETURN ENDIF ? PROCLINE( ) // resultado: 11 IF VALOR1 = VALOR2 RETURN .com.T.Clipper 5. VALOR2) IF PCOUNT( ) = 0// se não foi passado nenhum parâmetro ? “ERRO. NÃO FORAM PASSADOS OS VALORES PARA COMPARAÇÃO” RETURN ENDIF IF VALOR1 = VALOR2 RETURN .br que foi ou está 120 . ELSE RETURN .F. PROCLINE(<ativação>). Exemplo: FUNCTION COMPARA(VALOR1.F. ELSE RETURN .B) : : <instruções> : FUNCTION COMPARA(VALOR1. Exemplo: A:= 37 B:= 39 IF COMPARA(A.T. ENDIF PROCNAME( ) Propósito: sendo Sintaxe: Fornecer o nome da rotina executada. VALOR2) IF PCOUNT( ) = 0// se não foi passado nenhum parâmetro ? “ERRO. ENDIF PROCLINE( ) Propósito: Sintaxe: Fornecer o número de linhas de um programa fonte. GEEK BRASIL – http://www. PROCNAME(<ativação>). 10 SAY TIME( ) SET DEVICE TO SCREEN QOUT( ) Propósito: Sintaxe: // imprime a hora na linha 11 Exibe uma lista de expressões no console. 10 SAY DATE( ) @ PCOL( ) +1. Exemplo: QOUT (DATE( ). PROW( ). TIME( ) ) QOUT (“EDITORA ERICA”) QQOUT( ) Propósito: mesma Sintaxe: Exibe uma lista de expressões linha. no console na Exemplo: QQOUT (DATE( ).br 121 . QQOUT(<lista de expressões>).Clipper 5. TIME( ) ) QQOUT (“EDITORA ERICA”) GEEK BRASIL – http://www.2 Comandos e Funções PROW( ) Propósito: da Sintaxe: Fornecer o número da linha do posicionamento atual cabeça da impressão. QOUT(<lista de expressões>). Exemplo: SET DEVICE TO PRINT @ 10.geekbrasil.com. :” GET ENDEREÇO READ READINSERT( ) Propósito: Sintaxe: Ligar ou desligar o modo de inserção...Clipper 5.br 122 .PA”) READEXIT( ) Propósito: para Sintaxe: Ligar ou desligar as teclas de seta para cima e baixo como saídas de um READ.>). de Exemplo: ? RAT(“RJ”. “SP_RJ_RS.....) // liga a saída através das teclas ENDERECO:= NOME:= SPACE(30) @ 10.10 SAY “ENDEREÇO...geekbrasil. RAT(<expressão caractere>......T.T.10 SAY “TECLE <F2> PARA INSERÇÃO” @ 10.2 Comandos e Funções RAT( ) Propósito: uma Sintaxe: Retorna o endereço da última ocorrência expressão dentro de uma string...:” GET ENDEREÇO SET KEY -1 TO INSERE( ) GEEK BRASIL – http://www.T..>). Exemplo: CLEAR READEXIT(.10 SAY “NOME.:” GET NOME @ 12.... READINSERT(<.10 SAY “ENDEREÇO.. <string>)...com.. Exemplo: CLEAR ENDERECO:= NOME:= SPACE(30) @ 23.F..>|<.F.. seta READEXIT(<.>|<..10 SAY “NOME.:” GET NOME @ 12. F...:” GET NOME @ 12.......:” GET ENDEREÇO READ FUNCTION TESTE( ) IF READVAR + “NOME” ? “VOCÊ ESTA PROCESSANDO A VARIÁVEL DO NOME” ELSEIF READVAR = “ENDEREÇO” GEEK BRASIL – http://www....) @ 00..) @ 00......... READKEY( ).. READVAR( ).10 SAY “NOME.. Devolver o nome da variável GET ou MENU TO atual.com..Clipper 5.geekbrasil.2 Comandos e Funções READ FUNCTION INSERE( ) IF READINSERT( ) // insert ligado READINSERT(.br 123 .........65 SAY “ ” ELSE READINSERT(.T.. Exemplo: CLEAR SET KEY -2 TO TESTE( ) // tecla F2 para rodar a função teste( ) NOME:= ENDERECO:= SPACE(30) @ 10... 65 SAY “INSERE” ENDIF RETURN READKEY( ) um Propósito: Fornecer o número da última Sintaxe: READ.10 SAY “ENDEREÇO.. tecla que encerrou READMODAL( ) Propósito: Sintaxe: READVAR( ) Propósito: Sintaxe: Executar uma lista de GET’s. READMODAL(<vetor de GET’s>).. RECSIZE( ). Propósito: Retornar o número de registro do arquivo de dados Sintaxe: RECCOUNT( ).Clipper 5.br 124 .com.2 Comandos e Funções ? “VOCÊ ESTA PROCESSANDO A VARIÁVEL DO ENDEREÇO” ENDIF RETURN RECCOUNT( ) atual. Exemplo: USE MALA GO 1 ? RECNO( ) SKIP + 3 ? RECNO( ) // resultado: 1 // resultado: 4 RECSIZE( ) Propósito: Sintaxe: Devolver o tamanho em Bytes do registro do arquivo. Exemplo: GEEK BRASIL – http://www. Exemplo: USE MALA ? RECCOUNT( ) COUNT TO TOTALREG ? TOTAL REG SET DELETE ON ? RECCOUNT( ) COUNT TO TOTALREG ? TOTAL REG RECNO( ) Propósito: Sintaxe: // resultado: 115 // resultado: 115 // omite os registro deletados // resultado: 115 // resultado: 94 Retorna o número do registro corrente. RECNO( ).geekbrasil. 2 Comandos e Funções USE MALA ? “TAMANHO TOTAL DO ARQUIVO” ?? RECSIZE( ) * LASTREC( ) + HEADER( ) REPLICATE( ) Propósito: repetição Sintaxe: Retornar uma cadeia de caracteres contendo de um ou mais caracteres. RESTSCREEN (<L_inicial>. Restaurar uma área de tela anteriormente gravada em região específica do vídeo.70) CLEAR RESTCREEN(10.br partir de 125 .70. GEEK BRASIL – http://www.Clipper 5.10. 5) ? REPLICATE(“CASA”. <tela>). Exemplo: CLEAR @ 10.10. <C_inicial>.70 DOUBLE A:= SAVESCREEN(10.20. <quantidade>).com. <C_Final>. REPLICATE(<caractere(s)>.geekbrasil.20.A) RIGHT( ) Propósito: uma // desenha uma moldura // salva a tela // limpa a tela Devolver uma substring de uma string a determinada posição à direita. 3) // resultado: ======= // resultado: CASACASACASA RESTSCREEN( ) Propósito: uma Sintaxe: <L_Final>. a Exemplo: ? REPLICATE(“=“.10 TO 20. do banco de dados RLOCK( ). Exemplo: GEEK BRASIL – http://www. Exemplo: USE MALA SHARED SEEK “JOÃO” IF RLOCK( ) DELETE ? “REGISTRO DELETADO!!!” ELSE ? “REGISTRO NÃO PODE SER TRAVADO (ALTERADO) NESTE.2) ? ROUND(103.34 103. 0) ROW( ) Propósito: se Sintaxe: // resultado: // resultado: 103. Exemplo: ? ROUND(103.00 Devolver o número da linha em vídeo na qual o cursor encontra posicionado. ROW( ).geekbrasil. <casas decimais>). 5) RLOCK( ) Propósito: em Sintaxe: // resultado: ERICA Travar o registro corrente ambiente de Rede Local. MOMENTO” ENDIF ROUND( ) Propósito: Sintaxe: Arredondar expressões numéricas.Clipper 5.br 126 . Exemplo: ? RIGHT (“EDITORA ERICA”. <posição>).33855.338556.2 Comandos e Funções Sintaxe: RIGHT(<string>. ROUND(<valor numérico>.com. br 127 . 10 SAY “TESTE @ ROW( ) .com. RTRIM(<exp. de Exemplo: CEP :=”11020202” ESTADO := “SP” + SPACE(10) ? ESTADO + CEP ? RTRIM(ESTADO)+CEP // estado = “SP” // resultado : SP 11020202 // resultado: SP 11020202 SAVESCREEN( ) Propósito: Sintaxe: <L_Final>.70.70) // salva a tela ? “TECLE ALGO” INKEY(0) CLEAR // limpa a tela RESTSCREEN(10.2 Comandos e Funções CLEAR @ 10.20.10. RESTCREEN (<L_inicial>. <C_inicial>.10 SAY “TESTE NA LINHA @ ROW( ) + 1.20.70 DOUBLE // desenha uma moldura A := SAVESCREEN(10.10 TO 20. 10 SAY “TESTE RTRIM( ) Propósito: uma Sintaxe: 10” NA LINHA 13” NA LINHA 12” 20” NA LINHA 21” Remover espaços em branco existentes no final expressão caractere. Salvar uma área especifica da tela.geekbrasil.10 SAY “TESTE NA LINHA @ ROW( ) + 3. <tela>). <C_Final>.Clipper 5.1.10. 10 SAY “TESTE @ 20.A) // restaura a tela anteriormente salva GEEK BRASIL – http://www. Exemplo: CLEAR @ 10. caractere>). geekbrasil. <linhas a rolar>). C_I.Clipper 5. C_I. L_F. C_F. C_I. SELECT(<nome da área>). 1) // rola um linhas para cima @ L_F. da hora atual SECONDS( ).2 Comandos e Funções SCROLL( ) Propósito: Sintaxe: <L_Final>. <C_inicial>.com. FUNCTION MOSTRAROLA (L_I.) SCROLL (L_I. <C_Final>. Exemplo: Rolar uma área da tela para baixo ou para cima. L_F. C_I SAY DADO RETURN SECONDS( ) Propósito: do Sintaxe: Devolver a quantidade em segundos sistema. GEEK BRASIL – http://www.br 128 . SCROLL (<L_inicial>. Exemplo: USE MALA NEW ? SELECT( ) USE CLIENTES NEW ? SELECT( ) ? SELECT(“MALA”) SETCANCEL( ) Propósito: // resultado: 1 // resultado: 2 // resultado: 1 Ligar/desligar a tecla ALT-C. Exemplo: ? TIME( ) ? SECONDS( ) SELECT( ) Propósito: Sintaxe: // resultado: 10:00 // resultado: 36000 Devolver o número da área de trabalho especificada. ..... verificar a Exemplo: ATUAL := SETCOLOR( ) // armazena as cores atuais em uma // variável...10 SAY “NOME.. Exemplo: CLEAR NOME := ENDEREÇO := SPACE(30) // inicializa as variáveis SETCURSOR(1) @ 10.. SETCURSOR(<valor>).com. SETCOLOR(<cor nova>).F.|....10 SAY “ENDEREÇO.).PRG AUTOR: GORKI STARLIN */ SET DELETE ON SET CONFIRM ON SETCANCEL(....) SETCOLOR( ) Propósito: configuração Sintaxe: // desliga a saída via ALT-C..:” GET NOME SETCURSOR(3) @ 12.. Exemplo: /* PROGRAMA: PRINCIPAL.2 Comandos e Funções Sintaxe: SETCANCEL(.. DESTAQUE) SETCURSOR( ) Propósito: Sintaxe: // configura um novo padrão de // cores.br 129 .geekbrasil....:” GET ENDEREÇO READ GEEK BRASIL – http://www... Configurar a forma do cursor.. Setar novas cores do vídeo ou atual das mesmas..T..F. PADRÃO := “BR+/N” DESTAQUE := “R+/N” SET COLOR(PADRÃO..Clipper 5.. coluna>).Clipper 5. a Determinar uma nova posição para o cursor na tela.geekbrasil. Converter uma expressão caractere para fonética.10) “TESTE” SETPRC( ) Propósito: Sintaxe: Configurar os valores de PROW( ) e PCOL( ).20) “TESTE” SETPOS(20. Exemplo: SET DEVICE TO PRINTER SETPRC(10. PCOL( ) SAY “TESTE” SOUNDEX( ) Propósito: expressão Sintaxe: // na linha 10 coluna 15 do // “papel”.2 Comandos e Funções SETKEY( ) Propósito: uma Sintaxe: SETPOS( ) Propósito: Sintaxe: Associar um bloco de código (Code Block) determinada tecla. SETKEY(<código da tecla>. <code block>). SOUNDEX( <expressão caractere>). SETPRC(<linha>.com. SETPOS(<linha. <coluna>). Exemplo: ? ? ? ? SETPOS(10.15) @ PROW( ).br uma 130 . GEEK BRASIL – http://www. <casas decimais>). GEEK BRASIL – http://www.2 Comandos e Funções Exemplo: USE MALA INDEX ON SOUNDEX(NOME) TO INOME. Exemplo: ? SQRT(2) ? SQRT(4) // resultado: // resultado: STR( ) Propósito: expressão Sintaxe: 1.00 Converter uma expressão numérica em uma caractere. SPACE(<tamanho>). <comprimento>. ENDEREÇO.NTX SEEK SOUNDEX (“JOÃO”) // pesquisa a fonética do nome JOÃO IF FOUND( ) DISPLAY NOME. STR(<valor numérico>.com.br 131 . CIDADE ELSE ? “NÃO ENCONTRADO” ENDIF SPACE( ) Propósito: Sintaxe: Gerar espaços em branco. Exemplo: NOME := SAPCE( )// armazena 30 espaço dentro da variável ? “TESTE! + SPACE(20) + “TESTE2” SQRT( ) Propósito: Sintaxe: Devolver a raiz quadrada de uma expressão numérica.Clipper 5.geekbrasil.41 2. SQRT(<expressão numérica>). [<quantidade>]). 2. <retirar>. <tamanho>).2 Comandos e Funções Exemplo: SALÁRIO := 3020. STUFF(<string>. <anexar>).Clipper 5. [<posição início>]. // resultado: 3030 // resultado: 3020. 2.29 ? SRT(SALARIO. STRTRAN(<string>. 0. <posição inicial>. SUBSTR(<string>. Exemplo: GEEK BRASIL – http://www.X E CLIPPER 87” ? STRTRAN(TEXTO.7. 6.0 E // VERSÃO 87 Anexar e retirar caracteres de uma string.3) STRTRAN( ) Propósito: campo Sintaxe: <substituição>.com. “OAO”) // extrair e depois inserir ? STUFF(TESTE1. Exemplo: TEXTO:= “CLIPPER 5. “OAO”) SUBSTR( ) Propósito: Sintaxe: // resultado: JOÃO CARLOS // resultado: JOÃO Extrair uma seqüência de caracteres de uma string. <início>.290 Localiza e trocar caracteres de uma string ou memo.4) ? SRT(SALARIO. Exemplo: // somente inserir TESTE := “JCARLOS” ? STUFF(TESTE1. <caracteres>.br 132 .geekbrasil. “VERSÃO”) STUFF( ) Propósito: Sintaxe: // resultado: VERSÃO 5.”CLIPPER”. 18) TONE(200.com. TIME( ). Exemplo: CLEAR @ 10.br // resultado: EDITORA ERICA 133 .:” + TIME( ) TONE( ) Propósito: duração Sintaxe: Executar uma freqüência sonora especificada. “@!”) GEEK BRASIL – http://www. 7) TIME( ) Propósito: Sintaxe: // resultado: JOÃO // resultado: CARLOS Devolver a hora do sistema. 4) ? SUBSTR(TESTE1.. <duração>)... 5. 1.. uma cadeia Exemplo: ? TRANSFORM(“EDITORA ERICA”. TONE(<freqüência>.Clipper 5.. <formato>). TRANSFORM(<valor>.2 Comandos e Funções TESTE1 := “JOÃO CARLOS” ? SUBSTR(TESTE1.10 SAY “HORA ATUAL.geekbrasil.26) TRANSFORM( ) Propósito: de Sintaxe: Transformar qualquer valor para caracteres com um formato definido. com uma Exemplo: BEEP( ) FUNCITION BEEP TONE(300. :” GET VENDERECO PICT “@!” READ IF ..10 SAY “ENDEREÇO.T...... UPPER(<string>)..br 134 ..geekbrasil. CLEAR @ 07.. Exemplo: GEEK BRASIL – http://www. Exemplo: VALOR := 1919 NOME := “JOÃO” BLOCO := {|| L++} ? TYPE(“VALOR”) ? TYPE(“NOME”) ? TYPE(“BLOCO”) UPDATED( ) Propósito: em Exemplo: Sintaxe: // resultado: N // resultado: C // resultado: B Verificar se os Get’s foram alterados durante a edição tela..2 Comandos e Funções TYPE( ) Propósito: Sintaxe: Identificar qual o tipo de uma informação..com. TYPE(<dado>).Clipper 5.15 SAY “CADASTRAMENTO” VNOME := SPACE(30) VENDERECO := SPACE(40) @ 10.10 SAY “NOME..:” GET VNOME PICT “@!” @ 12. UPDATED( )... UPDATED( ) // se não foi alterado LOOP // sobe ao DO WHILE ENDIF APPEND BLANK REPLACE NOME WITH VNOME REPLACE ENDEREÇO WITH VENDERECO ENDDO UPPER( ) Propósito: Sintaxe: Transforma as letras de uma string para maiúsculas. USE MALA DO WHILE ...NOT. Exemplo: USE MALA NEW // abre o arquivo de dados MALA USE CLIENTES NEW// abre o arquivo de dados CLIENTES ? USED( ) // resultado: .DBF) SELECT MALA // seleciona a área de trabalho do MALA ? USED( ) // resultado: . Propósito: Especificar o tipo do dado retornado por uma Sintaxe: VALTYPE(<dado>). (NÃO EXISTE .20 SAY “NOME.DBF NESTA ÁREA DE TRABALHO) VAL( ) Propósito: valor Sintaxe: Converter uma numérico. expressão caractere em um Exemplo: SALÁRIO := “2929.F.20” ? VAL (SALÁRIO) * 2 TESTE := “COMPUTADOR” ? VAL(TESTE) // resultado: 0 VALTYPE( ) expressão.Clipper 5...:” + UPPER(NOME) USED( ) Propósito: de Sintaxe: Verificar se existe arquivo de dados (.com.DBF) trabalho selecionada..geekbrasil. VAL(<string>).. (CLIENTES.DBF) USE // fecham o arquivo de dados mala ? USED( ) // resultado: . na área USED( ).T....br 135 .T. Exemplo: ? VALTYPE(STR( ) ) ? VALTYPE(SQRT( )) // retorna: “C” // retorna: “N” GEEK BRASIL – http://www. (MALA.2 Comandos e Funções NOME := “EDITORA ERICA” ? UPPER(NOME) // resultado: EDITORA ERICA @ 20. YEAR( ) Propósito: Sintaxe: Clipper 5. Exemplo: SET DATE BRIT ? YEAR (DATE( ) ) // resultado: DATA := CTOD (“20/12/93”) ? YEAR (DATA) // resultado: 93 93 \!!!!!!/ (õõ) ------------oOOO--(_)------------------------| Arquivo baixado da GEEK BRASIL GEEK BRASIL – http://www.Clipper 5. CALL progC WITH WORD (10200). Exemplo: ? VERSION( ) WORD( ) Propósito: um Exemplo: Sintaxe: // resultado: Transformar um parâmetro que será passado para comando CALL de DOUBLE para INT. VERSION( ).geekbrasil. WORD(<valor numérico>).2 “um texto qualquer” Devolver o ano de uma data.br | 136 . YEAR(<data>).2 Comandos e Funções ? VALTYPE(2929) ? VALTYPE(“JOÃO”) VERSION( ) Propósito: Sintaxe: // retorna: “N” // resultado: “C” Identificar a versão da linguagem Clipper.com. Clipper 5.com.2 Comandos e Funções | O seu portal de informática e internet | http://www.br 137 .br | Dúvidas ou Sugestões? | [email protected] | | | | --------------------------oOOO---------------|__| |__| || ooO || Ooo GEEK BRASIL – http://www.geekbrasil.
Copyright © 2024 DOKUMEN.SITE Inc.