Академический Документы
Профессиональный Документы
Культура Документы
Sumrio
1 OPERADORES...............................................................................................................................................3
2 OPERADORES DE CARACTERES............................................................................................................3
3 OPERADORES DE DATA E DATAHORA.................................................................................................3
4 OPERADORES LGICOS............................................................................................................................4
5 OPERADORES RELACIONAIS..................................................................................................................4
6 OPERADORES NUMRICOS......................................................................................................................5
7 DECLARAO DE VARIVEIS.................................................................................................................5
8 MATRIZES......................................................................................................................................................5
SINTAXE...........................................................................................................................................................5
ARGUMENTOS................................................................................................................................................5
MATRIZES, EXEMPLO DO COMANDO....................................................................................................6
9 CURSORES.....................................................................................................................................................6
SINTAXE...........................................................................................................................................................6
ARGUMENTOS................................................................................................................................................6
CURSOR, EXEMPLO DO COMANDO.........................................................................................................6
10 FUNES E PROCEDIMENTOS..............................................................................................................6
SINTAXE...........................................................................................................................................................7
ARGUMENTOS................................................................................................................................................7
FUNO E PROCEDIMENTO, EXEMPLO DO COMANDO..................................................................7
11 O COMANDO DO WHILE ... ENDDO......................................................................................................9
SINTAXE...........................................................................................................................................................9
ARGUMENTOS................................................................................................................................................9
DO WHILE...ENDDO,EXEMPLO DO COMANDO....................................................................................9
12 O COMANDO FOR... ENDFOR...............................................................................................................10
SINTAXE.........................................................................................................................................................10
Operadores
Os operadores permitem que voc manipule dados do mesmo tipo. Os operadores do Visual FoxPro so
agrupados pelas seguintes funes e tipos de dados:
Operadores de caracteres
Operadores de data e DataHora
Operadores lgicos
Operadores relacionais
Operadores numricos
Operadores de caracteres
Ao
Concatenao. Junta duas
seqncias, uma seqncia e
um campo ou uma seqncia e
uma varivel.
Cdigo exemplo
? 'bom ' + 'dia'
? A $ ADAO
O operador $ sensvel caixa alta e caixa baixa dos caracteres significando que far diferena entre
maisculas e minsculas. Uma boa prtica utilizar as funes de converso UPPER() e LOWER para
tornar as sentenas totalmente maisculas ou minsculas respectivamente antes de compar-las.
No Visual FoxPro podemos adicionar ou subtrair nmeros a uma data, ou, datas podem ser somadas ou
subtradas entre si. Matematicamente falando, para o Visual FoxPro uma data um nmero de dias.
Assim sendo, podemos adicionar ou subtrair qualquer nmero de dias a uma data. Os operadores abaixo
agem sobre as datas e horas.
Operador
Ao
Cdigo exemplo
Adio .
?CTOD('01/01/2006') + 1
Subtrao
?CTOD('01/01/2006') - 1
Operadores Lgicos
Operador
Ao
Cdigo exemplo
()
Grupos de expresso
NOT
Negativo lgico
? NOT 2 = 1
AND
AND lgico
OR
OR inclusivo lgico
?.t. OR .f.
Operadores Relacionais
Ao
Cdigo exemplo
<
Menor que
? 23 < 54
>
Maior que
?1>2
Igual a
?3=3
<>
No igual a
<=
Menor ou igual a
? 5 <= 9
>=
Maior ou igual a
? 32 >= 28
==
Comparao de seqncia de
caracteres
? FOXPRO == FOXPR
Operadores Numricos
A tabela seguinte traz uma lista dos operadores numricos em ordem de precedncia.
Operador
Ao
Cdigo exemplo
()
Subexpresses de grupo
? (4-3) * (12/6)
*, /
Multiplicao e diviso
Mdulo (resto)
?2*7
? 14 / 7
? 15 % 4
+, -
Adio e subtrao
? 4 + 15
? 15- 4
Declarao de Variveis
Declarar variveis no Visual FoxPro algo muito simples. Diferentemente de outras linguagens, pode-se
at mesmo atribuir valores a variveis sem mesmo t-la declarado explicitamente. Quando voc
armazena um valor em uma varivel e esta varivel no existe, o Visual FoxPro ir declar-la
implicitamente.
Exemplo:
nNumero = 15
? nNumero
Matrizes
Uma matriz uma coleo de variveis, acessveis com um nico nome e armazenados contiguamente
na memria. A individualizao de cada varivel de chamada de vetor e feita atravs do uso de ndices.
Sintaxe
DECLARE mMatriz[nNumeroVetores]
Argumentos
Cursores
10
Funes e Procedimentos
6
Argumentos
NomeProcedimento especifica o nome do procedimento a ser criado.
[parametro1,parametro2,...] especifica os parmetros que devem ser passados para o procedimento.
Podem ser especificados at 26 parmetros para um procedimento, separados por vrgula.
Comandos so os comandos que comporo o procedimento.
[RETURN [eExpresso]] Pode ser usado para retornar um valor para o programa que a chamou.
STORE 0 TO nRetorno
STORE "" TO cDiaSemana
nRetorno = DOW(dData)
DO CASE
CASE nRetorno = 1
cDiaSemana = "Domingo"
CASE nRetorno = 2
cDiaSemana = "Segunda"
CASE nRetorno = 3
cDiaSemana = "Tera-Feira"
CASE nRetorno = 4
cDiaSemana = "Quarta-Feira"
CASE nRetorno = 5
cDiaSemana = "Quinta-Feira"
CASE nRetorno = 6
cDiaSemana = "Sexta-Feira"
CASE nRetorno = 7
cDiaSemana = "Sbado"
ENDCASE
RETURN(cDiaSemana)
8
11
12
IF lExpresso [THEN]
Comandos
[ELSE
Comandos]
ENDIF
Argumentos
lExpresso Especifica a expresso lgica avaliada. Caso lExpresso resulte em verdadeiro (.T.), todos
os comandos depois de IF ou THEN e antes de ELSE ou ENDIF (aquele que ocorrer primeiro) sero
executados.
Se lExpresso for falso (.F.) e ELSE for includo, todos os comandos depois de ELSE e antes de ENDIF
sero executados.
Se lExpresso for falso (.F.) e ELSE no for includo, todos os comandos entre IF e ENDIF sero
ignorados. Neste caso, a execuo do programa continuar com o primeiro comando depois de ENDIF.
Comentrios
possvel aninhar um bloco IF... ENDIF dentro de outro bloco IF... ENDIF. Os comentrios precedidos
por && podem ser colocados na mesma linha depois de IF, THEN, ELSE e ENDIF. Esses comentrios
so ignorados durante a compilao e a execuo do programa.
Exemplo de uso do comando IF...ENDIF
NSalario
IF nSalario <= 100
NSalario = nSalario + 30
ELSE
NSalario = nSalario + 20
ENDIF
13
Executa o primeiro conjunto de comandos cuja expresso condicional resulta em verdadeiro (.T.).
Sintaxe
11
DO CASE
CASE lExpresso1
Comandos
[CASE lExpresso2
Comandos
...
CASE lExpressoN
Comandos]
[OTHERWISE
Comandos]
ENDCASE
Argumentos
CASE lExpresso1 Comandos ... Quando a primeira expresso CASE verdadeira (.T.) localizada, o
conjunto de comandos que a acompanha executado. A execuo do conjunto de comandos continua
at que a prxima clusula CASE ou ENDCASE seja localizada. A execuo retomada, ento, pelo
primeiro comando seguinte a ENDCASE. Se uma expresso CASE for falsa (.F.), o conjunto de
comandos seguintes a ela at a prxima clusula CASE ser ignorado. Apenas um conjunto de
comandos executado. o primeiro conjunto de comandos cuja expresso CASE resulta em verdadeiro
(.T.). Qualquer expresso CASE verdadeira (.T.) posterior ser ignorada.
OTHERWISE Comandos Se todas as expresses CASE resultarem em falso (.F.), OTHERWISE
determinar se um conjunto de comandos adicionais ser executado.
Se voc incluir OTHERWISE, os comandos que acompanham OTHERWISE sero executados e a
execuo saltar para o primeiro comando que acompanha ENDCASE.
Se voc omitir OTHERWISE, a execuo saltar para o primeiro comando que acompanha ENDCASE.
Comentrios
DO CASE utilizado para executar um conjunto de comandos do Visual FoxPro, baseado no valor de
uma expresso lgica. Quando DO CASE executado, as expresses lgicas sucessivas so avaliadas;
os valores das expresses determinam o conjunto de comandos que ser executado.
Podem ser colocados comentrios na mesma linha, aps DO CASE e ENDCASE. Os comentrios so
ignorados durante a compilao e execuo do programa.
Exemplo do comando DO CASE ... ENDCASE
nSalario = 1000
12
cSituacao =
DO CASE
CASE nSalario <= 100
cSituacao = Baixa
CASE nSalario > 100 AND nSalario <= 500
cSituacao = Boa
OTHERWISE
cSituacao = Otima
ENDCASE
14
O Comando F_SELECT
O camdo F_SELECT utilizado para pesquisar registros de uma tabela do banco de dados.
Sintaxe
F_SELECT(cTabela, cCondicao, cCursor, cOrdem, cCampos)
Argumentos
cTabela Especifica o nome da tabela a ser consultada.
cCondicao Condio utilizada na consulta. Ou seja um filtro de quais os registros desejados.
cCursor Nome para o cursor que ser criado automaticamente com o resultado da consulta.A U L A
cOrdem Ordem imposta os registros retornados da consulta. Todas as condies da ordem devem
estar separadas por virgula.
cCampos Determina quais os campos da tabela tero seus valores apresentados pelo consulta. Todos
os campos devem estar separados por virgula.
13
15
O Comando F_UPDATE
O camdo F_UPDATE utilizado para atualizar registros de uma tabela no banco de dados.
Sintaxe
F_UPDATE(cTabela, cSet, cWhere)
Argumentos
cTabela Especifica o nome da tabela a ser atualizada.
cSet Determina quais os campos da tabela tero seus valores alterados. Todos os campos e seus
respectivos valores devem estar separados por virgula.
cWhere Condio utilizada na atualizao. Ou seja quais os registros sero atualizados.
16
O Comando F_INSERT
O camdo F_INSERT utilizado para inserir registros em uma tabela no banco de dados.
Sintaxe
F_INSERT(cTabela, cCampos, cValores)
Argumentos
cTabela Especifica o nome da tabela ter registros inseridos.
14
cCampos Determina quais os campos da tabela sero preenchidos . Todos os campos devem estar
separados por virgula.
cValores Valores para o preenchimento dos campos especificados em cCampos. Todos os campos
devem estar separados por virgula e seguir rigorosamente a ordem que foram dispostos em cCampos.
17
O Comando F_DELETE
O camdo F_DELTE utilizado para eliminar registros de uma tabela no banco de dados.
Sintaxe
F_DELETE(cTabela, cCondicao)
Argumentos
cTabela Especifica o nome da tabela ter registros eliminados.
cCondicao Condio utilizada para eliminar. Ou seja um filtro de quais os registros sero eliminados.
15