Apostila de Clipper 5.2
Apostila de Clipper 5.2
Apostila de Clipper 5.2
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 GETS.......................................................................................................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
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
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
STATIC...................................................................................................................56
STORE....................................................................................................................57
SUM........................................................................................................................57
TEXT.......................................................................................................................57
TOTAL....................................................................................................................58
TYPE.......................................................................................................................58
UNLOCK................................................................................................................58
UPDATE.................................................................................................................59
USE.........................................................................................................................59
WAIT......................................................................................................................59
ZAP.........................................................................................................................60
FUNES DA LINGUAGEM CLIPPER 5.2...................................................................60
AADD( )..................................................................................................................60
ABS( ).....................................................................................................................61
ACHOICE( )...........................................................................................................61
ACLONE( ).............................................................................................................62
ACOPY( )................................................................................................................62
ADEL( )...................................................................................................................62
ADIR( )...................................................................................................................63
AEVAL( )................................................................................................................63
AFIELDS( ).............................................................................................................64
AFILL( )..................................................................................................................64
AINS( )....................................................................................................................64
ALERT( )................................................................................................................64
ALIAS( ).................................................................................................................65
ALLTRIM( )...........................................................................................................65
ALTD( )...................................................................................................................66
ARRAY( )...............................................................................................................66
ASC( ).....................................................................................................................66
ASCAN( )................................................................................................................67
ASIZE( )..................................................................................................................67
ASORT( )................................................................................................................67
AT( )........................................................................................................................68
ATAIL( ).................................................................................................................68
BIN2( )....................................................................................................................69
BIN2L( )..................................................................................................................69
BIN2W( )................................................................................................................69
BOF( ).....................................................................................................................69
BROWSE( )............................................................................................................69
CDOW( ).................................................................................................................70
CMONTH( )............................................................................................................70
COL( ).....................................................................................................................71
CLORSELECT( )....................................................................................................71
CTOD( )..................................................................................................................71
CURDIR( )..............................................................................................................72
DATE( )...................................................................................................................72
DAY( ) ....................................................................................................................72
DBAPPEND( )........................................................................................................72
DBCLEARFILTER( ).............................................................................................74
DBCLEARINDEX( )..............................................................................................75
DBCLEARRELATION( )......................................................................................75
DBCLOSEALL( )...................................................................................................75
DBCOMMIT( ).......................................................................................................75
DBCOMMITALL( )...............................................................................................76
DBCREATE( )........................................................................................................76
DBCREATEINDEX( )...........................................................................................76
DBDELETE( )........................................................................................................77
DBEDIT( )..............................................................................................................78
DBEVAL( ).............................................................................................................79
DBF( ).....................................................................................................................79
DBFILTER( )..........................................................................................................80
DBGOTOBOTTOM( )...........................................................................................80
DBGOTO( )............................................................................................................80
DBGOTOP( )..........................................................................................................81
DBRECALL( )........................................................................................................81
DBREINDEX( )......................................................................................................81
DBRELATION( )...................................................................................................81
DBRSELECT( )......................................................................................................82
DBSEEK( )..............................................................................................................82
DBSELECTAREA( )..............................................................................................83
DBSETDRIVER( ).................................................................................................83
DBSETINDEX( )....................................................................................................84
DBSETORDER( )...................................................................................................84
DBSETRELATION( )............................................................................................84
DBSKIP( )...............................................................................................................85
DBSTRUCT( )........................................................................................................85
DBUNLOCKALL( )...............................................................................................85
DBUSEAREA( ).....................................................................................................86
DELETED( )...........................................................................................................86
DESCEND( )...........................................................................................................86
DEVPOS( )..............................................................................................................87
DEVOUTPICT( )....................................................................................................87
DIRECTORY( )......................................................................................................87
DISKSPACE( ).......................................................................................................88
DOSERROR( )........................................................................................................88
DOW( )....................................................................................................................88
DTOC( )..................................................................................................................89
EMPTY( )................................................................................................................89
EOF( )......................................................................................................................89
ERRORLOCK( ).....................................................................................................90
ERRORLEVEL( )...................................................................................................90
EVAL( )...................................................................................................................90
EXP( )......................................................................................................................90
FCLOSE( )..............................................................................................................91
FCOUNT( ).............................................................................................................91
FCREATE( )...........................................................................................................91
FERASE( )..............................................................................................................92
FERROR( )..............................................................................................................92
FIELD( )..................................................................................................................92
FILE( ).....................................................................................................................93
FKLABEL( )...........................................................................................................93
FKMAX( )...............................................................................................................93
FLOCK( )................................................................................................................94
FOPEN( )................................................................................................................94
FOUND( )...............................................................................................................94
FREAD( )................................................................................................................95
FREADSTR( ).........................................................................................................95
FRENAME( )..........................................................................................................96
FSEEK( ).................................................................................................................96
FWRITE( )..............................................................................................................96
GETENV( ).............................................................................................................97
HARDCR( )............................................................................................................97
HEADER( ).............................................................................................................97
IF( )..........................................................................................................................98
INDEXEXT( ).........................................................................................................98
INDEXKEY( )........................................................................................................98
INDEXORD( )........................................................................................................99
INKEY( ).................................................................................................................99
INT( ).......................................................................................................................99
ISALPHA( )..........................................................................................................100
ISCOLOR( )..........................................................................................................100
ISDIGIT( ).............................................................................................................100
ISLOWER( ).........................................................................................................100
ISPRINTER( ).......................................................................................................101
ISUPPER( )...........................................................................................................101
I2BIN( ).................................................................................................................102
LASTKEY( ).........................................................................................................102
LASTREC( ).........................................................................................................102
LEFT( )..................................................................................................................102
LEN( )...................................................................................................................103
LENNUM( )..........................................................................................................103
LOG( )...................................................................................................................103
LOWER( ).............................................................................................................104
LTRIM( )...............................................................................................................104
LUPDATE( ).........................................................................................................104
L2BIN( )................................................................................................................104
MAX( )..................................................................................................................105
MAXCOL( )..........................................................................................................105
MAXROW( )........................................................................................................105
MEMOEDIT( )......................................................................................................105
MEMOLINE( )......................................................................................................109
MEMOREAD( )....................................................................................................110
MEMORY( ).........................................................................................................110
MEMOTRAN( )....................................................................................................111
MEMOWRIT( )....................................................................................................111
MIN( )...................................................................................................................111
MLCOUNT( ).......................................................................................................112
MLPOS( )..............................................................................................................112
MOD( )..................................................................................................................113
MONTH( )............................................................................................................113
NETERR( )............................................................................................................113
NETNAME( )........................................................................................................113
NEXTKEY( )........................................................................................................114
OS( )......................................................................................................................114
PAD( )...................................................................................................................114
PCOL( ).................................................................................................................115
PCOUNT( )...........................................................................................................115
PROCLINE( )........................................................................................................116
PROCNAME( ).....................................................................................................116
PROW( )................................................................................................................116
QOUT( )................................................................................................................117
QQOUT( ).............................................................................................................117
RAT( )...................................................................................................................117
READEXIT( ).......................................................................................................117
READINSERT( )..................................................................................................118
READKEY( )........................................................................................................118
READMODAL( ).................................................................................................119
READVAR( )........................................................................................................119
RECCOUNT( )......................................................................................................119
RECNO( )..............................................................................................................120
RECSIZE( )...........................................................................................................120
REPLICATE( )......................................................................................................120
RESTSCREEN( )..................................................................................................121
RIGHT( )...............................................................................................................121
RLOCK( )..............................................................................................................121
ROUND( ).............................................................................................................122
ROW( )..................................................................................................................122
RTRIM( )...............................................................................................................122
SAVESCREEN( ).................................................................................................123
SCROLL( )............................................................................................................123
SECONDS( ).........................................................................................................123
SELECT( )............................................................................................................124
SETCANCEL( )....................................................................................................124
SETCOLOR( )......................................................................................................124
SETCURSOR( )....................................................................................................125
SETKEY( )............................................................................................................125
SETPOS( ).............................................................................................................125
SETPRC( )............................................................................................................125
SOUNDEX( )........................................................................................................126
SPACE( )...............................................................................................................126
SQRT( ).................................................................................................................126
STR( )....................................................................................................................127
STRTRAN( ).........................................................................................................127
STUFF( )...............................................................................................................127
SUBSTR( )............................................................................................................128
TIME( ).................................................................................................................128
TONE( ).................................................................................................................128
TRANSFORM( )...................................................................................................129
TYPE( ).................................................................................................................129
UPDATE( )...........................................................................................................129
UPPER( )...............................................................................................................130
USED( ).................................................................................................................130
VALL( ).................................................................................................................130
VALTYPE( ).........................................................................................................131
VERSION( )..........................................................................................................131
WORD( )...............................................................................................................131
YEAR( )................................................................................................................132
Exemplo:
CLEAR
/ / limpa a tela
? Exemplo do comando ?
/ / exibe a informao no vdeo
? date ( )
/ / exibe a data ( nova linha )
? a data de hoje ..:
?? date ( )
/ / exibe na mesma posio anterior do cursor
@... BOX
Propsito:
Sintaxe:
final>,
Exemplo:
LOCAL C,L
/*
MODULO :
FUNO:
M.PRG
ACESSAR TODOS OS PROGRAMAS
*/
SAVE SCREEN TO TECLADOS
CLEAR
SET DATE BRIT
SET CONFIRM ON
SET DELETE ON
DO WHILE .T.
CLEAR
SET WRAP ON
SET MESSAGE TO 23 CENTER
SET COLOR TO B/W
REBOX=CHR (201) +CHR (205) +CHR (187) +CHR (186) +;
CHR (188) +CHR (205) +CHR (200) +CHR (186)
PRIVATE=EMPRESA:= FACULDADES REUNIDAS LTDA
L = 08
C = 22
CLEAR
@ 00,00,03,39 BOX RETBOX
@ 00,40,03,79 BOX RETBOX
@ 04,00,21,79 BOX RETBOX+CHR (177)
@ 22,00,24,79 BOX RETBOX
@ 01,02 SAY EMPRESA
@ 01,42 SAY CONTROLE DE FACULDADE
@ 01,70 SAY DATE( )
@ 02,42 SAY MODULO PRINCIPAL
@ . . . CLEAR
Propsito:
Sintaxe:
>
CLEAR
Exemplo:
SET COLOR TO B+/W
/ / muda a cor
CLS
// equivalente a CLEAR, ou seja limpa toda a
tela
SET COLOR TO W+/N
/ / estabelece um novo padro de
cor
@ 10,10 CLEAR TO 20,20
/ / limpa uma regio da
tela
@ 10,10 TO 20,20 DOUBLE
/ / desenha uma moldura
(quadro)
@. . . SAY. . . GET
Propsito:
Sintaxe:
dados),
SAY>] ]
[WHEN<condio>]
[RANGE <inicial>,<final>]
[VALID < condio> ]
Exemplo:
SAY
@. . . PROMPT
Propsito:
Sintaxe:
MESSAGE
Exemplo:
Local OPC : = 1
SET WRAP ON
ENDCASE
INKEY(0)
ENDDO
// aguarda QQ tecla
@. . . TO
Propsito:
coordenadas
Sintaxe:
<colunaF>
partir
TO
de
<linhaF>,
[DOUBLE]
Exemplo:
SET COLOR TO B+/N
@ 10,10 CLEAR TO 20,20
@ 10,10 TO 20,20 DOUBLE
ACCEPT
Propsito:
o
Sintaxe:
Exemplo:
Local Vnome
CLEAR
// limpa a tela
ACCEPT Digite o nome....: TO VNOME
? NOME QUE VOC DIGITOU FOI....:, VNOME
APPEND BLANK
Propsito:
Sintaxe:
APPEND BLANK
dados
banco de
Exemplo:
Local Codvar, OP
/*
*/
USE FOLHA INDEX CODX,NOMEX
DO WHILE .T.
// lay out
CLEAR
SET COLOR TO W+/N
SET COLOR TO
@ 01,01 TO 24,79 DOUBLE
@ 02,02 TO 04,78
@ 03,03 SAY SRIOS INFORMTICA
@ 03,60 SAY ATE( )
@ 03,70 SAY TIME( )
// criar variveis
CODVAR
= 0
SETORVAR
= 0
SALARIOVAR = 0
NOMEVAR
= SPACE(35)
CARGOVAR
= SPACE(15)
ATIVOVAR
= (.T.)
DATAVAR
= CTOD ( / / )
// entrada de dados
@ 06,10 SAY ** CADASTRAMENTO DE FUNCIONRIOS **
@ 08,10 SAY CDIGO...........: GET CODVAR PICTURE 9999
READ
IF CODVAR = 0
// verifica se o usurio no digitou o cdigo
OP: = S // cria a varivel
OP
@ 21,15 SAY SAI DESTE MODULO.(S/N)..: GET OP PICT A
READ
IF OP = S
// verifica a resposta do usurio
RETURN
// retorne
ENDIF
// sobe a execuo para linha do DO WHILE
// fim do se
SEEK CODVAR
// pesquisa no ndice o contedo da varivel
// CODVAR
IF EOF( )
// se no existe
APPEND BLANK
// tenta criar um registro em branco
//
entra
com
o
restante
dos
dados
do
funcionrio
@ 10,10 SAY NOME FUNCIONRIO..: GET NOMEVAR PICTURE @!
@ 12,10 SAY SETOR TRABALHO....: GET SETORVAR PICT @9
@ 14,10 SAY CARGO FUNCIONAL...: GET CARGOVAR PICT @!
@ 16,10 SAY SALRIO...........: GET SALARIOVAR PICT 9999999.99
@ 18,10 SAY FUNCIONRIO ATIVO.: GET ATIVOVAR
@ 20,10 SAY DATA ADMISSO.....: GET 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 SALRIO WITH SALARIOVAR
@ 21,20 SAY ** CADASTRO **
WAIT
// aguarda QQ tecla
COMMIT
// atualiza fisicamente o registro
ELSE
// se no
@ 21,20 SAY ** REGISTRO J CADASTRADO **
WAIT
// aguarda QQ tecla
ENDIF
LOOP
ENDIF
ENDDO
APPEND FROM
Propsito:
o
de
Sintaxe:
<campos>]
Exemplo:
USE FOLHA
APPEND FROM COPIAF FOR .NOT. DELETED( )
// copia apenas os
//registros no marcados
? termino da copia
AVERAGE
Propsito:
de
Sintaxe:
Exemplo:
USE FOLHA
// abre o arquivo de dados
AVERAGE SALRIO, COMISSO TO vcom
// calcula e armazena nas
// variveis
? media salarial....:+str(vsal)
? media das comisses...:+str(vcom = A
// calcula a media
// salarial, armazenando o
// resultado na varivel VSAL,
//
porm
somente
dos
funcionrios
// que trabalhem no setor A.
BEGIN SEQUENCE
Propsito:
Sintaxe:
. . . COMANDOS
. . . COMANDOS
END [ SEQUENCE ]
Exemplo:
Local Contador, Intervalo
CONTADOR :=0
INTERVALO :=0
DO WHILE CONTADOR < 50
BEGIN SEQUENCE
CONTADOR++
IF CONTADOR > INTERVALO
BREAK CONTADOR
ENDIF
RECOUVER USING CONTADOR
? BLOCO DEFINIDO, CONTADOR =+STR (CONTADOR)
INTERVALO+ = 5
END SEQUENCE
? SAI FORA DO BEGIN SEQUENCE
ENDDO
? LOOP TERMINADO
CALL
Propsito:
de
Sintaxe:
CANCEL
Propsito:
Interromper a execuo do
executado.
Sintaxe:
CANCEL
sendo
programa
que
est
CLEAR ALL
Propsito:
Fecha
Sintaxe:
CLEAR ALL
memria
CLEAR GETS
Propsito:
Sintaxe:
CLEAR GETS
CLEAR MEMORY
Propsito:
Sintaxe:
CLEAR MEMORY
da
CLEAR SCREEN
Propsito:
Sintaxe:
CLEAR TYPEAHEAD
Propsito:
Sintaxe:
CLEAR TYPEAHEAD
(fila)
Exemplo:
CLOSE
Propsito:
encontrem
Sintaxe:
tipo,
que
se
Exemplo:
CLOSE ALL
COMMIT
Propsito:
Sintaxe:
COMMIT
dos
os
Buffers
Exemplo:
/*
NOME DO PROGRAMA: CADMONO1.PRG
AUTOR : GORKI STARLIN
FUNO: ESTE MODULO ANEXA DADOS NO ARQUIVO PAGAMENTO
*/
SET DATE TO BRIT
// pe as datas no formato DD/MM/AA
CLEAR
// abre o arquivo e o incide
USE FOLHA INDEX CODX,NOMEX
// abre o arquivo de dados e o de ndice
DO WHILE .T.
CLEAR
SET COLOR TO
//pe cor padro
// lay out
@ 01,01 TO 24,79 DOUBLE
@ 02,02 TO 04,78
@ 03,03 SAY ALT CONTROL INF
@ 03,60 SAY DATE( )
@ 03,70 SAY TIME( )
// CRIAR VARIVEIS
CODVAR := SETORVAR := SALARIOVAR := 0
NOMEVAR
:= SPACE(35)
CARGOVAR
:= SPACE(15)
ATIVOVAR
:= (.T.)
DATAVAR
:= CTOD ( / / )
// entrada de dados
@ 06,10 SAY ** CADASTRAMENTO DE FUNCIONRIOS **
@ 08,10 SAY CDIGO...........: GET CODVAR PICTURE 9999
READ
IF CODVAR = 0
// verifica se o usurio no digitou o cdigo
OP := S
// cria varivel OP
// pergunta se o usurio deseja sair do programa
@ 21,15 SAY SAI DESTE MODULO.(S/N)..: GET OP PICT A
READ
IF OP = S
// verifica a resposta do usurio
RETURN
// retorne
ENDIF
LOOP
// sobe a execuo para linha do DO WHILE
ENDIF
// fim do se
SEEK CODVAR
// pesquisa no ndice o contedo da varivel
// varivel CODVAR
IF EOF( )
// se NO EXISTE
// entra com o restante dos dados do FUNCIONRIO
@ 10,10 SAY NOME FUNCIONRIO..: GET NOMEVAR PICTURE @!
@ 12,10 SAY SETOR TRABALHO....: GET SETORVAR PICT @9
@ 14,10 SAY CARGO FUNCIONAL...: GET CARGOVAR PICT @!
@ 16,10 SAY SALRIO...........: GET SALARIOVAR PICT 9999999.99
@ 18,10 SAY FUNCIONRIO ATIVO.: GET ATIVOVAR
@ 20,10 SAY DATA ADMISSO.....: GET 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
do
buffers
de
partir
do
CONTINUE
Propsito:
Continua a pesquisa
Sintaxe:
LOCATE.
CONTINUE
comando
iniciada
Exemplo:
CLEAR
USE FOLHA
// abre o arquivo de dados
LOCATE FOR SETOR = A
DO WHILE FOUND( )
// faa enquanto existir
? NOME, SALRIO, SETOR
// mostra os campos
CONTINUE
// continua a pesquisa
ENDDO
// fim do faa enquanto
COPY FILE
Propsito:
seu
Sintaxe:
Exemplo:
COPY FILE FOLHA.DBF TO FCOPIA.DBF
COPY FILE FOLHA.DBF TO FCOPIA.DBT
COPY FILE MENU.PRG TO A:MENU.PRG
COPY STRUCTURE
Propsito:
rea
Sintaxe:
Exemplo:
USE FOLHA
// abre o arquivo de dados
COPY STRUCTURE TO TFOLHA
// cria o arquivo TFOLHA.DBF com a
// mesma estrutura do arquivo FOLHA.DBF.
Sintaxe:
Exemplo:
USE FOLHA
// abre o arquivo de dados FOLHA.DBF
COPY STRUCTURE EXETENDED TO EFOLHA
// copia sua estrutura para o
// arquivo EFOLHA.DBF
USE EFOLHA
// abre o arquivo contendo a estrutura de FOLHA.DBF
LIST FIELD_NAME, FIELD_TYPE, FIELD_LEN, FIELD,DECX
// lista os
//
registros
COPY TO
Propsito:
Sintaxe:
COPY
outro
<arquivo>
para
TO
[ FIELDS
<campos> ]
TO
[<escopo>] [FOR <condio>]
[SDF/DELIMITED [ WITH BLANK / delimitador]
Exemplo:
USE FOLHA
// abre o arquivo FOLHA.DBF
COPY TO CFOLHA
// copia os registros para o arquivo CFOLHA.DBF
COPY TO FOLHA FOR SETOR = A
//
somente
sero
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.TXT
// no formato delimitado
TYPE CFOLHA.TXT
//
mostra
o
contedo
do
arquivo
CFOLHA.TXT
COUNT
Propsito:
Sintaxe:
registos.
Exemplo:
USE FOLHA
COUNT TO RESULTADO
? RESULTADO
COUNT TO RESULTADO2 FOR SETOR = A
COUNT TO RESULTADO3 FOR SETOR = A .AND. CARGO = ESCRITURARIO
?RESULTADO, RESULTADO2, RESULTADO3
CREATE
Propsito:
Sintaxe:
Exemplo:
CREATE TESTRU
APPEND BLANK
CREATE FROM
Propsito:
arquivo
Sintaxe:
Exemplo:
CREATE TESTRU
APPEND BLANK
DECLARE
Propsito:
Sintaxe:
DELETE
Propsito:
Sintaxe:
Exemplo:
USE FOLHA
DELETE ALL
//
DISPLAY ALL NOME, SALRIO,
INKEY(0)
SET DELETE ON
//
DISPLAY ALL NOME, SALRIO,
INKEY(0)
RECALL ALL
//
DISPLAY ALL NOME, SALRIO,
INKEY(0)
DELETE FOR SETOR = A
DISPLAY ALL NOME, SALRIO,
? FIM
DELETE FILE
Propsito:
Sintaxe:
Exemplo:
IF FILE (FOLHA.DBF)
se existir FOLHA.DBF
DELETE FILE FOLHA.DBF
? ARQUIVO FOI APAGADO
ENDIF
DIR *.DBF
// mostra todos os arquivos com a extenso .DBF
DIR
Propsito:
Sintaxe:
Exemplo:
DIR
DIR *.*
DIR *.prg
DIR a: *.*
DISPLAY
Propsito:
Sintaxe:
Exemplo:
USE FOLHA
// abre o arquivo de dados
DISPLAY COD, NOME, SALRIO ALL
// mostra todos os registros
DISPLAY COD, NOME, SALRIO
//
mostra
somente
o
registro
corrente
DISPLAY COD, NOME, SALRIO ALL FOR SETOR = A
//
mostra
os
registros
// dos funcionrios que
// que trabalham no setor A
DO
Propsito:
Sintaxe:
Exemplo:
:
:
:
IF OP = 2
DO PROG1
ELSEIF OP =3
DO PROG2
ELSE
DO PROG4 WITH NOME
ENDIF
DO CASE
Propsito:
Sintaxe:
DO CASE
CASE <condio>
. . . . instrues
[CASE <condio2>]
. . . . instrues
apenas
onde
[OTHERWISE]
. . . . instrues
END[CASE]
Exemplo:
DO CASE
CASE OP = 2
DO PROG1
CASE OP = 3
DO PROG2
OTHERWISE
RETURN
ENDCASE
DO WHILE
Propsito:
Sintaxe:
DO WHILE <condio>
. . . . <instrues>
[EXIT]
. . . . <instrues>
[LOOP]
. . . . <instrues>
END[DO]
uma
de
controle
enquanto
Exemplo:
:
:
VARSAI :=
DO WHILE VARSAI .NOT. $ SN
EJECT
Propsito:
Sintaxe:
EJECT
de
Exemplo:
LOCAL L, PG
USE FOLHA
L:= 0
// inicializa uma varivel para controle da quantidade de
// linhas impressas
PG:= 0
GO TOP
// v para o inicio do arquivo
SET PRINT ON
// liga a sada comum para a impressora
SET CONSOLE OFF
// desabilita a sada da console
DO WHILE .not. EOF( )
//
faa
enquanto
no
fim
do
arquivo.
IF L = 0 .OR. L=60
// se L for 0 ou 60
EJECT
PG++
// acumula +1 na varivel
? RELATRIO DE FUNCIONRIOS
?
? Pagina:+str(pg)
replicate (=, 78)
// traa uma linha
1 := 7
ENDIF
? COD, NOME, SALRIO
// imprime os campos
SKIP
// pule para o prximo registro
L++
ENDDO
// fim do faa enquanto
:
:
ERASE
Propsito:
Sintaxe:
Exemplo:
IF FILE (FOLHA.DBF)
// se existir FOLHA.DBF
ERASE FOLHA.DBF
? ARQUIVO FOI APAGADO
ENDIF
DIR *.DBF
// mostra todos os arquivos com a extenso . DBF
EXTERNAL
Propsito:
o
Sintaxe:
Exemplo:
EXTERNAL funes
:
:
EXIT PROCEDURE
Propsito:
Sintaxe:
Exemplo:
// COMPILE ESTE PROGRAMA COM /N
ANNOUNCE MEUSYSTEMA
STATIC nSEGUNDOS
PROCEDURE PRINCIPAL( )
nSEGUNDOS := SECONDS( )
AEVAL (ASORT (DIRECTORY ( *.*)),;
{|Anomes | QQUT (Anomes[1} ) } )
return // termina o programa.
EXIT PROCEDURE SADA( )
/ / rotina de sada do programa
?
? TEMPO:
?? SECONDS ( ) - nSEGUNDOS
RETURN
/ / finaliza definitivamente
FIELD
Propsito:
dados
Sintaxe:
de
arquivos de
Exemplo:
FIELD NOME,COD,SALARIO INTO FOLHA
FIELD CODCARGO,CREDITOS INTO CARGOS
USE FOLHA ALIAS FOLHA
USE CARGOS ALIAS FOLHA
<instrues>
:
:
? cod,codcardi
// equivalente a FOLHA-> COD,CARGOS -> CODCARGO
? nome
// equivalente a folha -> nome
:
:
FIND
Propsito:
uma
Sintaxe:
Exemplo:
USE FOLHA INDEX CODX, NOME // abre o arquivo de dados folha.dbf
// e seus respectivos arquivos de
// ndices CODX, NOMEX
FIND 3020
// pesquisa o cdigo = 3020
IF FOUND( )
// se existir
DISPLAY COD,NOME,SALARIO
ENDIF
CODVAR := SPACE(4)
@ 10,20 SAY DIGITE O CDIGO...: GET CODVAR PICTURE 9999
READ
FIND CODVAR
// pesquisa o contedo da varivel
IF FOUND( )
// se existir
DISPLAY COD,NOME,SALARIO
ENDIF
FOR. . . NEXT
Propsito:
Executa uma
estrutura
nmero de vezes.
Sintaxe:
determinado
de
controle,
um
Exemplo:
LOCAL TREGISTROS
USE CADASTRO
COUNT TO TRESGISTROS
GO TOP
FOR I = 1 TO TREGISTROS STEP 1
DISPLAY NOME, ENDEREO, TEL
// exibe o registro corrente
SKIP
// pula para o prximo registro
NEXT
? FIM
FUNCTION
Propsito:
Sintaxe:
:
:
RETURN [<informao>]
Exemplo:
LOCAL VAR1, VAR2, VAR3, X
var1 := 3
var2 := 7
var3 := 100
:
? soma (var3,var2)
// resultado : 107 (na tela)
? soma (var1,var2)
// resultado : 10 (na tela)
x:= soma(var3,300)
// resultado : 400 (na varivel)
:
:
:
FUNCTION SOMA ( P1, P2 )
// declara a funo e recebe os
// parmetros
R := P1+P2
// soma os parmetros
RETURN R
// retorna a execuo para rotina que chamou
// acompanhada do valor contido na varivel R,
GO
Propsito:
um
Sintaxe:
Exemplo:
USE FOLHA
GO 6
// v para o registro (record) numero 6
DISPLAY NOME, COD, SALRIO
GO TOP
// v para o inicio do arquivo
DISPLAY NOME, COD, SALRIO
GO BOTTOM // v para o fim do arquivo
DISPLAY NOME,COD,SALARIO
IF
Propsito:
Executa
instrues
somente
condicional for verdadeira.
Sintaxe:
IF <condio>
<instrues>
[ELSEIF < condio2>
<instrues>
[ELSE]
<instrues>
END[IF]
expresso
quando
uma
Exemplo:
LOCAL MEDIA:= 0
CLEAR
@ 10,10 SAY DIGITE A MEDIA DO ALUNO...:GET MEDIA
READ
IF MEDIA <5
?
REPROVADO
ELSEIF MEDIA = 5
?
RECUPERAO
ELSE
?
APROVADO
ENDIF
:
:
INIT PROCEDURE
Propsito:
Sintaxe:
INIT
da
rotina/procedimento>
PROCEDURE
<nome
da
Exemplo:
// COMPILE ESTE PROGRAMA COM /N
ANNOUNCE MEUSYSTEMA
STATIC nSEGUNDOS
PROCEDURE PRINCIPAL( )
AEVAL
(ASCOL (DIRECTORY (*.*) ) ,;
{ | Anomes | QOUT ( Anomes [1] ) } )
RETURN
// termina o programa.
INIT PROCEDURE INICIAL( )
// rotina de inicializao
nSEGUNDOS := SECONDS( )
RETURN
EXIT PROCEDURE SADA( )
// rotina de sada do programa.
?
? TEMPO:
?? SECONDS() - nSEGUNDOS
RETURN
// finaliza definitivamente
INDEX
Propsito:
determinado
Sintaxe:
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,10 SAY DIGITE O NOME..: GET VNOME PICTURE @!
READ
? PESQUISANDO
SEEK VNOME
IF FOUND( )
// se existir
DISPLAY NOME, ENDEREO, CIDADE
// mostra o registro
ENDIF
? REGISTRO NO ENCONTRADO
INPUT
Propsito:
armazena
Sintaxe:
Exemplo:
LOCAL VAR
CLEAR
INPUT DIGITE QUALQUER COISA..: TO VAR
? VOC DIGITOU...:
?? VAR
JOIN
Propsito:
Sintaxe:
Exemplo:
USE VENDAS
e
KEYBOARD
Propsito:
expresso
Sintaxe:
com
uma
Exemplo:
KEYBOARD a
KEYBOARD CHR(65)
KEYBOARD CHR(130)
// resultado:
// resultado:
LABEL FORM
Propsito:
do
Sintaxe:
PRINTER]
<condio>]
[SAMPLE]
[WHILE
[FOR<condio>]
Exemplo:
USE MALA INDEX NOME
LABEL FORM ETIQUETAS TO
etiquetas
PRINTER
SAMPLE
//
imprime
as
LIST
Propsito:
Sintaxe:
Exemplo:
USE MALA
LIST NOME,
LIST NOME,
impressa
ENDEREO,
ENDEREO,
CIDADE
CIDADE
TO
PRINTER
//
lista
LOCATE
Propsito:
Sintaxe:
Exemplo:
USE FOLHA
LOCATE FOR NOME =Joo
IF FOUND()
/ / se existir
DISPLAY NOME, SALRIO, SETOR
ELSE
? no localizado
ENDIF
LOOP
Propsito:
Sintaxe:
LOOP
WHILE,
DO
LOCAL
Propsito:
Sintaxe:
Exemplo:
LOCAL VAR,VAR2:= 10
//
locais
? VAR2
LOCAL MATRIZ1 [30] [10]
local
declara
//
as
declara
variveis
a
matriz
como
como
MEMVAR
Propsito:
ou
Sintaxe:
Exemplo:
Privadas
USE MALA
MEMVAR NOME
memria
LOCAL NOME
de
:
? NOME
nome
? MALA NOME
//
declara
como
sendo
//
declara
como
// memria local
//
mostra
variveis
de
sendo
uma
varivel
contedo
da
varivel
nome
MENU TO
Propsito:
Sintaxe:
NOTE
Propsito:
Sintaxe:
Exemplo:
NOTE esta linha no ser copilada, ou seja e apenas um
NOTE
comentrio
? esta linha uma instruo que ser e apenas ser copilada
// esta linha tambm um comentrio
&& tambm um comentrios
/* estas linhas tambm so comentrios
*/
PACK
Propsito:
Sintaxe:
PACK
para
registros
marcados
Exemplo:
USE MALA
PACK
marcados
INDE NOME
// remove
fisicamente
do
arquivo
os
registros
PARAMETER
Propsito:
de
Sintaxe:
o recebimento
Exemplo:
MENSAGEM (5, 5, OI ! )
FUNCTION MENSAGEM( )
PARAMETER
LINHA,
COLUNA,
rotina
funo
@ LINHA, COLUNA SAY DADO
RETURN NIL
DADO
//
//recebe
valores
da
que
chamar
esta
PRIVATE
Propsito:
sendo
Sintaxe:
Exemplo:
PRIVATE
MATRIZ1
PRIVATE
A,
B,
[20] [30]
C
A:= 8
PRIVATE
DATA:= DATE(
//
//
//
//
//
//
//
//
declara
que a matriz
ser privada
declara que as variveis so
privadas
atribui um valor a
varivel
declara e inicializa a
varivel privada
PROCEDURE
Propsito:
Sintaxe:
[(lista
<procedure>
campos>[IN
<apelidos>]]
[LOCAL
<identificador>
[:= <inicializador>],,,]
[MEMVAR <lista
[STATIC
de
identificadores>]
<identificador>
[:
=
<inicializador],,,]
:
<instrues>
:
[RETURN]
Exemplo:
:
:
:
MENSAGEM(20,10,NO ENCONTRADO)
:
:
PROCEDURE MENSAGEM(LINHA, COLUNA,
@ LINHA, COLUNA SAY DADO
RETURN
DADO)
PUBLIC
Propsito:
Sintaxe:
Exemplo:
PUBLIC MATRIZ3 [48] [10]
//
publica
PUBLIC A, B, C
// define
pblicas
:
:
A:= 10// inicializa a varivel
define
as
matriz
variveis
como
como
QUIT
Propsito:
Sintaxe:
Exemplo:
:
RESPOSTA:= S
@ 20,10 SAY SAIR DESTE PROGRAMA...: GET RESPOSTA PICT !
READ
IF RESPOSTA = S
QUIT
// termina o programa
ELSE
LOOP //sobe a execuo para linha de DO WHILE
ENDIF
:
:
READ
Propsito:
Sintaxe:
READ[SAVE]
pelo
variveis
especificadas
Exemplo:
LOCAL VNOME, VENDEREO, VSALRIO
VNOME:= SPACE(30)
VENDEREO:= SPACE(35)
VSALRIO:= 0.00
@ 10,10 SAY DIGITE O NOME...: GET VNOME PICT !
@ 12,10 SAY DIGITE O ENDEREO..: GET VENDEREO
@ 14,10 SAY DIGITE O SALRIO...: GET VSALRIO PICT @E 9,999.99
READ
// executa e no final libera os trs GETs
pendentes
RECALL
Propsito:
eliminao
Sintaxe:
[WHILE<condio>]
Recupera
registros
marcados
atravs do comando DELETE.
RECALL
para
<escopo>
[FOR<condio>]
Exemplo:
USE MALA
GOTO 3
IF DELETED(
RECALL
ENDIF
REINDEX
Propsito:
Sintaxe:
REINDEX
[EVAL<Condio>]
de
[EVERY<nRegistro>]
Exemplo:
USE MALA INDEX INOME, ICOD
REINDEX
/ /
reorganiza
INOME, ICOD
:
:
os
arquivos
RELEASE
Propsito:
Sintaxe:
Exemplo:
RELEASE
ALL
RELEASE
VNOME
LIKE
V*
// libera todas as
variveis
// comeam com a letra
V
// libera a varivel VNOME
que
RENAME
Propsito:
Sintaxe:
Renomear um arquivo
RENAME <nome atual> TO <novo nome>
Exemplo:
RENAME
RENAME
ARQ.TXT TO ARQ_NOVO.TXT
MALA.DBF TO POSTAL.DBF
REPLACE
Propsito:
uma
Sintaxe:
Exemplo:
USE MALA INDEX ICOD
APPEND BLANK
// cria um registro
REPLACE COD WITH 23, NOME WITH JOO
// preenche os campos
:
:
em
branco
por
REPORT FORM
Propsito:
ou
Sintaxe:
REQUEST
Propsito:
Sintaxe:
RESTORE
Propsito:
(.mem)
Sintaxe:
Carregar variveis
gravadas de um arquivo
do disco.
RESTORE <nome do arquivo> [ADDITIVE]
Exemplo:
A:= 4
NOME:= JOO
SAVE TO ARQVAR// salva todas as variveis de memria
// no arquivo ARQVAR.MEM
RELEASE ALL
// apaga todas as variveis
RESTORE FROM ARQVAR
// restaura as variveis do arquivo
ARQVAR.MEM
? A
? NOME
RESTORE SCREEN
Propsito:
Sintaxe:
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 varivel imagem
RETURN
Propsito:
programa
Sintaxe:
Terminar a execuo de
ou funo do usurio.
RETURN <valor>
uma
procedure,
Exemplo:
? SITUAO (3,7,8,10)
FUNCTION SITUAO(N1, N2,
MDIA := (N1+N2+N3+N4)/4
IF MDIA = >6
RETURN APROVADO
ELSE
RETURN REPROVADO
ENDIF
N3,
N4)
RUN
Propsito:
Sintaxe:
Executar
um
programa
operacional.
RUN <descrio>
ATUALIZAR
ATUALIZAR
A
A
sistema
Exemplo:
? FAVOR
? FAVOR
! DATE
SAVE
HORA
DATA
DO
DO
SISTEMA!.
SISTEMA!.
ou
comando
do
Propsito:
de
Sintaxe:
<esqueleto>]]
Exemplo:
A:= 9
VNOME := JOO
VENDE:= RUA DAS CAMLIAS 44
SAVE TO ARQVAR2 ALL LIKE V*
arquivo
SAVE TO ARQVAR
arquivo
//
//
salva:
VNOME
// ARQVAR2.MEM
salva
todas
as
VENDE
no
variveis
no
// ARQVAR.MEM
SAVE SCREEN
Propsito:
Sintaxe:
SEEK
Propsito:
uma
Sintaxe:
Exemplo:
USE MALA INDEX INOME
SEEK JOO
// Equivalente A: DBSEEK (JOO)
IF FOUND( )
// se existir
DISPLAY NOME, ENDEREO, CIDADE
ELSE
? NO ENCONTRADO
ENDIF
SELECT
Propsito:
Sintaxe:
Exemplo:
SET ALTERNATE
Propsito:
ser
Sintaxe:
(.F.)>
Exemplo:
SET ALTERNATE TO ARQSAIDA.TXT
AET ALTERNATE ON
// lida a sada para o arquivo
USE MALA INDEX ICEP
LIST CLIENTE, CIDADE, ESTADO
SET ALTERNATE OFF
// suspende a sada para o arquivo
CLOSE ALTERNATE
// fecha a operao com o arquivo
// alternativo.
TYPE ARQSAID.TXT
SET BELL
Propsito:
Sintaxe:
dados.
SET CENTURY
Propsito:
Sintaxe:
Exemplo:
SET DATE TO BRIT
? date( )
SET CENTURY ON
? date( )
SET CENTURY OFF
SET COLOR
Propsito:
Sintaxe:
<destaque>,
selecionado>] |
Exemplo:
VNOME := SPACE(30)
PADRAO1 := W/N, N/N
PADRAO2 := B/N, N/W
SET COLOR TO (PADRAO1)
@ 10,10 SAY DIGITE O NOME...: GET VNOME PICTURE @!
SET COLOR TO (PADRAO2)
READ
SET COLOR TO W+,B
? VOC DIGITOU O NOME...:
?? VNOME
SET CONFIRM
Propsito:
Sintaxe:
GETs.
Exemplo:
CLEAR
LOCAL VNOME
@ 10,10 SAY
READ
SET CONFIRM
@ 20,10 SAY
READ
:= SPACE(15)
DIGITE O SE NOME POR COMPLETO...: GET VNOME
ON
// liga a confirmao
DIGITE O SEU NOME POR COMPLETO...: GET VNOME
SET CONSOLE
Propsito:
Sintaxe:
SET CURSOR
Propsito:
Sintaxe:
Exemplo:
SET DATE TO ITALIAN
? A DATA DE HOJE E....:
?? DATE( )
SET DATE TO GERMAN
VDATA:=CTOD ( / / )
@ 10,10 SAY DIGITE QUALQUER DATA...: GET VDATA
READ
SET DATE TO ANSY
? Mudando o formato da data
? A data que voc digitou foi...:
?? VDATA
SET DECIMALS
Propsito:
Sintaxe:
Exemplo:
SET FIXED ON
SET DECIMALS TO 2
? 10/3
? 20/7
SET DECIMALS TO 5
? 10/3
? 20/7
SET DEFAULT
Propsito:
sero
Sintaxe:
Exemplo:
SET DEFAULT TO A:
// muda a leitura de arquivo para o
diskete
SET DEFAULT TO C:\CLIPPER5
// muda para a unidade C no
// diretrio \ CLIPPER5
SET DELETED
Propsto:
Ativar ou
eliminao.
Sintaxe:
para
desativar
os
registros
marcados
SET DELIMITERS
Propsito:
Sintaxe:
sero
SET DELIMITER TO
Propsito:
Sintaxe:
Exemplo:
CLEAR
VNOME:= VENDERECO:= SPACE(30)
SET DELIMITER ON
// liga a edio de delimitadores
SET DELIMITER TO ::
// estabelece novos delimitadores
@ 10,10 SAY DIGITE O NOME...: GET VNOME
SET DELIMITER TO []
// muda os delimitadores novamente
@ 12,10 SAY DIGITE O ENDEREO..: GET VENDERECO
READ
SET DEVICE
Propsito:
Sintaxe:
Exemplo:
CLEAR
@ 10,10 SAY LIGUE A IMPRESSORA E PRESS. QQ. TECLA\\
INKEY(0)
// aguarda qualquer tecla
SET DEVICE TO PRINTER
// liga a sada (@.. say) para a
// impressora
@ 20,15 SAY SER IMPRESSO NA LINHA 20, COLUNA 15 DO PAPEL
SET DEVICE TO SCREEN
// retorna a sada para a tela
SET EPOCH
Propsito:
possuem
Sintaxe:
que
no
Exemplo:
SET DATE FORMAT TO DD/MM/YYYY
dgitos
//
formata
ano
com
? CTOD (04/05/78)
? CTOD (04/05/92)
SET EPOCH TO 1980
? CTOD (04/05/78)
menor?
? CTOD (04/05/92)
// resultado: 04/05/1978
// resultado: 04/05/1992
// resultado: 04/05/2078
//
data
// resultado: 04/05/1992
SET ESCAPE
Propsito:
Sintaxe:
tecla
SET EXACT
Propsito:
Sintaxe:
caracteres
Exemplo:
//
.T. (sim)
SET EXACT OFF
? AB1 = AB1CD
? AB1 = AB1
SET EXACT ON
? AB1 = AB1CD
? AB1 = AB1
.F.
(no)
// padro
// RESULTADO: .T.
// RESULTADO: .T.
// RESULTADO: .F.
// RESULTADO: .T.
SET EXCLUSIVE
Propsito:
Sintaxe:
ser
SET FILTER
Propsito: Cria filtros lgicos que escondem registros que no
atendem a condio do filtro criado.
Sintaxe:
SET FILTER TO <condio>
Exemplo:
USE MALA
SET FILTER TO NOME = A
LISTA NOME, ENDEREO
SET FILTER TO
normal
LISTA NOME, ENDEREO
//
tira
filtro,
volta
ao
SET FIXED
Propsito:
Sintaxe:
os
SET FORMAT
Propsito:
READ
Sintaxe:
Exemplo:
VNOME:= SPACE(40)
VENDERECO:= SPACE(30)
SET FORMAT TO TELA
de
// nome TELA
READ
PROCEDURE TELA
@ 10,10 SAY NOME......: GET VNOME
@ 12,10 SAY ENDEREO..: GET VEDERECO
RETURN
SET FUNCTION
Propsito:
Sintaxe:
Exemplo:
// reprogramando as teclas F2 e F3
SET FUNCTION 2 TO GORKI STARLIN+CHR(13)
<ENTER>
SET FUNCTION 3 TO EDITORA ERICA
? PRESS. <F3> OU <F2>
ACCEPT DIGITE ALGO..: TO TESTE
//
CHR(13)
SET INDEX
Propsito:
dados
Sintaxe:
de
Exemplo:
USE MALA
SET INDEX TO INOME, ICEP
// organizado pelo ndice NOME
LIST NOME, ENDEREO, CIDADE
SET ORDER TO 2
// ICEP, NOME
LIST NOME, ENDEREO, CIADE
SET INDEX TO
// fecha todos os ndices
SET INTENSITY
Propsito:
Sintaxe:
de
edio
GETs
SET KEY
Propsito:
uma
Sintaxe:
Exemplo:
CLEAR
SET KEY -2 TO TERMINA( )
funo
//
liga
tecla
<f2>
com
// TERMINA( )
VNOME:= SPACE(30)
@ 23,10 SAY <F2> TERMINA O PROGRAMA
@ 10,10 SAY DIGITE O NOME...: GET VNOME
READ
FUNCTION TERMINA( )
CANCEL
RETURN
SET MARGIN
Propsito:
sada
Sintaxe:
esquerda
para
Exemplo:
USE MALA INDEX INOME
SET MARGIN TO 10
LIST NOME, ENDEREO, CIDADE TO RPINTER
SET MESSAGE
Propsito:
exibir
Sintaxe:
para
Exemplo:
CLEAR
SET MESSAGE TO 23 CENTER
@ 10,10 PROMPT 1 - CADASTRAR MESSAGE CADASTRAMENTO....:
@ 12,10 PROMPT 2 - PESQUISA MESSAGE PESQUISANDO......:
MENU TO VAR
:
:
:
SET ORDER
Propsito:
o
Sintaxe:
Exemplo:
USE MALA INDEX ICEP, INOME
LIST NOME, ENDEREO, CIDADE, CEP // lista em ordem de NOMES
SET ORDER TO 2
// muda o arquivo de ndice
controle
LIST NOME, ENDEREO, CIDADE, CEP // lista em ordem de CEP
de
SET PATH
Propsito:
ser
arquivos
Sintaxe:
Exemplo:
SET PATH TO C:\FOLHA;C:\FATURA
SET PRINTER
Propsito:
Sintaxe:
para
Exemplo:
SET PRINTER OFF
? DATE( ), TIME( )
SET PRINTER ON
? DATE( ), TIME( )
SET PROCEDURE
Propsito:
suas
ser
Sintaxe:
SET RELATION
Propsito:
Sintaxe:
INTO
Exemplo:
USE CURSOS.DBF INDEX CODCUR.NTX
USE ALUNOS.DBF NEW
SET RELATION INTO CURSO TO CURSOS
relao
//
estabelece
SET SCOREBOARD
Propsito:
por
Sintaxe:
SET SOFTSEEK
Propsito:
Sintaxe:
SEEK.
SET TYPEAHEAD
Propsito:
Sintaxe:
SET UNIQUE
Propsito:
Sintaxe:
um
SET WRAP
Propsito:
Sintaxe:
Propsito:
Sintaxe:
do
SKIP
Exemplo:
USE MALA
GO 1
SKIP 2
SKIP 4
SKIP -3
SORT
Propsito:
Sintaxe:
],
Exemplo:
USE MALA
SORT TO MALA2 ON NOME
campo
//
classificara
os
registros
pelo
// NOME
USE MALA2
LIST NOME, ENDEREO, CIDADE
STATIC
Propsito:
Sintaxe:
Exemplo:
FUNCTION SENHA
STATIC VCONTROLE := 6
:
:
RETURN
STORE
Propsito:
Sintaxe:
Exemplo:
STORE 123.33 TO VAR1
? VAR1
VAR1:= VAR2:= 4848
? VAR1,VAR2
4848
SUM
Propsito:
Sintaxe:
variveis>
<condio>]
Exemplo:
USE FOLHA
SUM SALRIO TO TOTALSAL FOR SETOR = 1 // totaliza o salrio
// dos funcionrios do setor 1
@ 10,10 SAY RESULTADO...:+STR (TOTALSAL)
TEXT
Propsito:
em
Sintaxe:
<texto>...
ENDTEXT
Exemplo:
TEXT
// abre o bloco de texto
---------------------ISTO E APENAS UM TEXTO
---------------------ENDTEXT
// finaliza o bloco de texto
TOTAL
Propsito:
de
Sintaxe:
[<escopo>]
TYPE
Propsito:
em
Sintaxe:
n2>
Exemplo:
TYPE MENU.PRG TO PRINTER
programa
//
imprime
listagem
do
registro
em
// MENU.PRG
UNLOCK
Propsito:
Sintaxe:
UNLOCK[ALL]
ambiente
Exemplo:
USE MALA SHARED
:
:
IF FLOCK( )
// trava todos os registros
REPLACE SALRIO WITH VSAL*INDICE ALL
UNLOCK
// libera o travamento pendente
ELSE
? NO POSSVEL PROCESSAR OS REGISTROS NO
MOMENTO
ENDIF
UPDATE
Propsito:
Sintaxe:
de
trabalho.
USE
Propsito:
opcionalmente
Sintaxe:
ndice>]
Abrir
Exemplo:
USE MALA INDEX ICOD, INOME
USE MALA READONLY
// somente para leitura
USE FOLHA INDEX CODIFO NEW
//
abre o arquivo na prxima
rea
// disponvel.
WAIT
Propsito:
que
Sintaxe:
Exemplo:
A:= 4
WAIT Press. qualquer tecla para continuar
B:= 5
? A+B
ZAP
Propsito:
Sintaxe:
Exemplo:
USE MALA INDEX ICOD, ICEP
ZAP
elemento.
Exemplo:
declare vetor [2], vetor2
vetor [1] = teste
vetor [2] = Gorki
vetor2 [1] = Starlin
vetor2 [2] = livro
AADD (vetor, vetor2)
elemento
tamanho
ser um
como
//
mostrando
? vetor [1]
? vetor [2]
? vetor [3] [1]
? vetor [3] [2]
[2]
ABS( )
Propsito:
Sintaxe:
ser
Exemplo:
a
b
?
?
: =
: =
abs
abs
9
-4
(a)
(b)
// devolve 9
// devolve 4
ACHOICE( )
Propsito:
Sintaxe:
<direita>,
selecionaveis>
usurio>, <item
Exemplo:
/*
*/
CLEAR
// limpa a tela
LOCAL ITEM [4], SELEO [4]
ITEM [1] := CADASTRAR
// atribui os valores do vetor
ITEM [2] := PESQUISAR
ITEM [3] := ALTERAR
ITEM [4] := EXCLUIR
SELEO [1] :=
SELEO [2] := .T. // determina itens
disponveis
SELEO [3] := SELEO [4] := .F.
//
determina
itens
//
no
disponveis
ESCOLHA := ACHOICE (12,12,14,15,ITEM,SELEO)
? ESCOLHA
// mostra a escolha do
usurio
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( )
Propsito:
Sintaxe:
Exemplo:
Local array1, array2
array1 := { 12,13,14 }
array2 := ACLONE (array1)
seja
// array2
igual
a array1,ou
// { 12,13,14 }
ACOPY( )
Propsito:
Sintaxe:
<incio>,
Exemplos:
Local vetor1,vetor2
vetor1 := { 10, 10, 10 }
vetor2
:= { 20, 20, 20 }
ACOPY (vetor1, vetor2,1,2}
}
ADEL( )
Propsito:
Sintaxe:
Exemplo:
Private vetor
vetor := { 100,
ADEL( vetor,2)
nil}
300,
200 }
// VETOR passa a conter { 100,200,
ADIR( )
Propsito:
lidas
Sintaxe:
<tamanho>,
Exemplo:
Private fontes [ADIR (*.PRG)]
// cria um vetor com o
//tamanho correspondente ao nmero de
// .prgs existente no diretrio
// corrente
ADIR (*.PRG, FONTES)
AEVAL( )
Propsito:
cada
para
Sintaxe:
AEVAL
(<Vetor>, < Bloco>, [< incio>],[<quantidade>] )
Exemplo:
/*
EXEMPLO DE UTILIZAO DA FUNO AEVAL( ) */
LOCAL ARQUIVO : = DIRECTORY (*.*), NOMES : = {}
CLEAR
AEVAL (ARQUIVOS { | FILES | AADD (NOMES, FILES [1]
ESCOLHA := ACHOICE ( 10, 10, 20, 35, NOMES)
) } )
AFIELDS( )
Propsito:
estrutura
corrente de
Sintaxe:
<tamanho> ] ,
AFILL( )
Preenche
os elementos de vetores com a
do banco de dados que estiver aberto na rea
trabalho.
AFIELDS( [
<campos> ], [ <tipos> ], [
[<decimais> ].
Propsito:
Sintaxe:
<incio>,
Exemplos:
Local vetor [5]
Afill (vetor, 4)
AINS( )
Propsito:
em
Sintaxe:
Exemplo:
Private vetor
vetor := {10,
AINS(vetor,2)
20,
30}
// resultado aps AINS ( ) ->
// vetor := {10, NIL, 20}
ALERT( )
Propsito:
Sintaxe:
opes>)
que o usurio poder escolher.
Exemplo:
Local nEscolha, aOPES := {Repetir, Abortar}
USE CLIENTES
CLEAR
DO WHILE .NOT. ISPRINTER( )
/ / SE NO EXISTE IMPRESSORA
nESCOLHA := ALERT ( IMPRESSORA NO ENCONTRADA;
aOPES)
IF nESCOLHA = 2
RETURN
ENDIF
ENDDO
SET PRINT ON
/ / LIGA A IMPRESSORA
LIST NOME,ENDERECO
// LISTA OS DADOS
SET PRINT OFF
// DESLIGA A IMPRESSORA
ALIAS( )
Propsito:
Sintaxe:
Exemplo:
USE MALA NEW
REA = SELECT( )
USE CLIENTE NEW
? ALIAS (REA)
ALLTRIM( )
Propsito:
em
Sintaxe:
existirem
Exemplo:
PRIVATE STRING
STRING : = SPACE(30)+ GORKI + STARLIM
? STRING
? ALLTRIM (STRING)
ALTD( )
Propsito:
Sintaxe:
Exemplo:
/*
FOLHA.PRG
AUTOR: GORKI STARLIN
*/
PARAMETER AO
IF AO
AO = 0
ELSE
AO = VAL (AO)
ENDIF
ALTD (AO)
:
:
<declaraes>
:
:
ARRAY( )
Propsito:
sem
Sintaxe:
Exemplo:
MATRIZ : = ARRAY (2,3)
dimenses..
MATRIZ := {{4,3,4}, {6,3,2}}
//
cria
definindo
apenas
as
ASC( )
Propsito:
determinado
Sintaxe:
de
um
Exemplo:
? ASC (a)
? ASC (A)
? ASC ( )
// resposta: 97
// resposta: 65
// resposta: 0 (nulo)
ASCAN( )
Propsito:
de
Sintaxe:
[<quantidade>].
Exemplo:
VETOR := {BATATA, TOMATE, FEIJO, CARNE }
? ASCAN (VETOR, BATATA}
// resultado: 1
ENDEREO := ASCAN (VETOR, FEIJO)
//resultado:
endereco=3
? endereo
? ascan (vetor, {|var| upper (var) = = TOMATE}) //code block
ASIKE( )
Propsito:
Sintaxe:
Exemplo:
: = {BATATA, TOMATE, FEIJO, CARNE}
(VETOR)
// mostra o tamanho do vetor. resultado: 4
(VETOR,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( )
Propsito:
Sintaxe:
[<ordem>]
Exemplo:
VETOR : {BATATA, TOMATE, FEIJO, CARNE }
// cria o
// vetor
ASORT (VETOR)
// ordem ascendente
FOR I = 1 TO LEN (VETOR)
// mostra todos os elementos do
vetor
? VETOR [i]
NEXT
ASORT (VETOR,,, {|a, b| a > b })
// ordem descendente
FOR i = 1 TO LEN (VETOR)// mostra todos os elemento do vetor
? vetor [i]
NEXT
AT( )
Propsito:
de
Sintaxe:
Exemplo:
VAR := BATATA
? AT (TA, VAR)
? AT (T, VAR)
? AT (Z, VAR)
// resultado: 3
// resultado: 2
// resultado: 0
ATAIL( )
Propsito:
Sintaxe:
Exemplo:
LOCAL aNOMES : = {MARIA, JOS, JOO, ANA}
ULTIMO := ATAIL (aNOMES)
? LTIMO
// ANA
BIN2( )
Propsito:
para
Sintaxe:
BIN2L( )
Propsito:
para
Sintaxe:
BIN2W( )
Propsito:
bits
Sintaxe:
BOF( )
Propsito:
Sintaxe:
BOF( )
de
Exemplo:
USE MALA NEW
? BOF( )
SKIP - 1
? BOF( )
//
//
//
//
BROWSE( )
Propsito:
Sintaxe:
<linha_
final>, <coluna_final>).
Exemplo:
USE MALA NEW
L_INICIAL = 5
C_INICIAL = 5
F_FINAL
= 22
C_FINAL
= 67
CDOW( )
Propsito:
caracteres
Sintaxe:
expresso
Exemplo:
? DATE
? CDOW(DATE( ))
sistema
? CDOW(DATE( )+10)
a
da
data
do
CMONTH( )
Propsito:
ms
Sintaxe:
devolver
nome
do
Exemplo:
// Os exemplos a seguir, demostram a utilizao da funo
// CMOUNTH( ).
? CMOUNTH(DATE( ))
// resultado: ms da data do sistema
? CMOUNTH(DATE( )+30)
// resultado: ms posterior data do
// sistema.
COL( )
Propsito:
Sintaxe:
Exemplo:
CLEAR
// limpa a tela
LOCAL VNOME := JOO, VSALARIO:= 39000.00
@ 05,10 SAY NOME.....: + VNOME
@ 07,10 SAY SALRIO..:
@ 07, COL( ) +2 SAY SALRIO
COLORSELEC( )
Propsito:
Sintaxe:
Exemplo:
SETCOLOR(B/W,N/W,GR/W,N/GR)
? GORKI
COLORSELECT( 1 )
? GORKI
COLORSELECT( 0 )
? GORKI
CTOD( )
Propsito:
Sintaxe:
Exemplo:
PRIVATE CAR, VARDATA
CAR := 20/1/93
?CTOD(CAR) + 365
// mostra 365 dias aps o contedo da
// expresso caractere contida em
CAR.
VARDATA:= CTOD( / / ) // cria uma varivel do tipo data em
// branco.
CURDIR( )
Propsito:
Sintaxe:
CURDIR( ).
determinada
Exemplo:
atual
de
uma
? CURDIR( )
DATE( )
Propsto:
Sintaxe:
Exemplo:
? DATE( )
VARDATA := DATE( )
? DATE( ) + 4
SET DATE ITAL
? DATE( )
//
//
//
//
//
mostra a
cria uma
sistema,
ser D.
mostra a
data do sistema
varivel contendo a data do
sendo que o tipo da varivel
data do sistema + 4 dias
DAY( )
Propsito:
Sintaxe:
Exemplo:
? DATE( )
? DAY(DATE( ))
DBAPPEND( )
Propsito:
Sintaxe:
DBAPPEND( )
dados
Exemplo:
/*
ENDIF
DO WHILE .T.
CLEAR
// lay out
ELSE
ENDIF
ENDDO
DBCLEARFIL( )
Propsito:
Sintaxe:
Exemplo:
USE CLIENTES
SET FILTER TO NOME = A
BROWSE( )
DBCLEARFILTER( )
// separa os registros
// equivalente : SET FILTER TO
DBCLEARINDEX( )
Propsito:
Sintaxe:
DBCLEARINDEX( ).
de
arquivo
DBCLEARRELATION( )
Propsito:
Sintaxe:
DBCLOSEALL( )
Propsito:
Sintaxe:
DBCOMMIT( )
Propsito:
Sintaxe:
DBCOMMIT( ).
alteraes
Exemplo:
em
disco,
:
:
:
REPLACE NOME WITH NOMEVAR
REPLACE SETOR WITH SETORVAR
REPLACE CARGO WITH CARGOVAR
REPLACE ATIVO WITH ATIVOVAR
REPLACE DTADM WITH DATAVAR
REPLACE SALRIO WITH SALARIOVAR
@@ 21,20 SAY ** CADASTRADO **
INKEY(O)
// aguarda qq tecla
DBCOMMIT( )
// atualiza o arquivo fisicamente.
DBCOMMITALL( )
Propsito:
Sintaxe:
DBCOMMIT( ).
suas
DBCREATE( )
Propsito:
estrutura
Sintaxe:
Exemplo:
/*
PROGRAMA: CRIA.PRG
AUTOR: GORKI STARLIN
*/
IF .NOT. FILE (FUNC.DBF)
// se func.dfb no 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( )
Propsito:
banco
Sintaxe:
index>,
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, ENDEREO, CIDADE
// mostra o registro
ELSE
? REGISTRO NO ENCONTRADO
ENDIF
DBDELETE( )
Propsito:
Sintaxe:
Exemplo:
USE FOLHA INDEX INOME.NTX
SEEK JOO
IF FOUND( )
DBDELETE( )
// marca o registro encontrado
ENDIF
DISPLAY ALL NOME, SALRIO, COD
// mostra os registros
SET DELETE ON
// filtra os registros marcados
DISPLAY ALL NOME, SALRIO, COD
// mostra os registros
RECALL ALL
// recupera todos os registros
DISPLAY ALL NOME, SALRIO, COD
// mostra os registros
DBEDIT( )
Propsito:
uma
Folheia os registros d um
janela.
banco
de
dados
em
Sintaxe:
DBEDIT
([<linha_inicial>,
<coluna_inicial>,
<linha_final>,
<coluna_final>,
(<vetor de colunas>,
<funo
do
usurio>,
< vetor de mscaras>,
<mscara>,
<vetor
de
cabealhos>, <cabealho>, <vetor
separador
cabealhos>, <separador cabealho>, <vetor
separador de
rodap>, <separador de rodap>, <vetor
rodap das
colunas>, <rodap das colunas>]).
Exemplo:
/*
/*
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] = SALRIO
VETOR_CAMPOS [5] = CARGO
VETOR_CAMPOS [6] = ATIVO
VETOR_CAMPOS [7] = DTADM
// CRIA VARIVEIS P/ DEFINIR A REA DE EDIO DOS
DADOS
L_INICIAL = 5
C_INICIAL = 5
L_FINAL = 22
C_FINAL = 67
@ 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( )
Propsito:
para
Sintaxe:
Exemplo:
/*
REAJUSTE DE SALRIO
AUTOR: GORKI STARLIN
*/
LOCAL NDICE := 20, SETVAR := 1
// cria o bloco de cdigo executvel
BLOCO := {|| SALRIO := SALRIO * NDICE/100 + SALRIO}
// cria o bloco de cdigo contendo a condio FOR
CONDIO1 := {|| SETOR = SETVAR}
DBEVAL (BLOCO, CONDIO1)
// mostra e avalia os blocos de
// cdigos
? SALRIO ATUALIZADOS !
QUIT
DBF( )
Propsito:
Sintaxe:
DBF( ).
na
Exemplo:
USE FOLHA NEW
NOME := DBF( )
? NOME
//
//
//
//
DBFILTER( )
Propsito:
Sintaxe:
DBFILTER( ).
filtro
referente ao
Exemplo:
USE FOLHA NEW
// abre o banco de dados
SET FILTER TO SALRIO < 40000.00 // estabelece um filtro aos
// registros a serem processados
LIST NOME, CARGO, SETOR, SALRIO
?DBFILTER( )
// resultado: SALRIO < 40000.00
DBGOBOTTOM( )
Propsito:
Sintaxe:
DBGOBOTTOM( ).
o
Exemplo:
USE FOLHA
DBGOBOTTOM( )
// v para o fim do arquivo
DISPLAY NOME, COD, SALRIO
DBGOTO( )
Propsito:
um
Sintaxe:
Exemplo:
USE FOLHA
DBGOTO( 6 )
// v para o registro (record) nmero 6
DISPLAY NOME, COD, SALRIO
DBGOTOP( )
Propsito:
Sintaxe:
DBGOTOP( ).
primeiro
Exemplo:
USE FOLHA
DBGOTOP( )
// v para o incio do arquivo
DISPLAY NOME, COD, SALRIO
DBRECALL( )
Propsito:
Sintaxe:
DBRECALL( ).
de
Exemplo:
DBREINDEX( )
Propsito:
Sintaxe:
DBRELATION( )
Propsito:
a
de
SET
Sintaxe:
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, CODFACUL INTO FACULDADE
? DBRELATION(2)
// resultado: CODFACUL
? DBRSELECT( )
// resultado: 3
DBRSELECT( )
Propsito:
um
Sintaxe:
Exemplo:
USE FACULDAD NEW
USE CURSOS NEW
DBSEEK( )
Propsito:
numa
Sintaxe:
Exemplo:
USE MALA INDEX INOME
USE CLIENTES INDEX IESTADO NEW
MALA (DBSEEK(JOO, .F.))
DBSELECTAREA( )
Propsito:
Sintaxe:
Exemplo:
USE MALA INDEX INOME
DBSELECTAREA( 0 )
//
seleciona
a
prxima
rea
disponvel
USE FOLHA INDEX CODF
LIST NOME, SALARIO,SETOR, COD
DBSELECTAREA(MALA)
// seleciona o arquivo rea MALA
LIST COD, CLIENTE, CIDADE
LIST MALACLIENTE, FOLHASALRIO
// lista registro de outra
// rea
MALA (DBAPPEND( ))
// cria um registro em branco no
// arquivo mala.dbf
DBSETDRIVER( )
Propsito:
ainda
Sintaxe:
DBSETCRIVER(<NOME DRIVER>).
Exemplo:
:
:
DBSETDRIVER (DBFNDX)
IF (DBSETDRIVER <> DBFNDX)
? O DRIVER .NDX NO VLIDO
ENDIF
:
:
DBSETINDEX( )
Propsito:
Sintaxe:
Exemplo:
USE FOLHA
DBSETINDEX(INOME)
DBSETINDEX(ISOBRENO)
IF FOLHA-> (DBSEEK (SILVA))
? FOLHA-> NOME, FOLHA->INDEXRECO
ELSE
? REGISTRO NO ENCONTRADO
ENDIF
DBSETORDER( )
Propsito:
mestre
Sintaxe:
Exemplo:
USE FOLHA
SET INDEX TO INOME, ISOBRENOME
:
:
:
DBSETORDER(2)
// seta o segundo ndice aberto como
// principal, isto ISOBRENOME
DBSEEK (SILVA)
DBSETRELATION( )
Propsito:
Sintaxe:
<bloco
Exemplo:
USE CLIENTES INDEX ICODCLI
USE VENDAS NEW
DBSETRELATION(CLIENTES, {|| VENDAS->CODVENCLI},;
VENDAS->CODVENCLI)
LIST CLIENTES->NOME, VENDAS->VALOR
DBSKIP( )
Propsito:
Sintaxe:
Exemplo:
USE FOLHA
GO 1
DISPLAY
DBSKIP( 4 )
DISPLAY
SKIP - 2
DISPLAY
// resultado:
RECNO( ) = 5
// resultado:
RECNO( ) = 3
DBSTRUCT ()
Propsito:
Sintaxe:
DBSTRUCT ( ).
a
Exemplo:
# INCLUDE DBSTRUCT.CH
LOCAL ESTRUTURA
USE FOLHA NEW
ESTRUTURA := DBSTRUCT( )
DBUNLOCKALL ( )
Propsito:
Sintaxe:
DBUNLOCKALL ( ).
trabalho.
Exemplo:
USE FOLHA SHARED NEW
USE CLIENTES SHARED NEW
FOLHA (FLOCK())
CLIENTES (FLOCK())
// trava o arquivo
DBUNLOCKALL( )
// libera todos os travamentos
DBUSEAREA ( )
Propsito:
Sintaxe:
<arquivo>
).
Exemplo:
DBUSEAREA (.T., DBFNTX,VENDAS)
BROWSE( )
DELETED ( )
Propsito:
Verificar se o registro
corrente se
encontra
(marcado) atravs do comando DELETE.
Sintaxe:
DELETED ( ).
deletado
Exemplo:
DESCEND ( )
Propsito:
Sintaxe:
Exemplo:
DEVPOS ( )
Propsito:
nova
Sintaxe:
Movimentar a cabea de
impresso
posio especificada.
DEVPOS (<linha>,<coluna>).
para
uma
Exemplo:
SET DEVICE TO PRINT
@ 01,01 SAY EXEMPLO
DEVPOS(15,20)
// desloca a cabea de impresso exibe na
// linha 15, coluna 20
@ PROW( ), PCOL( ) SAY AS COORDENADAS MUDARAM
DEVOUTPICT ( )
Propsito:
como
Sintaxe:
,
Exemplo:
DEVPOS (5,5)
DEVOUT(GORKI STARLIN, @!, B/W)
DIRECTORY ( )
Propsito:
nesta,
Sintaxe:
armazenar
Exemplo:
# INCLUDE DIRECTRY.CH
//
inclui
o
arquivo
de
definies
LOCAL DIRETRIO := DIRECTRY (*.DBF, D)
// l o
diretrio
// avalia e executa o bloco de cdigo
AEVAL ( diretrio, {|arquivo| qout (arquivo [F_NAME])})
DISKSPACE ( )
Propsito:
determinada
Sintaxe:
Exemplo:
FUNCTION COPIASEG( )
// calcula o tamanho da cpia
TAMANHO := INT((RECSIZE * LASTREC + HEADER + 1 ))
// verifica se possvel a cpia no diskete
IF DISKSPACE(1) < tamanho // drive A
RETURN .F.
// retorne no possvel
ELSE
COPY TO A:BACKUP.DBF
// gera uma copia do b.d com o
nome
// backup.dbf no diskete da drive A
RETURN .T.
// retorne cpia OK!.
DOSERROR( )
Propsito:
Sintaxe:
DOSERROR( ).
D.O.S.
DOW( )
Propsito:
da
Sintaxe:
Exemplo:
// mostra o dia da semana da data de hoje (sistema)
? DOW (DATE( ))
// na forma de nmero
? DOW (DATE( ))
// na forma de uma cadeia de caracteres
DIA := 1
DO WHILE DIA <= 7
// faa enquanto dia <= 7
? DOW(DIA), CDOW(DIA)
// mostra o dia da semana
DIA ++
// equivalente a dia:= dia+1
ENDDO
DTOC( )
Propsito:
Sintaxe:
DTOC(<data>).
Exemplo:
? DATE( )
mostra a data de hoje (sistema)
? DATA DE HOJE ..: + DTOC(DATE( ))
// mostra a data, no
// formato de expresso caractere, concatenado em conjunto
// com uma cadeia de caracteres.
EMPTY( )
Propsito:
Sintaxe:
Exemplo:
VCOD := SPACE(5)
@ 10,10 SAY DIGITE O CDIGO....: GET VCOD PCT 99999;
VALID .NOT. EMPTY(VCOD)
READ
EOF( )
Propsito:
Sintaxe:
EOF( ).
no
Exemplo:
USE MALA INDEX CODI
VCOD:= SPACE(5)
@ 10,20 SAY CDIGO DO FUNCIONRIO A PESQUISAR..: GT VCOD
READ
SEEK VCOD
// pesquisa o cdigo digitado
IF EOF( )
// se for o final do arquivo
? registro no encontrado
ELSE
DISPLAY NOME, ENDEREO
ENDIF
ERRORBLOCK( )
Propsito:
Sintaxe:
ERRORLEVEL( )
Propsito:
do
Sintaxe:
EVAL( )
Propsito:
Sintaxe:
Exemplo:
BLOCO := {| ARGUMENTO| ARGUMENTO + 1}
? EVAL (BLOCO,4)
// resultado: 5
EXP( )
Propsito:
Sintaxe:
Calcular o E ** X.
EXP(<expoente>).
Exemplo:
? EXP(1)
// resultado: 2.72
FCLOSE( )
Propsito:
Sintaxe:
Exemplo:
HANDLE:= FOPEN (LEIAME.TXT)
// abrindo e obtendo o HENDLE
:
:
:
:
IF FCLOSE(HANDLE)
// fecha o arquivo LEIAME.TXT
? ARQUIVO FECHADO
ELSE
// seno conseguir fechar o arquivo
? NO FOI POSSVEL FECHAR O ARQUIVO
ENDIF
FCOUNT( )
Propsito:
Sintaxe:
FCOUNT( ).
de
Exemplo:
USE MALA
USE CADASTRO
? FCOUNT( )
? MALA (FCOUNT( ))
// resultado: 7
// resultado: 5
FCREATE( )
Propsito:
Sintaxe:
Exemplo:
HANDLE := FCREATE (LEIAME.TXT,O)
// cria o arquivo
IF HANDLE = -1
? houve erro na criao do arquivo
ELSE
FWRITE (HANDLE, ISTO E UMA MENSAGEM)
FCLOSE (HANDLE)
ENDIF
FERASE( )
Propsito:
Sintaxe:
Exemplo:
OPERAO := FERASE(LEIAME.TXT)
IF OPERAO = -1
? ERRO !, ARQUIVO NO FOI APAGADO
ELSE
? ARQUIVO APAGADO
ENDIF
FERROR( )
Propsito:
Sintaxe:
FERROR( ).
um
FIELD( )
Propsito:
dados
Sintaxe:
do
arquivo
de
Exemplo:
USE MALA
? FIELD(2)
// resultado: NOME
FOR I := TO FCOUNT( )
? FIELD(I)
NEXT
FILE( )
Propsito:
Sintaxe:
Exemplo:
USE MALA
// abre o arquivo de dados
IF FILE(NOMEI.NTX)
// se existir o arquivo NOMEI.NTX
SET INDEX TO NOMEI
// abre o arquivo de ndice
ELSE
// se existir
INDEX ON NOME TO NOMEI
//
cria
o
arquivo
ndice
ENDIF
IF FILE(\PRODUO\CADASTRO.DBF)// verifica no diretrio
// \PRODUO
.
.
.
de
FKLABEL( )
Propsito:
nome
Sintaxe:
Exemplo:
? FKLABEL(5)
? FKLABEL(7)
FKMAX( )
// resultado: F5
// resultado: F7
Propsito:
Sintaxe:
FKMAX( ).
Exemplo:
? FKMAX( )
// resultado: 40
FLOCK( )
Propsito:
Sintaxe:
FLOCK( ).
quando
de Redes
registros
ambiente
Exemplo:
USE MALA SHARED
// abre o arquivo compartilhado
IF FLOCK( )
? ARQUIVO TRAVADO!
REPLACE ALL SALRIO WITH SALARIO*1.2
ELSE
? NO FOI POSSVEL TRAVAR O ARQUIVO
ENDIF
FOPEN( )
Propsito:
Sintaxe:
FOUND( )
Propsito:
Sintaxe:
FOUND( ).
bem
Exemplo:
USE MALA
LOCATE NOME = JOO
IF FOUND( )
DISPLAY NOME, ENDEREO
ELSE
? REGISTRO NO ENCONTRADO
ENDIF
foi
FREAD( )
Propsito:
arquivo,
Sintaxe:
Exemplo:
# DEFINE BLOCO 128
BUFFER := SPACE(BLOCO)
HANDLE := FOPEN(LEIAME.TXT)
IF FERROR ( ) ! = 0
? NO FOI POSSVEL ABRIR O ARQUIVO
ELSE
IF FREAD (HANDLE, @BUFFER, BLOCO) <> BLOCO
? ERROR NA LEITURA DO ARQUIVO
ENDIF
ENDIF
?BUFFER
// mostra os caracteres lidos do um arquivo
FREADSTR( )
Propsito:
Sintaxe:
Exemplo:
# DEFINE FILEIO.CH
HANDLE := FOPEN (LEIAME.TXT, FC_NORMAL)
IF FERROR( ) ! = 0
? ERROR DE ABERTURA
CANCEL
ELSE
STRING
FCLOSE(HANDLE)
ENDIF
FRENAME( )
Propsito:
Sintaxe:
Exemplo:
IF FRENAME(LEIAME.TXT, NAOLEIAM.TXT) <> -1
? ARQUIVO RENOMEADO
ELSE
um
ENDIF
? FALHA NA OPERAO!!!
FSEEK( )
Propsito:
posio
Sintaxe:
nova
Exemplo:
# INCLUDE FILEIO.CH
// diretrio \clipper5\include
IF (HANDLE := FOPEN (LEIAME.TXT)) > 0
TAMANHO := FSEEK (HANDLE, 0, FS_END)
// posiciona o ponteiro no incio do arquivo
FSEEK (HANDLE, 0)
ELSE
? NO FOI POSSVEL ABRIR O ARQUIVO
ENDIF
FWRITE( )
Propsito:
arquivo
Sintaxe:
um
do
GETENV( )
Propsito:
sistema
Sintaxe:
varivel
Exemplo:
CAMINHO := GETENV (PATH)
// l a configurao do PATH do
DOS.
SET PATH TO (CAMINHO)
// configura o caminho de pesquisa de
// arquivo da aplicao, ajustando-a com o
// PATH corrente do DOS.
HARDCR( )
Propsito:
ou
uma
(CHR(13),
Sintaxe:
Exemplo:
USE CLIENTES
SET PRINT ON
//
//
//
//
? HARDCR(OBS)
memo
//
linha
mudana
automtica
de
// de Memoedit( ).
// desliga a impressora.
HEADER( )
Propsito:
Sintaxe:
HEADER( ).
de
Exemplo:
USE CLIENTES
? HEARDER( )
IF( )
Propsito:
Sintaxe:
Exemplo:
SALDO := 10000.00
R:= IF(SALDO <0, OK, SALDO NEGATIVO)// resultado: OK
N:= SPACE(30)
@ 10,10 SAY DIGITE O NOME...: GET N VALID;
IF(N <> SPACE(30), .T. , .F. )
// analisa a expresso
// digitada por GET
READ
INDEXEXT( )
Propsito:
de
Clipper,
Sintaxe:
INDEXEXT( ).
Exemplo:
USE MALA
// abre arquivo de dados.
IF .NOT. FILE(INOME + INDEXEXT( ) )
// verifica se o arquivo
// de ndice existe, a funo substitui a
// expresso .NDX OU NTX.
INDEX ON NOME TO INOME
// caso no exista, criado.
ENDIF
INDEXKEY( )
Propsito:
Sintaxe:
INDEXKEY(<ordem>).
especificado.
Exemplo:
USE CLIENTES INDEX INOME, IENDERECO
? INDEXKEY(2)
// resultado: IENDEREO
? INDEXKEY(1)
// resultado: INOME
INDEXORD( )
Propsito:
Fornecer a ordem
corrente.
Sintaxe:
INDEXORD( ).
ndice
de
abertura
do
arquivo de
Exemplo:
USE CLIENTES
SET INDEX TO INOME, ICEP, 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( )
Propsito:
Sintaxe:
Exemplo:
@ 22,10 SAY TECLE ALGO PARA CONTINUAR
TECLA := INKEY(5)
// espera por um mximo 5 segundos
? 23,01 SAY VOC PRESSIONOU A TECLA DE CDIGO..: + STR(TECLA)
INT( )
Propsito:
Sintaxe:
Exemplo:
VAR1:= VAR2:= 2929.93
? INT(VAR1), VAR2
// resultado: 2929
2929.93
ISALPHA( )
Propsito:
caractere
Sintaxe:
Exemplo:
VAR1:= RUA 13 DE MAIO
VAR2:= 1928
? ISALPHA(VAR1)
? ISALPHA(VAR2)
// resultado: .T.
// resultado: .F.
ISCOLOR( )
Propsito:
Sintaxe:
ISCOLOR( ).
aplicao
ISDIGIT( )
Propsito:
expresso
Sintaxe:
Pesquisa se o primeiro
caractere
caractere um nmero.
ISDIGIT(<expresso caractere>).
Exemplo:
VAR1:= RUA 13 DE MAIO
VAR2:= 1928
? ISDIGIT(VAR1)
resultado: .F.
? ISDIGIT(VAR2)
resultado: .T.
de
uma
ISLOWER( )
Propsito:
expresso
Sintaxe:
Pesquisa se o primeiro
caraactere
caractere uma letra maiscula.
ISLOWER(<expresso caractere>).
de
uma
LPT1
est
Exemplo:
VAR1:= RUA 13 DE MAIO
VAR2:= 1928
? ISLOWER(VAR1)
// resultado: .T.
? ISLOWER(VAR2)
// resultado: .F.
? ISLOWER(EDITORA ERICA)
// resultado: .F.
ISPRINTER( )
Propsito:
Sintaxe:
ISPRINTER( ).
pronta
na
Exemplo:
:
RESPOSTA := S
@ 22,10 SAY CONFIRMA SADA DO RELATRIO...: GET RESPOSTA
READ
IF .NOT. ISPRINTER( )
// verifica se a impresso no
se
// encontra pronta.
@ 23,10 SAY IMPRESSO NO PRONTA
TONE(300,1)
// emite um som
INKEY(3)
// aguarda trs segundos
LOOP
// sobe at a linha do DO WHILE
ENDIF
REPORT FORM RELFOLHA TO PRINT
// sada do relatrio.
ISUPPER( )
Propsito:
expresso
Sintaxe:
Pesquisar se o primeiro
caractere
caratere uma letra maiscula.
ISUPPER(<expresso caractere>).
Exemplo:
VAR1:= RUA 13 DE MAIO
VAR2:= 1928
? ISLOWER(VAR1)
// resultado: .T.
de
uma
? ISLOWER(VAR2)
// resultado: .F.
? ISLOWER(EDITORA ERICA)
// resultado: .T.
I2BIN( )
Propsito:
Sintaxe:
I2BIN( ).
inteiro
inteiro
para
LASTKEY( )
Propsito:
Sintaxe:
LASTKEY( ).
foi
Exemplo:
//
SEO DE @..GETS
READ
IF LASTKEY( ) = 27
RETURN
ENDIF
LASTREC( )
Propsito:
Sintaxe:
LASTREC( ).
dados
de
Exemplo:
USE CLIENTES
? RECCOUNT( ), LASTREC( )
SET FILTER TO ESTADO = SP
? LASTREC( )
COUNT TO TOTALREG
? TOTALREG
// resultado: 212
212
// resultado: 212
// resultado: 46
LEFT( )
Propsito:
de
Sintaxe:
Exemplo:
VAR := RUA 13 DE MAIO
? LEFT(VAR, 3)
// resultado: RUA
LEN( )
Propsito:
o
Sintaxe:
Exemplo:
LOCAL VAR
? LEN(RUA)
// resultado: 3
VAR := RUA 13 DE MAIO
? LEN(VAR)
// resultado: 14
LENNUM( )
Propsito:
Sintaxe:
Exemplo:
VAR := 299.999
? LENNUM(VAR)
// resultado: 7
LOG( )
Propsito:
Sintaxe:
LOG(<exp.numrica>).
numrica.
Exemplo:
? LOG(10)
? LOG(2.71)
// resultado: 2.30
// resultado: 1.00
LOWER( )
Propsito:
Sintaxe:
Exemplo:
NOME := JOO DA SILVA
? LOWER(NOME)
// resultado: JOO DA SILVA.
LTRIM( )
Propsito:
uma
Sintaxe:
Exemplo:
VALOR := 100
STRING := STR(VALOR)
? STRING
// resultado: 100
? LTRIM(STRING)
// resultado: 100
LUPDATE( )
Propsito:
Sintaxe:
LUPDATE( ).
dados
Exemplo:
USECLIENTES
? LUPDATE( )
// resultado: DD/MM/AA
L2BIN( )
Propsito:
32
Sintaxe:
MAX( )
Propsito:
numricas
Sintaxe:
Exemplo:
? MAX (200, 292)
// resultado: 292
MAXCOL( )
Propsito:
Sintaxe:
MAXCOL( ).
da
Exemplo:
MAXROW( )
Propsito:
Sintaxe:
Exemplo:
OBS := SPACE(10)
MEMOEDIT(OBS,0,0, MAXROW( ), MAXCOL( ) )
MEMOEDIT( )
Propsito:
ou
Sintaxe:
inicial>,
<modo
da linha>,
<coluna
Exemplo:
FALTA EXEMPLO
CLEAR
USE CLIENTES
LOCATE FOR NOME = JOO
// acesa um registro
@ 2,2 TO 22,79 DOUBLE
TEXTO = SPACE (10)
TEXTO:= MEMOEDIT ( TEXTO,3,3,21,78,.T., ACENTO)
REPLACE OBS WITH TEXTO
// salva texto no campo do
arquivo
// :
// :
************************************************************
*
ACENTUAO DE CAMPOS MEMOS EM CLIPPER 5.0/5.01
*
POR: GORKI STARLIN C. OLIVEIRA
*
DATA: NOV. 92
************************************************************
FUNCTION ACENTO ( MODO, LINHA, COLUNA)
// DEFINIR A FUNO
# DEFINE INSERT 22
//
cria
uma
coluna
contante
LOCAL RETORNA := LASTKEY( )
// armazena a ltima tecla
CURSOR := .T.
// modo insert -> .T. (insere)
@ 01,02 SAY LINHA...: + STR(LINHA) + COLUNA...: + STR(COLUNA)
DO CASE
// faa os casos
CASE MODO = 3
cursor
CURSOR := .F.
// cursor normal
SET CURSOR( IF(CURSOR,2,1) )
// muda a forma do
TECLAS( )
// chama a funo tecals( )
CASE MODO = 0
// modo em estado de espera
IF READINSERT( ) != CURSOR
SETCURSOR( IF(CURSOR,2,1) )
// muda a forma
do
// cursor
ENDIF
TECLAS( )
OTHERWISE // <F2> ou <CONTRL-W> grava e sai do memoedit( )
IF LASTKEY( ) = - 1
// se teclar <F2>
RETORNA := 23
// retorna <CTRL>+<W>
ELSEIF
LASTEKEY( ) = INSERT
CURSOR = !READINSERT( )
SETCURSOR(IF (CURSOR,2,1) )
RETORNA := 22
ENDIF
DO CASE
RETURN (retorna)// retorna o controle para DBEDIT( ).
// ATIVA AS FUNES DE TRATAMENTO DE ACENTOS
FUNCTION TECLAS
// define a funo teclas( ).
// interliga teclas as funes de tratamento individual de
// acentos.
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 .T.
FUNCTION AGUDO( )
// Esta funo ser chamada toda vez que a tecla (), 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
KEYBOAD CARACTER
ENDCASE
RETURN .T.
FUNCTION CRAZE
// Esta funo ser chamada toda vez que a tecla(^), 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.
// FUNO PARA TREMA - ASPAS - CHR(34)
FUNCTION TREMA( )
// Esta funo ser chamada toda vez que a tecla(), 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 .T.
// FUNO PARA O TRATAMENTO DE CEDILHA - CHR(47) - /
FUNCTION CCEDILHA( )
// Esta funo ser chamada toda vez que a tecla(,), 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.
// FUNO PARA TRATAMENTO TO ACENTO TIL - CHR(126)
FUNCTION TIL( )
// Esta funo 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 .T.
MEMOLINE( )
Propsito:
ou
Sintaxe:
<nmero
<rolagem>).
Exemplo:
//
IMPRESSO DE CAMPOS MEMOS
USE CLIENTES
GOTO 3
T_LINHAS := MLCOUNT(OBS,40,3,.T.)
// obtm a quantidade de
// linhas
SET PRINT ON
// liga a sada da console para a impressora
FOR I := 1 TO T_LINHAS
? MEMOLINE (OBS,40,I,3,.T.)
NEXT
SET PRINT OFF
// desliga a impressora
MEMOREAD( )
Propsito:
do
Sintaxe:
Exemplo:
// EDITOR DE TEXTOS
CLEAR
VARQUIVO:= SPACE(12)
@ 05,20 SAY EDITOR DE TEXTOS EM CLIPPER
@ 10,15 SAY NOME DO ARQUIVO PARA EDITAR......: GET VARQUIVO
READ
EDITARQUIVO:= MEMOREAD(VARQUIVO)
@ 00,00 TO 24,79 DOUBLE
EDITARQUIVO:= MEMOEDIT(EDITARQUIVO, 01,01,23,78)
IF .NOT. MEMOWRIT(VARQUIVO,EDITARQUIVO)
? NO FOI POSSVEL GRAVAR O TEXTO
ENDIF
MEMORY( )
Propsito:
do
Sintaxe:
Exemplo:
IF MEMORY(2)>= 128
RUN RELOGIO.EXE
ELSE
ENDIF
MEMOTRAN( )
Propsito:
Sintaxe:
MEMOTRAN(<campo>,
return/line
caractere.
manual>,
<substituio
<substituio automtica>).
Exemplo:
REPLACE OBS WITH MEMOTRAN(OBS, , ) // retira todos os
// caracteres de controle do texto.
MEMOWRIT( )
Propsito:
ou
Sintaxe:
Exemplo:
// EDITOR DE TEXTOS
CLEAR
VARQUIVO:= SPACE(12)
@ 05,20 SAY EDITOR DE TEXTOS EM CLIPPER
@ 10,15 SAY NOME DO ARQUIVO PARA EDITAR....: GET VARQUIVO
READ
EDITARQUIVO:= MEMOREAD(VARQUIVO)
@ 00,00 TO 24,79 DOUBLE
EDITARQUIVO:= MEMOEDIT(EDITARQUIVO, 1,1,23,78)
IF .NOT. MEMOWRIT (VARQUIVO, EDITARQUIVO)
? NO FOI POSSVEL GRAVAR O TEXTO
ENDIF
MIN( )
Propsito:
expresses
Sintaxe:
Exemplo:
ou
? MIN (300,252)
// resultado: 252
? MIN (DATE( ), DATE( ) + 5)
// resultado: o valor de date( )
MLCOUNT( )
Propsito:
ou
Sintaxe:
da
Exemplo:
// IMPRESSO DE CAMPOS MEMOS
USE CLIENTES
GOTO 3
T_LINHAS := MLCOUNT(OBS,40,3,.T.)
// obtm a quantidade de
// linhas
SET PRINT ON
// liga a sada da console para a impressora
FOR I := 1 TO T_LINHAS
? MEMOLINE(OBAS,40,I,3,.T.)
NEXT
SET PRINT OFF
// desliga a impressora
MLPOS( )
Propsito:
um
Sintaxe:
linha>,
Exemplo:
TEXTO := MEMOREAD(TESTE.TXT)
POSICAO := MLPOS(TEXTO, 40, 5)
? SUBSTR(TEXTO, POSICAO, 15)
MOD( )
Propsito:
Sintaxe:
MOD(VALOR1, VALOR2).
outro.
MONTH( )
Propsito:
um
Sintaxe:
para
Exemplo:
SET DATE TO BRIT
? DATE( )
? MONTH(DATE( ) )
data
// do sistema.
? MONTH(CTOD(11/10/92))
// resultado: 10
NETERR( )
Propsito:
Sintaxe:
NETERR( ).
de
Exemplo:
NETNAME( )
Propsito:
Sintaxe:
NETNAME( ).
Rede
corrente
na
Exemplo:
? NETNAME( )
// resultado: ESTAO 3
NEXTKEY( )
Propsito:
Sintaxe:
NEXTKEY( ).
no
Exemplo:
caractere
pendente
KEYBOARD A
? NEXTKEY( ), LASTKEY( )
? INKEY( ), LASKTKEY( )
? NEXTKEY( )
OS( )
Propsito:
Sintaxe:
Exemplo:
? OS( )
PAD( )
Propsito:
em
ou
Sintaxe:
Exemplo:
DADO1:= RICA
DADO2:= RICA
DADO1:= RICA
? PADC(DADO1,20,= )
? PADL(DADO1,20,= )
? PADR(DADO1,20,= )
// resultado: =====RICA=======
// resultado: ============RICA
// resultado: RICA============
PCOL( )
Propsito:
Sintaxe:
PCOL( ).
da
Exemplo:
coluna
PCOUNT( )
Propsito:
Sintaxe:
PCOUNT( ).
rotina
Exemplo:
A:= 37
B:= 39
IF COMPARA(A,B)
:
:
<instrues>
:
FUNCTION COMPARA(VALOR1, VALOR2)
IF PCOUNT( ) = 0// se no foi passado nenhum parmetro
? ERRO, NO FORAM PASSADOS OS VALORES PARA COMPARAO
RETURN
ENDIF
IF VALOR1 = VALOR2
RETURN .T.
ELSE
RETURN .F.
ENDIF
PROCLINE( )
Propsito:
Sintaxe:
Exemplo:
FUNCTION COMPARA(VALOR1, VALOR2)
IF PCOUNT( ) = 0
// se no foi passado nenhum parmetro
? ERRO, NO FORAM PASSADOS OS VALORES PARA COMPARAO
RETURN
ENDIF
? PROCLINE( )
// resultado: 11
IF VALOR1 = VALOR2
RETURN .T.
ELSE
RETURN .F.
ENDIF
PROCNAME( )
Propsito:
sendo
Sintaxe:
PROW( )
que
foi
ou
est
Propsito:
Sintaxe:
PROW( ).
da
Exemplo:
QOUT( )
Propsito:
Sintaxe:
Exemplo:
QOUT (DATE( ), TIME( ) )
QOUT (EDITORA ERICA)
QQOUT( )
Propsito:
mesma
Sintaxe:
no
console
na
de
Exemplo:
QQOUT (DATE( ), TIME( ) )
QQOUT (EDITORA ERICA)
RAT( )
Propsito:
uma
Sintaxe:
Exemplo:
? RAT(RJ, SP_RJ_RS,PA)
READEXIT( )
Propsito:
Sintaxe:
READEXIT(<.T.>|<.F.>).
para
seta
Exemplo:
CLEAR
READEXIT(.T.)
// liga a sada atravs das teclas
ENDERECO:= NOME:= SPACE(30)
@ 10,10 SAY NOME...........: GET NOME
@ 12,10 SAY ENDEREO.......: GET ENDEREO
READ
READINSERT( )
Propsito:
Sintaxe:
Exemplo:
CLEAR
ENDERECO:= NOME:= SPACE(30)
@ 23,10 SAY TECLE <F2> PARA INSERO
@ 10,10 SAY NOME........: GET NOME
@ 12,10 SAY ENDEREO....: GET ENDEREO
SET KEY -1 TO INSERE( )
READ
FUNCTION INSERE( )
IF READINSERT( )
// insert ligado
READINSERT(.F.)
@ 00,65 SAY
ELSE
READINSERT(.T.)
@ 00, 65 SAY INSERE
ENDIF
RETURN
READKEY( )
Propsito:
Sintaxe:
READ.
READKEY( ).
um
READMODAL( )
Propsito:
Sintaxe:
READVAR( )
Propsito:
Sintaxe:
Exemplo:
CLEAR
SET KEY -2 TO TESTE( )
// tecla F2 para rodar a funo
teste( )
NOME:= ENDERECO:= SPACE(30)
@ 10,10 SAY NOME.....................: GET NOME
@ 12,10 SAY ENDEREO.................: GET ENDEREO
READ
FUNCTION TESTE( )
IF READVAR + NOME
? VOC ESTA PROCESSANDO A VARIVEL DO NOME
ELSEIF READVAR = ENDEREO
? VOC ESTA PROCESSANDO A VARIVEL DO ENDEREO
ENDIF
RETURN
RECCOUNT( )
Propsito:
Sintaxe:
RECCOUNT( ).
atual.
Exemplo:
USE MALA
? RECCOUNT( )
COUNT TO TOTALREG
? TOTAL REG
SET DELETE ON
? RECCOUNT( )
COUNT TO TOTALREG
? TOTAL REG
// resultado: 115
// resultado: 115
// omite os registro deletados
// resultado: 115
// resultado: 94
RECNO( )
Propsito:
Sintaxe:
Exemplo:
USE MALA
GO 1
? RECNO( )
SKIP + 3
? RECNO( )
// resultado: 1
// resultado: 4
RECSIZE( )
Propsito:
Sintaxe:
Exemplo:
USE MALA
? TAMANHO TOTAL DO ARQUIVO
?? RECSIZE( ) * LASTREC( ) + HEADER( )
REPLICATE( )
Propsito:
repetio
Sintaxe:
Exemplo:
? REPLICATE(=, 5)
? REPLICATE(CASA, 3)
// resultado: =======
// resultado: CASACASACASA
RESTSCREEN( )
Propsito:
uma
Sintaxe:
<L_Final>,
Exemplo:
CLEAR
@ 10,10 TO 20,70 DOUBLE
A:= SAVESCREEN(10,10,20,70)
CLEAR
RESTCREEN(10,10,20,70,A)
RIGHT( )
Propsito:
uma
Sintaxe:
partir
de
Exemplo:
? RIGHT (EDITORA ERICA, 5)
// resultado: ERICA
RLOCK( )
Propsito:
Sintaxe:
RLOCK( ).
em
de dados
Exemplo:
USE MALA SHARED
SEEK JOO
IF RLOCK( )
DELETE
? REGISTRO DELETADO!!!
ELSE
? REGISTRO NO PODE SER TRAVADO (ALTERADO) NESTE;
MOMENTO
ENDIF
ROUND( )
Propsito:
Sintaxe:
Exemplo:
? ROUND(103.338556,2)
? ROUND(103.33855, 0)
// resultado:
// resultado:
103.34
103.00
ROW( )
Propsito:
Sintaxe:
ROW( ).
se
Exemplo:
CLEAR
@
@
@
@
@
10
NA LINHA 13
NA LINHA 12
20
NA LINHA 21
RTRIM( )
Propsito:
uma
Sintaxe:
de
Exemplo:
CEP := 11020202
ESTADO := SP + SPACE(10)
// estado = SP
? ESTADO + CEP
// resultado : SP
11020202
? RTRIM(ESTADO)+CEP
// resultado: SP 11020202
SAVESCREEN( )
Propsito:
Sintaxe:
<L_Final>,
<C_inicial>,
Exemplo:
CLEAR
@ 10,10 TO 20,70 DOUBLE
// desenha uma moldura
A := SAVESCREEN(10,10,20,70)
// salva a tela
? TECLE ALGO
INKEY(0)
CLEAR
// limpa a tela
RESTSCREEN(10,10,20,70,A) // restaura a tela anteriormente
salva
SCROLL( )
Propsito:
Sintaxe:
<L_Final>,
Exemplo:
RETURN
SECONDS( )
Propsito:
Sintaxe:
SECONDS( ).
do
Exemplo:
? TIME( )
? SECONDS( )
// resultado: 10:00
// resultado: 36000
SELECT( )
Propsito:
Sintaxe:
Exemplo:
USE MALA NEW
? SELECT( )
USE CLIENTES NEW
? SELECT( )
? SELECT(MALA)
// resultado: 1
// resultado: 2
// resultado: 1
SETCANCEL( )
Propsito:
Sintaxe:
Exemplo:
/*
PROGRAMA: PRINCIPAL.PRG
AUTOR: GORKI STARLIN
*/
SET DELETE ON
SET CONFIRM ON
SETCANCEL(.F.)
SETCOLOR( )
Propsito:
configurao
Sintaxe:
verificar
Exemplo:
ATUAL
:= SETCOLOR( )
PADRO := BR+/N
DESTAQUE := R+/N
SET COLOR(PADRO, DESTAQUE)
SETCURSOR( )
Propsito:
Sintaxe:
Exemplo:
CLEAR
NOME := ENDEREO := SPACE(30)
// inicializa as variveis
SETCURSOR(1)
@ 10,10 SAY NOME.................: GET NOME
SETCURSOR(3)
@ 12,10 SAY ENDEREO.............: GET ENDEREO
READ
SETKEY( )
Propsito:
uma
Sintaxe:
SETPOS( )
Propsito:
Sintaxe:
Exemplo:
?
?
?
?
SETPOS(10,20)
TESTE
SETPOS(20,10)
TESTE
SETPRC( )
Propsito:
Sintaxe:
Exemplo:
SET DEVICE TO PRINTER
SETPRC(10,15)
@ PROW( ), PCOL( ) SAY TESTE
// na linha 10 coluna 15 do
// papel.
SOUNDEX( )
Propsito:
expresso
Sintaxe:
uma
Exemplo:
USE MALA
INDEX ON SOUNDEX(NOME) TO INOME.NTX
SEEK SOUNDEX (JOO)
// pesquisa a fontica do nome JOO
IF FOUND( )
DISPLAY NOME, ENDEREO, CIDADE
ELSE
? NO ENCONTRADO
ENDIF
SPACE( )
Propsito:
Sintaxe:
Exemplo:
NOME := SAPCE( )
// armazena 30 espao dentro da varivel
? TESTE! + SPACE(20) + TESTE2
SQRT( )
Propsito:
Sintaxe:
Exemplo:
? SQRT(2)
? SQRT(4)
// resultado:
// resultado:
1.41
2.00
STR( )
Propsito:
expresso
Sintaxe:
Exemplo:
SALRIO := 3020.29
? SRT(SALARIO,4)
? SRT(SALARIO,7,3)
// resultado:
3030
// resultado:
3020.290
STRTRAN( )
Propsito:
campo
Sintaxe:
<substituio>,
Exemplo:
TEXTO:= CLIPPER 5.X E CLIPPER 87
? STRTRAN(TEXTO,CLIPPER, VERSO)
STUFF( )
Propsito:
Sintaxe:
Exemplo:
// somente inserir
TESTE := JCARLOS
? STUFF(TESTE1, 2, 0, OAO)
// extrair e depois inserir
? STUFF(TESTE1, 2, 6, OAO)
SUBSTR( )
Propsito:
Sintaxe:
Exemplo:
TESTE1 := JOO CARLOS
? SUBSTR(TESTE1, 1, 4)
? SUBSTR(TESTE1, 5, 7)
// resultado: JOO
// resultado: CARLOS
TIME( )
Propsito:
Sintaxe:
Exemplo:
CLEAR
@ 10,10 SAY HORA ATUAL......: + TIME( )
TONE( )
Propsito:
durao
Sintaxe:
com
uma
Exemplo:
BEEP( )
FUNCITION BEEP
TONE(300,18)
TONE(200,26)
TRANSFORM( )
Propsito:
de
Sintaxe:
uma
cadeia
Exemplo:
? TRANSFORM(EDITORA ERICA, @!)
ERICA
//
resultado:
TYPE( )
Propsito:
Sintaxe:
Exemplo:
EDITORA
VALOR := 1919
NOME := JOO
BLOCO := {|| L++}
? TYPE(VALOR)
? TYPE(NOME)
? TYPE(BLOCO)
// resultado: N
// resultado: C
// resultado: B
UPDATED( )
Propsito:
Sintaxe:
UPDATED( ).
em
Exemplo:
USE MALA
DO WHILE .T.
CLEAR
@ 07,15 SAY CADASTRAMENTO
VNOME := SPACE(30)
VENDERECO := SPACE(40)
@ 10,10 SAY NOME...........: GET VNOME PICT @!
@ 12,10 SAY ENDEREO.......: GET VENDERECO PICT @!
READ
IF .NOT. UPDATED( )
// se no foi alterado
LOOP
// sobe ao DO WHILE
ENDIF
APPEND BLANK
REPLACE NOME WITH VNOME
REPLACE ENDEREO WITH VENDERECO
ENDDO
UPPER( )
Propsito:
Sintaxe:
Exemplo:
NOME := EDITORA ERICA
? UPPER(NOME)
// resultado:
EDITORA ERICA
@ 20,20 SAY NOME........: + UPPER(NOME)
USED( )
Propsito:
Sintaxe:
USED( ).
de
Exemplo:
USE MALA NEW
// abre o arquivo de dados MALA
USE CLIENTES NEW// abre o arquivo de dados CLIENTES
? USED( )
// resultado: .T. (CLIENTES.DBF)
SELECT MALA
// seleciona a rea de trabalho do MALA
? USED( )
// resultado: .T. (MALA.DBF)
USE
// fecham o arquivo de dados mala
? USED( )
// resultado: .F. (NO EXISTE .DBF NESTA
REA DE TRABALHO)
VAL( )
Propsito:
valor
Sintaxe:
Converter uma
numrico.
VAL(<string>).
expresso
caractere
em
um
Exemplo:
SALRIO := 2929.20
? VAL (SALRIO) * 2
TESTE := COMPUTADOR
? VAL(TESTE)
// resultado: 0
VALTYPE( )
Propsito:
Sintaxe:
VALTYPE(<dado>).
expresso.
Exemplo:
?
?
?
?
VALTYPE(STR( ) )
VALTYPE(SQRT( ))
VALTYPE(2929)
VALTYPE(JOO)
//
//
//
//
retorna: C
retorna: N
retorna: N
resultado: C
VERSION( )
Propsito:
Sintaxe:
Exemplo:
? VERSION( )
// resultado:
Clipper 5.2
WORD( )
Propsito:
um
Sintaxe:
Exemplo:
CALL progC WITH WORD (10200),
um texto qualquer
YEAR( )
Propsito:
Sintaxe:
Exemplo:
SET DATE BRIT
? YEAR (DATE( ) )
// resultado:
DATA := CTOD (20/12/93)
? YEAR (DATA)
// resultado:
93
93