Dinarte Incio Kreutz
Refferrnciias :: Estte ttrraballho ffoii desenvollviido a
parrttiirr do HELP do VFP 6 Re e nc as Es e aba ho o desenvo v do a
pa do HELP do VFP 6 Auttorr :: Diinarrtte IInciio Krreuttz //
Analliistta de Siisttemas Au o D na e nc o K eu z Ana s a de S s
emas E--maiill :: [email protected] E ma mona sa@bewne
com b
http://www.visualscreen.hpg.com.br
IMPORTANTE :: Estta aposttiilla ttraz os comandos do Viisuall
FoxPro,, IMPORTANTE Es a apos a raz os comandos do V sua FoxPro
priinciipallmentte aquelles que podem ser iimediiattamentte
aplliicados por pr nc pa men e aque es que podem ser med a amen e
ap cados por Programadores que estto miigrando do CLIPPER..
Programadores que es o m grando do CLIPPER
COMANDOS E FUNES RUN | !, comando Executa programas ou comandos
operacionais externos. Sintaxe RUN [/N [K]] ComandoMS-DOS |
NomePrograma Ou ! [/N [K]] ComandoMS-DOS | NomePrograma Argumentos
ComandoMS-DOS Especifica o comando do MS-DOS a ser executado.
Consulte a documentao do MS-DOS para obter maiores informaes sobre
os comandos disponveis. NomePrograma Especifica o programa ou o
aplicativo a ser executado. Poder ser especificado um programa ou
aplicativo baseado no Windows ou no MS-DOS. /N [K] Especifica
NOWAIT. Inclua a letra N (no substitua N por um valor numrico nem
inclua K) para executar outro aplicativo do Windows. Comentrios
possvel emitir RUN de dentro da janela Comando ou de outro
programa. Importante Para utilizar RUN, voc precisa ter o arquivo
de sistema operacional COMMAND.COM no diretrio atual ou esse
arquivo dever estar localizado onde o parmetro MSDOS COMSPEC possa
encontr-lo. Para obter maiores informaes sobre COMSPEC, consulte a
documentao do MS-DOS. Cuidado No utilize RUN para executar
programas de reorganizao de disco, como o CHKDSK, a partir do
Visual FoxPro. Esses programas modificam o contedo do seu disco de
maneira a impedir o bom funcionamento do Visual FoxPro. RUN e
Visual FoxPro Quando RUN utilizado para executar programas fora do
Visual FoxPro, ele pesquisa os programas de forma um pouco
diferente do FoxPro para MS-DOS. Se o programa especificado em RUN
no possuir uma extenso, o Visual FoxPro procurar primeiro, no
caminho do MS-DOS, um arquivo PIF (Program Information File) com o
nome que voc indicou. Esse arquivo permite a execuo de um programa
no Windows no Windows. Voc poder especificar parmetros para o
programa, ou seja, se ele executado em uma janela ou na tela
inteira, o total de memria alocado para o programa etc. Se o PIF
for encontrado, o programa nele especificado ser executado com os
parmetros PIF. Caso contrrio, ser feita uma procura no caminho do
MS-DOS para encontrar um arquivo executvel com o nome que voc
indicar.
Quando um PIF no encontrado, o Visual FoxPro utiliza o
FOXRUN.PIF, um PIF instalado no diretrio do Visual FoxPro. O
FOXRUN.PIF configurado para executar o programa em uma janela.
possvel modificar o FOXRUN.PIF para que execute programas com outra
configurao. FOXRUN.PIF O FOXRUN.PIF permite a execuo de programas e
comandos do MS-DOS e do Windows a partir do Visual FoxPro. O
FOXRUN.PIF deve estar no mesmo diretrio que VFP.EXE no Visual
FoxPro. /N significa NOWAIT. Inclua a letra N (no substitua N por
um valor numrico nem inclua K) para executar outro aplicativo do
Windows. Por exemplo, a instruo a seguir abre o acessrio Mapa de
caracteres do Windows: ! /N CHARMAP.EXE No exemplo a seguir, o
Selecionador de cores aberto no Painel de controle do Windows: ! /N
CONTROL COLOR Um aplicativo do Windows executado com RUN /N ou ! /N
apresenta o mesmo comportamento que quando aberto atravs do
Gerenciador de Programas ou do Gerenciador de Arquivos. Voc pode
alternar entre o aplicativo e o Visual FoxPro ou o FoxPro para
Windows utilizando as operaes padro do Windows. Para especificar
como o aplicativo do Windows ser aberto, inclua um valor numrico
opcional imediatamente aps /N. No inclua espaos entre /N e o valor
numrico. A tabela a seguir lista os valores numricos que podem ser
includos e descreve o estado do aplicativo do Windows quando ele
aberto. Valor Atributos do aplicativo 1 2 3 4 7 Ativo e tamanho
normal Ativo e minimizado Ativo e maximizado Inativo e tamanho
normal Inativo e minimizado
Executando programas do MS-DOS no Visual FoxPro Como padro, o
FOXRUN.PIF executa o programa do MS-DOS externo especificado em uma
janela. Enquanto o programa ou comando do MS-DOS executado, o ttulo
da janela Executar Comando do FoxPro. No Visual FoxPro, a janela
Executar Comando do FoxPro fechada aps a execuo do comando ou do
programa externo. Voc pode utilizar o editor PIF do Windows para
personalizar o FOXRUN.PIF. O PIF pode ser editado para especificar
se a janela Executar Comando do Visual FoxPro Inativo deve ser
mantida aberta ou fechada (padro no Visual FoxPro) usando a caixa
de verificao Fechar janela ao sair. Tambm possvel abrir programas
externos em uma tela inteira selecionando Tela inteira, Alocar
memria para o programa, etc. Consideraes de memria Como padro, o
FOXRUN.PIF aloca um mnimo de 256K de memria para a execuo de um
comando ou programa externo. Se voc no tiver 256K de memria
convencional livre, o Visual FoxPro exibir uma mensagem de erro.
Para corrigir tal mensagem, experimente um ou mais dos
procedimentos a seguir: Feche os aplicativos e arquivos para
liberar memria adicional. Edite o FOXRUN.PIF para reduzir o total
exigido de memria na caixa de texto KB Requerido.
Se o comando externo exigir mais de 256K, o MS-DOS exibir uma
mensagem de erro na janela Executar Comando do Visual FoxPro. Para
corrigir tal erro, edite o FOXRUN.PIF para aumentar o total de
memria necessrio na caixa de texto KB Requerido.
$, operador Retorna verdadeiro (.T.) se uma expresso de
caracteres estiver contida em outra expresso de caracteres; caso
contrrio, retorna falso (.F.). Sintaxe cProcurarPor $ cProcurarEm
Tipos de retorno Lgico Argumentos cProcurarPor Especifica a
expresso procurada em cProcurarEm. cProcurarEm Especifica a
expresso procurada para ver se ela contm cProcurarPor. Se
cProcurarPor for localizado em cProcurarEm, $ retornar verdadeiro
(.T.); caso contrrio, retornar falso (.F.). cProcurarPor e
cProcurarEm podem ser variveis do tipo Caractere ou elementos de
matriz, campos do tipo Caractere, literais de seqncia de caracteres
ou campos Memo de qualquer tamanho. Os campos Memo podem ser
manipulados como expresses de caracteres, campos em tabelas,
variveis ou elementos de matriz. Por exemplo, se MEMO_FLD for um
campo Memo, a linha abaixo ser aceitvel: LIST FOR 'FOX' $
UPPER(memo_fld)
Comentrios Se a expresso de caracteres no for localizada, ser
retornado falso (.F.). O operador $ considera maisculas/minsculas e
no otimizado por Rushmore.
%, operador Retorna o resto (mdulo) obtido pela diviso de uma
expresso numrica por outra. Sintaxe nDividendo % nDivisor
Argumentos nDividendo Especifica o dividendo (a expresso numrica
que est sendo dividida). O nmero de casas decimais em nDividendo
determina o nmero de casas decimais no resultado. nDivisor
Especifica o divisor (a expresso numrica que divide o dividendo
nDividendo). Se nDivisor for positivo, ser retornado um nmero
positivo; se nDivisor for negativo, ser retornado um nmero
negativo. nDivisor no pode ser zero.
Comentrios O operador de mdulo (%) e MOD( ) retornam resultados
idnticos.
O operador de mdulo (%) um operador aritmtico. Outros operadores
aritmticos so: + (adio), - (subtrao), * (multiplicao), / (diviso) e
^ (exponenciao). Quando esses operadores forem combinados em uma
expresso numrica, % ter a mesma precedncia que * e /.
&&, comando
Indica o incio de um comentrio no-executvel em uma linha de um
arquivo de programa. Sintaxe && [Comentrios]
Argumentos Comentrios Indica que o texto que se segue um
comentrio em uma linha. Por exemplo: STORE (20*12) TO gnPayments
&& 20 anos de pagamentos mensais
A insero de comentrios em uma linha para denotar o fim dos
comandos de programao estruturada IF ... ENDIF, DO e FOR ... ENDFOR
melhora consideravelmente a legibilidade dos programas. Comentrios
Coloque um ponto-e-vrgula (;) no final de cada linha de comentrio
que continue na linha seguinte. No possvel colocar && e um
comentrio depois do ponto-e-vrgula utilizado para continuar uma
linha de comando em uma linha adicional. *, comando
Indica o incio de uma linha de comentrio no-executvel em um
arquivo de programa. Sintaxe * [Comentrios] Argumentos Comentrios
Especifica o comentrio na linha de comentrio. Por exemplo: * Isto
um comentrio
Comentrios Coloque um ponto-e-vrgula (;) no final de cada linha
de comentrio que continue na prxima linha.
@ ... CLEAR, comando
Limpa uma parte da janela principal do Visual FoxPro ou de uma
janela definida pelo usurio. Sintaxe @ nLinha1, nColuna1 [CLEAR |
CLEAR TO nLinha2, nColuna2]
Argumentos @ nLinha1, nColuna1 CLEAR Limpa uma rea retangular
cujo canto superior esquerdo comea em nLinha1 e nColuna1 e continua
at o canto inferior direito da janela principal do Visual FoxPro ou
de uma janela definida pelo usurio. CLEAR TO nLinha2, nColuna2
Limpa uma rea retangular cujo canto superior esquerdo est em
nLinha1 e nColuna1 e cujo canto inferior direito est em nLinha2 e
nColuna2. Comentrios Se CLEAR ou CLEAR TO forem omitidos, o Visual
FoxPro limpar nLinha1 da nColuna1 at o final da linha.
@ ... FILL, exemplo do comando O exemplo a seguir limpa a janela
principal do Visual FoxPro e preenche uma rea com uma cor. ACTIVATE
SCREEN CLEAR @ 4,1 FILL TO 10, 8 COLOR GR+/B @ ... SCROLL,
comando
Move uma rea da janela principal do Visual FoxPro ou uma janela
definida pelo usurio para cima, para baixo, para a esquerda ou para
a direita. Sintaxe @ nLinha1, nColuna1 TO nLinha2, nColuna2
SCROLL
[UP | DOWN | LEFT | RIGHT] [BY nQuantidadeMovida]
Argumentos @ nLinha1, nColuna1 TO nLinha2, nColuna2 SCROLL Move
uma rea retangular cujo canto superior esquerdo se encontra em
nLinha1, nColuna1 e o canto inferior direito em nLinha2, nColuna2.
UP | DOWN | LEFT | RIGHT Especifica a direo na qual a rea
retangular ser movida. Se uma clusula de direo for omitida, a rea
ser movida para cima. BY nQuantidadeMovida Especifica o nmero de
linhas ou colunas que a rea retangular ser movida. Se BY
nQuantidadeMovida for omitido, a regio ser movida uma linha ou
coluna.
\ | \\, comando
Imprime ou exibe linhas de texto. Sintaxe \LinhaTexto Ou
\\LinhaTexto
Argumentos \LinhaTexto Quando voc utiliza \, a linha de texto
precedida por um retorno de carro e uma alimentao de linha.
\\LinhaTexto Quando voc utiliza \\, a linha de texto no precedida
por um retorno de carro e uma alimentao de linha. Qualquer espao
antes de \ e \\ no includo na linha de sada, mas os espaos aps \ e
\\ so includos. Voc pode incorporar uma expresso linha de texto. Se
a expresso estiver entre delimitadores de mesclagem de textos
(>, como padro) e SET TEXTMERGE estiver ativado (ON), a expresso
ser avaliada e seu valor ser fornecido como texto. Comentrios Os
comandos \ e \\ facilitam a mesclagem de textos no Visual FoxPro. A
mesclagem de textos permite que voc oriente a sada do texto para um
arquivo para criar cartas-formulrio ou programas.
Utilize \ e \\ para orientar a sada de uma linha de texto para o
atual arquivo de sada da mesclagem de textos e para a tela. SET
TEXTMERGE utilizado para especificar o arquivo de sada da mesclagem
de textos. Se a mesclagem de textos no for direcionada a um
arquivo, a linha de texto ser fornecida apenas para a janela
principal do Visual FoxPro ou para a janela de sada ativa definida
pelo usurio. SET TEXTMERGE NOSHOW suprime a sada para a janela
principal do Visual FoxPro ou para a janela ativa definida pelo
usurio. \ | \\, exemplo do comando CLOSE DATABASES OPEN DATABASE
(HOME( ) + 'samples\data\testdata') USE Customer && Abre
tabela customer SET TEXTMERGE ON SET TEXTMERGE TO letter.txt \, \\
, \ \ \Caro \Texto adicional \ \Grato, \ \Companhia XYZ CLOSE ALL
MODIFY FILE letter.txt NOEDIT
=, comando Avalia uma ou mais expresses. Sintaxe = Expresso1 [,
Expresso2 ...]
Argumentos Expresso1 [, Expresso2 ...] Especifica a expresso ou
as expresses avaliadas pelo comando =.
Comentrios O comando = avalia uma ou mais expresses, Expresso1,
Expresso2 ... e descarta os valores de retorno. Essa opo
particularmente til quando uma funo do Visual FoxPro ou uma funo
definida pelo usurio tem um efeito desejado, mas no h necessidade
de atribuir o valor de retorno da funo a uma varivel, elemento de
matriz ou campo.
Por exemplo, para ativar o modo de insero, voc pode emitir o
comando: = INSMODE(.T.) INSMODE normalmente retorna um valor
verdadeiro (.T.) ou falso (.F.). No exemplo acima, a funo
executada, mas o valor de retorno descartado. Se apenas uma
expresso (Expresso1) for includa, o sinal de igualdade ser
opcional. Observao O sinal de igualdade (=) pode ser utilizado de
duas formas no-relacionadas. Pode-se utiliz-lo como um operador em
expresses lgicas para fazer uma comparao ou para atribuir valores a
variveis e a elementos de matriz. Nesses dois casos, o sinal de
igualdade (=) um operador e no um comando.
ABS( ), funo
Retorna o valor absoluto da expresso numrica especificada.
Sintaxe ABS(nExpresso)
Tipos de retorno Numrico Argumentos nExpresso Especifica a
expresso numrica cujo valor absoluto a funo ABS( ) retorna. ABS( ),
exemplo da funo ? ABS(-45) && Exibe 45 ? ABS(10-30)
&& Exibe 20 ? ABS(30-10) && Exibe 20 STORE 40 TO
gnNumber1 STORE 2 TO gnNumber2 ? ABS(gnNumber2-gnNumber1)
&& Exibe 38
ACOS( ), funo
Retorna o arco co-seno de uma expresso numrica especificada.
Sintaxe
ACOS(nExpresso) Tipos de retorno Numrico Argumentos nExpresso
Especifica uma expresso numrica cujo arco co-seno a funo ACOS( )
retorna. O valor de nExpresso pode variar de 1 a +1. O valor
retornado por ACOS( ) varia de 0 a pi (3,141592). O nmero de casas
decimais retornado por ACOS( ) determinado por SET DECIMALS.
Utilize RTOD( ) para converter radianos para graus. Comentrios O
arco co-seno retornado em radianos. ACOS( ), exemplo da funo CLEAR
? RTOD(ACOS(0)) && Exibe 90.00 STORE -1 to gnArcAngle ?
RTOD(ACOS(gnArcAngle)) && Exibe 180.00 ?
RTOD(ACOS(SQRT(2)/2)) && Exibe 45.00 ACTIVATE SCREEN,
comando
Envia toda a sada subseqente para a janela principal do Visual
FoxPro, em vez de enviar para a janela definida pelo usurio que est
ativa. Sintaxe ACTIVATE SCREEN Comentrios Utilize o comando
ACTIVATE WINDOW para direcionar a sada para uma janela definida
pelo usurio.
ACTIVATE WINDOW, comando
Exibe e ativa uma ou mais janelas definidas pelo usurio ou
janelas do sistema do Visual FoxPro. Sintaxe
ACTIVATE WINDOW NomeJanela1 [, NomeJanela2 ...] | ALL [IN
[WINDOW] NomeJanela3 | IN SCREEN] [BOTTOM | TOP | SAME] [NOSHOW]
Argumentos NomeJanela1 [, NomeJanela2 ...] Especifica o nome de
cada janela a ser ativada. Separe os nomes das janelas com vrgulas.
No Visual FoxPro, voc pode especificar o nome de uma barra de
ferramentas para ativar a janela. Consulte SHOW WINDOW para obter
uma lista de nomes das barras de ferramentas do Visual FoxPro. ALL
Especifica que todas as janelas sejam ativadas. A ltima janela
ativada a janela de sada ativa. IN [WINDOW] NomeJanela3 Especifica
o nome da janela pai dentro da qual a janela colocada e ativada. A
janela ativada torna-se uma janela filho. A janela pai pode ter
vrias janelas filho. Uma janela filho ativada dentro de uma janela
pai no pode ser movida para fora. Caso a janela pai seja movida, a
janela filho ser movida junto com ela. Observao A janela pai deve
estar visvel para que qualquer uma de suas janelas filho fique
visvel. IN SCREEN Coloca e ativa uma janela na janela principal do
Visual FoxPro. Uma janela pode colocada em uma janela pai,
incluindo-se IN WINDOW em DEFINE WINDOW quando a janela for criada.
A incluso da clusula IN SCREEN em ACTIVATE WINDOW substitui a
clusula IN WINDOW em DEFINE WINDOW. BOTTOM | TOP | SAME Especifica
onde as janelas so ativadas em relao a outras janelas anteriormente
ativadas. Como padro, uma janela torna-se a janela frontal quando
ativada. A incluso de BOTTOM coloca uma janela atrs de todas as
outras janelas. TOP ir coloc-la na frente de todas as outras. SAME
ativa uma janela sem afetar o seu posicionamento. NOSHOW Ativa e
direciona a sada para uma janela sem exibir a janela. Comentrios
Janelas definidas pelo usurio so criadas com DEFINE WINDOW. Quando
uma janela ativada, ela passa a ser a janela frontal e toda a sada
direcionada para ela. A sada pode ser direcionada apenas para uma
janela de cada vez. A janela permanece como a janela de sada ativa
at ser desativada ou liberada ou at que outra janela ou a janela
principal do Visual FoxPro seja ativada. Os nomes de janelas
definidas pelo usurio so exibidos na parte inferior do menu Janela.
O nome da janela ativa, definida pelo usurio, est selecionada com
uma marca de verificao. possvel colocar mais de uma janela ao mesmo
tempo na janela principal do Visual FoxPro, mas a sada ser
direcionada somente para a janela ativada por ltimo. Quando mais de
uma janela estiver aberta, se a janela de sada ativa for
desativada, ela ser removida da janela principal do Visual
FoxPro e a sada subseqente ser enviada para outra janela. Caso
nenhuma janela de sada esteja ativa, a sada ser direcionada para a
janela principal do Visual FoxPro. Para garantir que a sada seja
direcionada para uma janela especfica quando a janela de sada ativa
for desativada, voc deve ativar explicitamente a janela para a qual
deseja enviar a sada com o comando ACTIVATE WINDOW. Todas as
janelas ativadas so exibidas at que o comando DEACTIVATE WINDOW ou
HIDE WINDOW seja executado para remov-las da tela. A emisso de
qualquer um destes comandos remove as janelas da tela, mas no da
memria. Para exibir novamente as janelas, execute o comando
ACTIVATE WINDOW ou SHOW WINDOW. Para remover janelas da tela e da
memria, utilize CLEAR WINDOWS, RELEASE WINDOWS ou CLEAR ALL.
necessrio redefinir as janelas removidas da memria para coloc-las
novamente na janela principal do Visual FoxPro. Voc pode utilizar
ACTIVATE WINDOW para colocar as janelas do sistema na janela
principal do Visual FoxPro ou em uma janela pai. As janelas do
sistema a seguir podem ser abertas com ACTIVATE WINDOW: Comando
Chamar pilha Sesso de dados De depurao Depurar sada Locais Rastrear
Observar
Para ativar uma janela do sistema e/ou uma barra de ferramentas,
coloque o Nome todo da janela do sistema ou da barra de ferramentas
entre aspas. Por exemplo, para ativar a janela de depurao Chamar
Pilha no Visual FoxPro, execute o comando a seguir: ACTIVATE WINDOW
Chamar Pilha Utilize HIDE WINDOW ou RELEASE WINDOW para remover uma
janela do sistema da janela principal do Visual FoxPro ou de uma
janela pai. ACTIVATE WINDOW, exemplo do comando O exemplo a seguir
define e ativa uma janela denominada output, colocando-a na janela
principal do Visual FoxPro. O comando WAIT pausa a execuo, a janela
oculta e, em seguida, reexibida. CLEAR DEFINE WINDOW output FROM
2,1 TO 13,75 TITLE 'Sada' ; CLOSE FLOAT GROW SHADOW ZOOM ACTIVATE
WINDOW output
WAIT WINDOW 'Pressione qualquer tecla para ocultar a janela
Sada' HIDE WINDOW output WAIT WINDOW 'Pressione qualquer tecla para
exibir a janela Sada' SHOW WINDOW output WAIT WINDOW 'Pressione
qualquer tecla para liberar a janela Sada' RELEASE WINDOW output
ADATABASES( ), funo Coloca os nomes de todos os bancos de dados
abertos e seus caminhos em uma matriz de varivel. Sintaxe
ADATABASES(NomeMatriz) Tipos de retorno Numrico Argumentos
NomeMatriz Especifica o nome da matriz. Caso a matriz especificada
no exista, o Visual FoxPro ir cri-la automaticamente. Caso a matriz
exista e no seja grande o suficiente para conter todas as informaes
de banco de dados, o Visual FoxPro aumentar automaticamente o
tamanho da matriz para que comporte as informaes. Caso a matriz
seja maior do que o necessrio, o Visual FoxPro ir trunc-la. Caso a
matriz exista e ADATABASES( ) retorne 0, porque no h bancos de
dados abertos, a matriz permanecer inalterada. Caso a matriz no
exista e ADATABASES( ) retorne 0, a matriz no ser criada.
Comentrios Os nomes de todos os bancos de dados abertos na sesso de
dados atual so colocados em uma matriz de varivel. A funo
ADATABASES( ) cria uma matriz bidimensional. A primeira coluna da
matriz contm os nomes dos bancos de dados abertos e a segunda
coluna contm os caminhos dos bancos de dados. ADATABASES( ) retorna
o nmero de nomes de bancos de dados (linhas) na matriz. Caso nenhum
banco de dados esteja aberto, ADATABASES( ) ir retornar 0 e a
matriz no ser criada. ADATABASES( ), exemplo da funo O exemplo a
seguir abre o banco de dados testdata e, em seguida, utiliza
ADATABASES( ) para criar uma matriz denominada gaDatabase contendo
os nomes de todos os bancos de dados abertos. SET PATH TO (HOME( )
+ 'samples\data\') && Define o caminho para o banco de
dados OPEN DATABASE testdata && Abre o banco de dados CLEAR
? ADATABASES(gaDatabase) && Cria uma matriz de bancos de
dados abertos DISPLAY MEMORY LIKE gadatabase && Exibe o
contedo da matriz
CLOSE DATABASES ADD TABLE, comando Adiciona uma tabela livre ao
banco de dados atual. Sintaxe ADD TABLE NomeTabela | ? [NAME
NomeTabelaExtenso]
Argumentos NomeTabela Especifica o nome da tabela que est sendo
adicionada ao banco de dados. ? Exibe a caixa de dilogo Abrir, na
qual voc pode selecionar uma tabela a ser adicionada ao banco de
dados. NAME NomeTabelaExtenso Especifica um nome extenso para a
tabela. Nomes extensos podem conter at 128 caracteres, podendo ser
utilizados no lugar de nomes de arquivos reduzidos com extenso
.DBF. Comentrios Depois que for adicionada ao banco de dados, voc
poder executar as mesmas operaes na tabela assim como em qualquer
outra tabela. Uma vez adicionada ao banco de dados, a tabela no
estar mais livre. No entanto, ser possvel liberar qualquer tabela
do banco de dados ao se executar REMOVE TABLE. A tabela que est
sendo adicionada: Deve ser um arquivo .DBF vlido. No pode ter o
mesmo nome de uma tabela existente no banco de dados aberto, a
menos que seja atribudo tabela um nome extenso nico. No pode
existir em outro banco de dados. Utilize REMOVE TABLE para remover
a tabela do outro banco de dados.
O banco de dados ao qual a tabela est sendo adicionada no pode
estar envolvido em uma transao.
ADD TABLE, exemplo do comando O exemplo a seguir cria dois
bancos de dados denominados mydbc1 e mydbc2 e uma tabela denominada
table1. Ao ser criada, a tabela adicionada a mydbc1. A tabela ento
fechada e removida de mydbc1. Em seguida, ADD TABLE utilizado para
adicionar a tabela a mydbc2. RENAME TABLE utilizado para mudar o
nome da tabela de table1 para table2.
CREATE DATABASE mydbc1 CREATE DATABASE mydbc2 SET DATABASE TO
mydbc1 CREATE TABLE table1 (cField1 C(10), n N(10)) &&
Adiciona tabela a mydbc1 CLOSE TABLES && Uma tabela deve
estar fechada para ser removida de um banco de dados REMOVE TABLE
table1 SET DATABASE TO mydbc2 ADD TABLE table1 RENAME TABLE table1
TO table2
ADEL( ), funo
Exclui um elemento de uma matriz unidimensional ou uma linha, ou
coluna de uma matriz bidimensional. Sintaxe ADEL(NomeMatriz,
nNmeroElemento [, 2]) Tipos de retorno Numrico Argumentos
NomeMatriz Especifica a matriz da qual a linha, coluna ou o
elemento excludo. nNmeroElemento Especifica o nmero do elemento,
linha ou coluna a ser excludo da matriz. Para excluir uma coluna da
matriz, inclua o argumento opcional 2. Para obter maiores informaes
sobre como fazer referncia a elementos em uma matriz, consulte
DIMENSION. 2 Exclui uma coluna da matriz. Comentrios A excluso de
um elemento, linha ou coluna de uma matriz no altera o seu tamanho;
em vez disso, as linhas, colunas ou os elementos direita so movidos
em direo ao incio da matriz e o ltimo elemento, linha ou coluna da
matriz definido como falso (.F.). Caso o elemento, a linha ou
coluna sejam excludos com sucesso, retorna o nmero 1. ADEL( ),
exemplo da funo
O exemplo a seguir cria e preenche uma matriz e, em seguida,
procura por um determinado nome de empresa que, se encontrado, ser
removido da matriz. CLOSE DATABASES OPEN DATABASE (HOME( ) +
'samples\data\testdata') USE customer && Abre tabela
customer SELECT company FROM customer ; WHERE country = 'UK' ; INTO
ARRAY gaCompanies gnCount = _TALLY gcName = 'Seven Seas Imports'
CLEAR DISPLAY MEMORY LIKE gaCompanies gnPos = ASCAN(gaCompanies,
gcName) && Procura pela empresa IF gnPos != 0 * Empresa
encontrada, remova-a da matriz = ADEL(gaCompanies, gnPos) gnCount =
gnCount - 1 ENDIF DISPLAY MEMORY LIKE gaCompanies ADIR( ), funo
Coloca informaes sobre arquivos em uma matriz e, em seguida,
retorna o nmero de arquivos. Sintaxe ADIR(NomeMatriz [,
cEstruturaArquivo [, cAtributo]]) Tipos de retorno Numrico
Argumentos NomeMatriz Especifica o nome da matriz. Se a matriz
includa no existir, o Visual FoxPro ir cri-la automaticamente. Se
existir e no for suficientemente grande para conter todas as
informaes, o Visual FoxPro aumentar, automaticamente, o seu tamanho
para que comporte as informaes. Se a matriz for maior do que o
necessrio, o Visual FoxPro ir trunc-la. Se a matriz existir e ADIR(
) retornar a 0 por no ter localizado nenhum arquivo correspondente,
a matriz permanecer inalterada. Se no existir e ADIR( ) retornar a
0, a matriz no ser criada. A tabela a seguir descreve os contedos e
tipos de dados de cada coluna da matriz: Coluna Contedo da matriz 1
2 Tipo de dados
Nomes dos arquivos Caractere Tamanho dos arquivos Numrico
3 Datas da ltima modificao Data 4 Horrio da ltima modificao
Caractere 5 Atributos dos arquivos Caractere A ltima coluna da
matriz contm os atributos dos arquivos correspondentes. Cada
atributo de arquivo expresso por uma letra e um arquivo pode ter
mais de um atributo. A tabela abaixo indica o atributo de arquivo
que cada letra representa: Letra Atributo
A Arquivo - leitura/gravao H Oculto R Somente para leitura S
Sistema D Diretrio ou pasta cEstruturaArquivo Especifica uma
estrutura de arquivo para que voc possa armazenar informaes sobre
arquivos com nomes ou extenses correspondentes a um critrio de
pesquisa. Por exemplo, o critrio pode ser todas as tabelas, todos
os arquivos de texto, todos os arquivos com nomes que comeam pela
letra A e assim por diante. Estas pesquisas gerais so feitas
incluindo-se os caracteres curinga * e ? em cEstruturaArquivo . O
ponto de interrogao representa um nico caractere e o asterisco
representa qualquer quantidade de caracteres. Pode-se utilizar
qualquer quantidade de caracteres curinga em qualquer posio dentro
da estrutura de arquivo. Voc pode especificar uma unidade e/ou
diretrio para pesquisar nomes de arquivo correspondentes. Se a
unidade e o diretrio no forem especificados, o Visual FoxPro
colocar as informaes sobre os arquivos do diretrio atual na matriz.
cAtributo Especifica a incluso de subdiretrios e arquivos ocultos
ou do sistema. cAtributo pode conter qualquer combinao de D, H e S.
A incluso de D retorna nomes de subdiretrios do diretrio atual, alm
dos nomes de arquivos correspondentes estrutura de arquivo
especificado em cEstruturaArquivo. A incluso de H retorna informaes
sobre arquivos ocultos que correspondem estrutura de arquivo
especificada em cEstruturaArquivo. A incluso de S retorna informaes
sobre arquivos do sistema correspondentes estrutura de arquivo
especificada em cEstruturaArquivo. Inclua uma seqncia vazia em
cEstruturaArquivo para retornar somente nomes de subdiretrios,
arquivos ocultos ou arquivos do sistema. Comentrios Para cada
arquivo, ADIR( ) coloca na matriz o nome, o tamanho, a data e o
horrio da ltima modificao e os atributos do arquivo. ADIR( ),
exemplo da funo O exemplo a seguir utiliza ADIR( ) para criar uma
matriz contendo informaes de banco de dados. Em seguida, os nomes
dos bancos de dados so exibidos. CLOSE DATABASES
SET PATH TO (HOME( ) + 'samples\data') gnDbcnumber =
ADIR(gaDatabase, '*.DBC') && Cria matriz CLEAR FOR nCount =
1 TO gnDbcnumber && Loop para nmero de bancos de dados ?
gaDatabase(nCount,1) && Exibe nomes de bancos de dados
ENDFOR SET PATH TO HOME( ) && Define caminho para diretrio
do Visual FoxPro AELEMENT( ), funo
Retorna o nmero de um elemento de matriz a partir dos ndices do
elemento. Sintaxe AELEMENT(NomeMatriz, nndiceLinha [,
nndiceColuna]) Tipos de retorno Numrico Argumentos NomeMatriz
Especifica o nome da matriz cujo nmero do elemento voc deseja
retornar. nndiceLinha Especifica o ndice de linha. Se a matriz for
unidimensional, AELEMENT( ) ir retornar ao mesmo valor de
nndiceLinha. Se voc incluir apenas nndiceLinha e ele for maior do
que o nmero de linhas na matriz, o Visual FoxPro exibir uma
mensagem de erro. nndiceColuna Especifica o ndice de coluna. Se a
matriz for bidimensional, inclua nndiceLinha e nndiceColuna.
Comentrios Voc pode referir-se a um elemento de uma matriz
bidimensional de duas maneiras. O primeiro mtodo utiliza dois
ndices para especificar a posio da linha e da coluna do elemento na
matriz e o segundo mtodo utiliza o nmero de um nico elemento.
AELEMENT( ) retorna o nmero do elemento quando fornecido com ndices
de linha e coluna de um elemento. As funes do Visual FoxPro ADEL(
), ADIR( ), AFIELDS( ), AINS( ), ALEN( ), ASCAN( ), ASORT( ) e
ASUBSCRIPT( ) podem manipular matrizes bidimensionais e exigem que
a referncia aos elementos seja feita pelo nmero do elemento.
AELEMENT( ) facilita a converso de ndices para um nmero de elemento
para uso por meio dessas funes. Os ndices de linha e coluna
correspondentes podem ser retornados de um nmero de elemento com
ASUBSCRIPT( ).
O exemplo a seguir ilustra a criao de uma matriz com duas linhas
e trs colunas. DISPLAY MEMORY exibe o contedo dos elementos da
matriz listados na ordem dos nmeros de elementos. DIMENSION
gaMyArray(2,3) DISPLAY MEMORY LIKE gaMyArray gaMyArray Pub A ( 1,
1) L .F. (elemento nmero 1) ( 1, 2) L .F. (elemento nmero 2) ( 1,
3) L .F. (elemento nmero 3) ( 2, 1) L .F. (elemento nmero 4) ( 2,
2) L .F. (elemento nmero 5) ( 2, 3) L .F. (elemento nmero 6)
Pode-se fazer referncia a um elemento pelos seus ndices ou pelo seu
nmero de elemento. Os comandos STORE INVOICE TO gaMyArray(2, 1) e
STORE INVOICE TO gaMyArray(4) armazenam a seqncia de caracteres
INVOICE no mesmo elemento de matriz. Em matrizes unidimensionais, o
nmero do elemento idntico ao seu ndice de linha nica. No necessrio
utilizar AELEMENT( ) com matrizes unidimensionais.
AERROR( ), funo Cria uma matriz de varivel que contm informaes
sobre o erro mais recente do ODBC, OLE ou Visual FoxPro. Sintaxe
AERROR(NomeMatriz) Tipos de retorno Numrico Argumentos NomeMatriz
Especifica o nome da matriz criada por AERROR( ). Comentrios A funo
AERROR( ) cria uma matriz com seis colunas e retorna o nmero de
linhas da matriz. O tipo de erro ocorrido determina o nmero de
linhas da matriz. A tabela a seguir descreve o contedo de cada
elemento quando ocorre um erro do Visual FoxPro. Na ocorrncia de um
erro, a matriz conter uma linha. Nmero do elemento 1 2 Descrio
Numrico. Contm o nmero do erro. Idntico ao valor retornado por
ERROR( ). Caractere. O texto da mensagem de erro. Idntico ao valor
retornado por MESSAGE( ).
3 O valor nulo. No entanto, se o erro possuir um parmetro de
erro adicional, ir conter o texto do parmetro de erro. Idntico ao
valor retornado por SYS(2018). 4 O valor nulo. No entanto, quando
apropriado, contm o nmero da rea de trabalho em que o erro ocorreu.
5 O valor nulo. No entanto, se um disparador falhar (erro 1539), ir
conter um dos valores numricos abaixo: 1 - Erro no Disparador de
insero. 2 - Erro no Disparador de atualizao. 3 - Erro no Disparador
de excluso. 6 O valor nulo. 7 O valor nulo. A tabela a seguir
descreve o contedo de cada elemento quando ocorrem os erros de OLE
nmero 1427 ou 1429. Nestes casos, a matriz contm uma linha. Nmero
do elemento Descrio
1 Numrico. Contm 1427 ou 1429. 2 Caractere. O texto da mensagem
de erro do Visual FoxPro. 3 Caractere. O texto da mensagem de erro
de OLE. 4 Caractere. O nome do aplicativo (Microsoft Excel, por
exemplo). 5 O valor nulo ou Caractere. Contm o nome do arquivo de
Ajuda do aplicativo em que podem ser encontradas maiores informaes
sobre o erro, se as informaes estiverem disponveis no aplicativo;
caso contrrio, contm o valor nulo. 6 O valor nulo ou Caractere.
Contm o identificador de contexto da Ajuda para o tpico apropriado,
se as informaes estiverem disponveis no aplicativo; caso contrrio,
contm o valor nulo. 7 Numrico. Um nmero de exceo OLE 2.0. A tabela
a seguir descreve o contedo de cada elemento quando ocorre um erro
do ODBC de nmero 1526. Neste caso, a matriz contm duas ou mais
linhas; uma linha para cada erro do ODBC. Nmero do elemento 1 2 3 4
5 6 7 Descrio
Numrico. Contm 1526. Caractere. O texto da mensagem de erro.
Caractere. O texto da mensagem de erro do ODBC. Caractere. O estado
atual do ODBC SQL. Numrico. O nmero do erro da fonte de dados do
ODBC. Numrico. O identificador de conexo do ODBC. O valor nulo.
AERROR( ), exemplo da funo O exemplo a seguir utiliza ON ERROR
para especificar uma rotina de manipulao de erros denominada
errhand. Um erro gerado emitindo-se um comando com erro de
ortografia (BRWS). A rotina de manipulao de erros errhand utiliza
AERROR( ) para criar uma matriz contendo informaes de erro e essa
informao , ento, exibida. ON ERROR DO errhand && errhand o
procedimento para manipular erros
BRWS && Causa um erro de sintaxe ON ERROR &&
Restaura o manipulador de erros do sistema
PROCEDURE errhand = AERROR(aErrorArray) && Dadas do erro
mais recente CLEAR ? 'O erro apresentou as seguintes informaes'
&& Exibe mensagem FOR n = 1 TO 7 && Exibe todos os
elementos da matriz ? aErrorArray(n) ENDFOR
AFIELDS( ), funo
Coloca as informaes sobre a estrutura da tabela atual em uma
matriz e retorna o nmero de campos da tabela. Sintaxe
AFIELDS(NomeMatriz [, nreaTrabalho | cAliasTabela]) Tipos de
retorno Numrico Argumentos NomeMatriz Especifica uma matriz na qual
so colocadas informaes sobre a estrutura da tabela. Se a matriz
includa em AFIELDS( ) no existir, o Visual FoxPro a criar
automaticamente. Se existir, mas no for grande o bastante para
conter as informaes retornadas por AFIELDS( ), o tamanho da matriz
aumentado automaticamente para acomodar as informaes. nreaTrabalho
Especifica a rea de trabalho da tabela cujas informaes de estrutura
so colocadas em uma matriz. cAliasTabela Especifica o alias da
tabela cujas informaes de estrutura so colocadas em uma matriz. Se
voc omitir nreaTrabalho e cAliasTabela, as informaes de estrutura
colocadas em uma matriz diro respeito tabela na rea de trabalho
selecionada atualmente. A tabela a seguir descreve o que cada
coluna da matriz contm e o tipo de dados da informao armazenada em
cada coluna. Uma linha criada para cada campo da tabela. Nmero da
coluna Informao do campo Tipo de dados Caractere
1 Nome do campo 2 Tipo do campo: C = Caractere D = Data L =
Lgico
M = Memo N = Numrico F = Flutuante I = Inteiro B = Duplo Y =
Moeda T = DataHora G = Geral Caractere 3 Largura do campo Numrico 4
Casas decimais Numrico 5 Valor nulo permitido Lgico 6 Converso de
pgina de cdigo no permitida Lgico 7 Regra de validao de campo
Caractere 8 Texto de validao de campo Caractere 9 Valor padro do
campo Caractere 10 Regra de validao da tabela Caractere 11 Texto de
validao da tabela Caractere 12 Nome de tabela extenso Caractere 13
Expresso Disparador de insero Caractere 14 Expresso Disparador de
atualizao Caractere 15 Expresso Disparador de excluso Caractere 16
Comentrio da tabela Caractere Comentrios AFIELDS( ) retorna o nmero
de campos da tabela. A matriz contm 11 colunas e um nmero de linhas
igual ao nmero de campos da tabela. Voc pode utilizar COPY
STRUCTURE EXTENDED para colocar informaes similares em uma tabela
em vez de matriz. AFIELDS( ), exemplo da funo O exemplo a seguir
cria uma matriz denominada gaMyArray contendo informaes sobre os
campos na tabela customer. Os nomes dos campos so exibidos. CLOSE
DATABASES OPEN DATABASE (HOME( ) + 'samples\data\testdata') USE
Customer && Abre tabela customer gnFieldcount =
AFIELDS(gaMyArray) && Cria matriz CLEAR FOR nCount = 1 TO
gnFieldcount ? gaMyArray(nCount,1) && Exibe nomes de campo
ENDFOR AFONT( ), funo Coloca as informaes sobre as fontes
disponveis em uma matriz. Sintaxe
AFONT(NomeMatriz [, cNomeFonte [, nTamanhoFonte]]) Tipos de
retorno Lgico Argumentos NomeMatriz Especifica a matriz de varivel
em que so colocados os nomes de fontes disponveis. Se a matriz no
for suficientemente grande para conter todas as fontes, o Visual
FoxPro aumenta, automaticamente, o tamanho da matriz. Se voc
especificar uma matriz bidimensional j existente, o Visual FoxPro
mudar a matriz para uma matriz unidimensional. Se a matriz for
criada com sucesso, AFONT( ) retornar verdadeiro (.T.); caso
contrrio, retornar falso (.F.). cNomeFonte Especifica uma fonte
para a qual a informao ser colocada na matriz. Se a fonte que voc
especificar suportar apenas tamanhos de fonte discretos (8 pontos,
10 pontos, ...), os tamanhos sero armazenados na matriz e AFONT( )
retornar verdadeiro (.T.). Se a fonte especificada for dimensionvel
(suportar valores fracionrios de tamanho), a matriz ter um nico
elemento contendo -1 e AFONT( ) retornar verdadeiro (T.). Se a
fonte que voc especificar no estiver disponvel, a matriz no ser
criada e AFONT( ) retornar falso (.F.). nTamanhoFonte Especifica um
tamanho para a fonte determinada em cNomeFonte. Se o tamanho da
fonte nTamanhoFonte estiver disponvel para a fonte especificada em
nTamanhoFonte, a matriz ter um nico elemento contendo um valor
verdadeiro (.T.) e AFONT( ) retornar verdadeiro (.T.). Se o tamanho
no estiver disponvel para a fonte especificada, a matriz no ser
criada e AFONT( ) retornar falso (.F.). Comentrios AFONT( ) coloca
os nomes de fontes disponveis em uma matriz e tambm pode ser
utilizada para determinar os tamanhos possveis de fontes ou se uma
fonte dimensionvel. Utilize GETFONT( ) para exibir uma caixa de
dilogo contendo as fontes disponveis, seus tamanhos e estilos.
AFONT( ), exemplo de funo O exemplo a seguir utiliza AFONT( ) para
criar uma matriz contendo os nomes de todas as fontes disponveis. O
nome de cada fonte exibido, juntamente com um exemplo da fonte. Se
houver mais de 10 fontes instaladas, somente as 10 primeiras sero
exibidas. CLEAR =AFONT(gaFontArray) && Matriz contendo
nomes de fonte gnNumFonts = ALEN(gaFontArray) && Nmero de
fontes IF gnNumFonts > 10
gnNumFonts = 10 && Exibe primeiras 10 fontes ENDIF FOR
nCount = 1 TO gnNumFonts ? ALLTRIM(gaFontArray(nCount)) &&
Exibe nome da fonte ?? ' Este um exemplo de ' ; +
ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8 ENDFOR
AINS( ), funo Insere um elemento em uma matriz unidimensional ou
uma linha ou coluna em uma matriz bidimensional. Sintaxe
AINS(NomeMatriz, nNmeroElemento [, 2]) Tipos de retorno Numrico
Argumentos NomeMatriz Especifica o nome da matriz na qual o
elemento inserido. nNmeroElemento Especifica onde o novo elemento,
linha ou coluna inserido na matriz. Para inserir um elemento em uma
matriz unidimensional, inclua NomeMatriz e o elemento
nNmeroElemento onde ocorre a insero. O novo elemento inserido
imediatamente antes do elemento nNmeroElemento. Para inserir uma
linha em uma matriz bidimensional, inclua NomeMatriz e o nmero da
linha nNmeroElemento onde ocorre a insero. A nova linha inserida
imediatamente antes da linha nNmeroElemento. Para obter maiores
informaes sobre como fazer referncia a um elemento de matriz atravs
de seus ndices, consulte DIMENSION. 2 Insere uma coluna em uma
matriz bidimensional. A nova coluna inserida imediatamente antes da
coluna especificada com nNmeroElemento. Comentrios Inserir um
elemento, linha ou coluna em uma matriz no altera o tamanho da
matriz. Os elementos, linhas ou colunas direita so deslocados para
o fim da matriz e seu o ltimo elemento, linha ou coluna descartado.
O elemento, linha ou coluna recm-inserido inicializado com um valor
falso (.F.). AINS( ) retornar 1 se o elemento, linha ou coluna for
inserido com sucesso. AINS( ), exemplo da funo
O exemplo a seguir cria e preenche uma matriz com nomes de
empresas e procura um nome de empresa especfico na matriz. Se no
for encontrado, o nome ausente ser adicionado matriz. CLOSE
DATABASES OPEN DATABASE (HOME( ) + 'samples\data\testdata') USE
customer && Abre a tabela customer SELECT company FROM
customer ; WHERE country = 'Germany' ; INTO ARRAY gaCompanies
gnCount = _TALLY gcName = 'Seven Seas Imports' CLEAR DISPLAY MEMORY
LIKE gaCompanies IF ASCAN(gaCompanies, gcName) = 0 &&
Procura pela empresa *** Empresa no encontrada-adicione-a ***
DIMENSION gaCompanies[gnCount+1,1] = AINS(gaCompanies, gnCount+1)
gaCompanies[gnCount+1] = gcName ENDIF DISPLAY MEMORY LIKE
gaCompanies
ALEN( ), funo
Retorna o nmero de elementos, linhas ou colunas de uma matriz.
Sintaxe ALEN(NomeMatriz [, nAtributoMatriz]) Tipos de retorno
Numrico Argumentos NomeMatriz Especifica o nome da matriz. Se voc
incluir apenas o nome da matriz, ALEN( ) retornar o nmero de
elementos da matriz. nAtributoMatriz Determina se ALEN( ) retorna o
nmero de elementos, linhas ou colunas da matriz, de acordo com os
valores para nAtributoMatriz fornecidos a seguir: 0 1 Retorna o
nmero de elementos da matriz. Omitir nAtributoMatriz equivale a
especificar 0. Retorna o nmero de linhas da matriz.
2 Retorna o nmero de colunas da matriz. Se a matriz for
unidimensional, ALEN( ) retornar 0 (sem colunas). ALEN( ), exemplo
da funo O exemplo a seguir utiliza AFONT( ) para criar uma matriz
contendo os nomes de todas as fontes disponveis. ALEN( ) utilizado
para determinar o nmero de linhas na matriz. O nome de cada fonte
exibido, juntamente com um exemplo da fonte. Se houver mais de 10
fontes instaladas, somente as 10 primeiras sero exibidas. CLEAR
=AFONT(gaFontArray) && Matriz contendo nomes de fonte
gnNumFonts= ALEN(gaFontArray) && Nmero de fontes IF
gnNumFonts > 10 gnNumFonts = 10 && Exibe as primeiras 10
fontes ENDIF FOR nCount = 1 TO gnNumFonts ?
ALLTRIM(gaFontArray(nCount)) && Exibe nome da fonte ?? '
Este um exemplo da fonte ' ; + ALLTRIM(gaFontArray(nCount)) FONT
gaFontArray(nCount), 8 ENDFOR
ALLTRIM( ), funo Remove os espaos em branco do incio e do final
da expresso de caracteres especificada e retorna a expresso com os
espaos removidos como uma seqncia de caracteres. Sintaxe
ALLTRIM(cExpresso) Tipos de retorno Caractere Argumentos cExpresso
Especifica a expresso de caracteres da qual sero retirados os
espaos em branco iniciais e finais. Comentrios ALLTRIM( ) pode ser
utilizado para assegurar que os espaos em branco sero removidos dos
dados inseridos pelo usurio. ALLTRIM( ), exemplo da funo
O exemplo a seguir utiliza AFONT( ) para criar uma matriz
contendo os nomes de todas as fontes disponveis. ALLTRIM( )
utilizada para remover espaos iniciais e finais dos nomes de fonte.
O nome de cada fonte com espaos removidos ser exibido, juntamente
com um exemplo da fonte. Se mais de 10 fontes estiverem instaladas,
somente as 10 primeiras sero exibidas. CLEAR =AFONT(gaFontArray)
&& Matriz contendo nomes de fonte gnNumFonts=
ALEN(gaFontArray) && Nmero de fontes IF gnNumFonts > 10
gnNumFonts = 10 && Exibe 10 primeiras fontes ENDIF FOR
nCount = 1 TO gnNumFonts ? ALLTRIM(gaFontArray(nCount)) &&
Exibe nome da fonte ?? ' Isto um exemplo de ' ; +
ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8 ENDFOR
APPEND FROM ARRAY, comando Adiciona tabela atualmente selecionada
um registro para cada linha de uma matriz e preenche cada registro
com dados da linha da matriz correspondente. Sintaxe APPEND FROM
ARRAY NomeMatriz [FOR lExpresso] [FIELDS ListaCampos] Argumentos
NomeMatriz Especifica o nome da matriz que contm os dados que devem
ser copiados para os novos registros. Novos registros so
adicionados tabela at que todas as linhas da matriz tenham sido
includas. FOR lExpresso Especifica uma condio para a incluso de
registros da matriz. lExpresso deve conter o nome de um campo de
destino em sua expresso condicional. Antes da incluso de uma linha
da matriz em um registro da tabela, o elemento de matriz
correspondente ao campo de destino especificado em lExpresso
verificado para ver se corresponde condio em lExpresso. Caso o
elemento de matriz satisfaa a condio, ser includo um registro. Caso
o elemento de matriz no satisfaa a condio, a linha da matriz no ser
includa e a linha seguinte ser verificada para ver se corresponde
condio. FIELDS ListaCampos Especifica que apenas os campos em
ListaCampos sero atualizados a partir da matriz. O primeiro campo
da lista ser atualizado com o contedo do primeiro elemento da
matriz, o segundo campo ser atualizado com o segundo elemento, e
assim sucessivamente.
Comentrios Campos dos tipos Memo e Geral so ignorados em APPEND
FROM ARRAY. Quando uma tabela aberta para uso compartilhado, APPEND
FROM ARRAY bloqueia o cabealho da tabela enquanto os registros so
adicionados. Caso a matriz seja unidimensional, APPEND FROM ARRAY
adicionar um registro tabela. O contedo do primeiro elemento da
matriz preenche o primeiro campo do registro recm-adicionado, o
contedo do segundo elemento da matriz preenche o segundo campo do
registro, e assim por diante. Caso o nmero de elementos da matriz
unidimensional seja maior do que o nmero de campos da tabela, os
elementos adicionais sero ignorados. Caso o nmero de campos da
tabela seja maior do que o nmero de elementos da matriz, os campos
adicionais sero inicializados com o valor vazio padro. A seguir, so
apresentados os valores vazios padro para cada tipo de campo: Tipo
de campo Valor padro Caractere Espaos Numrico 0 Moeda 0 Flutuante 0
Inteiro 0 Duplo 0 Data Data vazia (ex.: CTOD('')) DataHora DataHora
vazia (ex.: CTOT('')) Lgico Falso (.F.) Memo Vazio (sem
contedo)
Caso a matriz seja bidimensional, APPEND FROM ARRAY adicionar um
registro tabela para cada linha da matriz. Por exemplo, caso a
matriz tenha quatro linhas, quatro novos registros sero includos na
tabela. O contedo da primeira coluna da matriz preenche o primeiro
campo dos registros recmadicionados, a segunda coluna da matriz
preenche o segundo campo dos novos registros, e assim
sucessivamente. Por exemplo, se a matriz tiver quatro linhas e trs
colunas, os elementos da primeira coluna da matriz preenchero o
primeiro campo de cada um dos quatro novos registros includos na
tabela. Caso o nmero de colunas da matriz bidimensional seja maior
do que o nmero de campos da tabela, as colunas adicionais sero
ignoradas. Caso o nmero de campos da tabela seja maior do que o
nmero de colunas da matriz, os campos adicionais sero inicializados
com valores vazios. APPEND FROM ARRAY pode preencher um campo,
mesmo que o tipo de dado do elemento da matriz correspondente no
corresponda ao tipo de dado do campo, desde que os dados do
elemento de matriz sejam compatveis com o tipo de dado do campo
correspondente. Caso os dados no sejam compatveis, o campo ser
inicializado com um valor vazio. Exemplo de incompatibilidade nos
tipos de dados
Este exemplo cria uma tabela e, em seguida, utiliza APPEND FROM
ARRAY para incluir um registro na nova tabela. LOCAL ARRAY
aNewRec(3) * Criar uma tabela CREATE TABLE Test FREE (Object C(10),
Color C(16), SqFt n(6,2)) SCATTER TO aNewRec BLANK && Cria
uma nova matriz a partir da tabela aNewRec[1]="Box" &&
Preenche a matriz aNewRec[2]="Red" aNewRec[3]=12.5 APPEND FROM
ARRAY aNewRec && Adiciona o registro contendo contedo da
matriz && tabela
APPEND FROM, comando
Adiciona registros de outro arquivo no fim da tabela atualmente
selecionada. Sintaxe APPEND FROM NomeArquivo | ? [FIELDS
ListaCampos] [FIELDS ListaCampos] [[TYPE] [DELIMITED [WITH
Delimitador | WITH BLANK | WITH TAB] | WITH CHARACTER Delimitador]
| DIF | FW2 | MOD | PDOX | RPD | SDF | SYLK | WK1 | WK3 | WKS | WR1
| WRK | XLS | XL5]] [AS nPginaCdigo] Argumentos NomeArquivo
Especifica o nome do arquivo a partir do qual deve ser feita a
incluso. Se voc no incluir uma extenso de nome de arquivo, ser
considerada uma tabela do Visual FoxPro e a extenso padro .DBF. Se
a tabela de origem da incluso for do Visual FoxPro, os registros
dessa tabela marcados para excluso sero includos, desconsiderando a
definio de SET DELETED. ? Exibe a caixa de dilogo Abrir, onde voc
pode selecionar uma tabela de origem para a incluso. FIELDS
ListaCampos Especifica para quais campos sero includos dados. FOR
lExpresso Inclui um novo registro para cada registro da tabela
selecionada atualmente para o qual lExpresso resulte em verdadeiro
(.T.). Os registros so includos at chegar ao fim desta tabela. Se
voc omitir FOR, o arquivo de origem inteiro ser includo na tabela.
TYPE Especifica o tipo do arquivo a partir do qual est sendo feita
a incluso. Embora seja necessrio especificar um tipo de arquivo se
o arquivo a partir do qual a incluso estiver sendo feita no for uma
tabela do Visual FoxPro, no ser necessrio incluir a palavra-chave
TYPE. possvel
fazer incluses a partir de uma ampla variedade de tipos de
arquivos diferentes, inclusive arquivos de texto ASCII delimitados,
onde voc pode especificar um delimitador de campo. Se o arquivo a
partir do qual voc est fazendo a incluso no tiver a extenso padro
usual para esse tipo de arquivo, o nome do arquivo dever incluir a
respectiva extenso. Por exemplo, as planilhas do Microsoft Excel
normalmente tm a extenso .XLS. Se a planilha do Excel a partir da
qual voc est fazendo incluses tiver uma extenso diferente da
extenso .XLS esperada, certifique-se de especificar essa extenso.
Observao Ao fazer incluses a partir de uma planilha, os dados desta
devem ser armazenados na ordem principal das linhas e no na ordem
principal das colunas. Isso permite que os dados da planilha
includa correspondam estrutura da tabela. DELIMITED Especifica que
o arquivo de origem dos dados a serem includos na tabela atual do
Visual FoxPro delimitado. Um arquivo delimitado um arquivo de texto
ASCII em que cada registro termina com um retorno de carro e uma
alimentao de linha. Considera-se, como padro, que os contedos do
arquivo esto separados um do outro por vrgulas (no inclua espaos
extras antes ou depois das vrgulas) e que os valores dos campos de
caractere esto delimitados tambm por aspas. Por exemplo:
"Smith",9999999,"TELEFONE"
Considera-se que a extenso de arquivo .TXT para todos os
arquivos delimitados. Voc poder importar datas de arquivos
delimitados se as datas estiverem no formato apropriado. O formato
de data assume o padro mm/dd/aa. A incluso da parte da data
relativa ao sculo opcional. O Visual FoxPro importar uma data, como
12/25/95, que no inclui o sculo e ir considerar que a data est no
sculo XX. Os delimitadores de data podem ser qualquer caractere
no-numrico, exceto o delimitador que separa os campos no arquivo
delimitado. As datas em outros formatos podero ser importadas se o
seu formato corresponder a um formato de data disponvel em SET
DATE. Para importar datas que no esto no formato padro, emita SET
DATE com o formato de data correto antes de utilizar APPEND FROM.
Para testar se um formato de data poder ser importado com sucesso,
utilize-o com CTOD( ). Se a data for aceitvel para CTOD( ), ela ser
importada corretamente. DELIMITED WITH Delimitador Indica que os
campos de caractere esto delimitados por um caractere diferente de
aspas. DELIMITED WITH BLANK Especifica arquivos que contm campos
separados por espaos em vez de vrgulas. DELIMITED WITH TAB
Especifica arquivos que contm campos separados por tabulaes em vez
de vrgulas. DELIMITED WITH CHARACTER Delimitador Especifica os
arquivos que contm campos delimitados pelo caractere especificado
com Delimitador. Se Delimitador for um ponto-e-vrgula (o caractere
usado no Visual FoxPro para indicar a continuao da linha de
comando), coloque o
ponto-e-vrgula entre aspas. Voc tambm pode especificar as
palavras-chaves BLANK e TAB para Delimitador. A clusula WITH
Delimitador pode ser combinada com a clusula WITH CHARACTER. Por
exemplo, o seguinte comando adiciona registros de um arquivo de
texto com campos de caracteres delimitados com sublinhados e todos
os campos delimitados com asteriscos: APPEND FROM mytxt.txt
DELIMITADO COM _ ; WITH CHARACTER *
DIF Inclua DIF para importar dados de um arquivo .DIF (Data
Interchange Format) do VisiCalc. Vetores (colunas) tornam-se campos
da tabela selecionada atualmente e tuplas (linhas) tornam-se
registros. Considera-se que os nomes de arquivos DIF tenham a
extenso .DIF. FW2 Inclua FW2 para importar dados de um arquivo
criado pelo Framework II. Considera-se que os nomes de arquivos FW2
tenham a extenso .FW2. MOD Inclua MOD para importar dados de um
arquivo do Microsoft Multiplan verso 4.01. Os arquivos MOD so
criados pelo Microsoft Multiplan verso 4.01, e considera-se que
tenham a extenso .MOD. PDOX Inclua PDOX para importar dados de um
arquivo de banco de dados do Paradox verses 3.5 ou 4.0.
Considera-se que os nomes de arquivos do Paradox tenham a extenso
.DB. RPD Inclua RPD para importar dados de um arquivo criado pelo
RapidFile verso 1.2. Considerase que os nomes de arquivos do
RapidFile tenham a extenso .RPD. SDF Inclua SDF para importar dados
de um arquivo System Data Format. Um arquivo SDF um arquivo de
texto ASCII em que os registros tm um comprimento fixo e terminam
com um retorno de carro e uma alimentao de linha. Os campos no so
delimitados. Considera-se que a extenso de arquivos SDF seja .TXT.
SYLK Inclua SYLK para importar dados de um arquivo de formato SYLK
(Symbolic Link) de intercmbio. Os arquivos SYLK so utilizados no
Microsoft MultiPlan. As colunas do arquivo SYLK tornam-se campos da
tabela do Visual FoxPro, e as linhas tornam-se registros. Os nomes
de arquivos SYLK no tm extenso. WK1 Inclua WK1 para importar dados
de uma planilha do Lotus 1-2-3 verso 2.x. Cada coluna da planilha
torna-se um campo da tabela; cada linha da planilha torna-se um
registro da tabela. Uma extenso de nome de arquivo .WK1 atribuda a
uma planilha criada pelo Lotus 1-2-3 reviso 2.x. WK3 Inclua WK3
para importar dados de uma planilha do Lotus 1-2-3. Cada coluna da
planilha torna-se um campo da tabela; cada linha da planilha
torna-se um registro da tabela. Uma extenso de nome de arquivo .WK3
atribuda a uma planilha criada pelo Lotus 1-2-3 reviso 3.x. WKS
Inclua WKS para importar dados de uma planilha do Lotus 1-2-3
reviso 1-A. Cada coluna da planilha torna-se um campo da tabela;
cada linha da planilha torna-se um registro da tabela. Uma extenso
de nome de arquivo .WKS atribuda a uma planilha criada pelo Lotus
1-2-3 reviso 1-A.
WR1 Inclua WR1 para importar dados de uma planilha do Lotus
Symphony verso 1.1 ou 1.2. Cada coluna da planilha torna-se um
campo da tabela, e cada linha torna-se um registro. Uma extenso de
nome de arquivo .WR1 atribuda a uma planilha criada pelo Symphony
verses 1.1 ou 1.2. WRK Inclua WRK para importar dados de uma
planilha do Lotus Symphony verso 1.0. Cada coluna da planilha
torna-se um campo da tabela, e cada linha torna-se um registro. Uma
extenso de nome de arquivo .WRK atribuda a uma planilha criada pelo
Symphony verso 1.0. XLS Inclua XLS para importar dados de uma
planilha do Microsoft Excel. Cada coluna da planilha torna-se um
campo da tabela, e cada linha torna-se um registro. A extenso .XLS
atribuda a nomes de arquivos de planilha criados pelo Microsoft
Excel. XL5 Inclua XL5 para importar dados do Microsoft Excel verso
5.0. As colunas da planilha se tornam campos da tabela, e as linhas
tornam-se registros. Os arquivos de planilha criados no Microsoft
Excel tm a extenso .XLS. AS nPginaCdigo Especifica a pgina de cdigo
da tabela ou arquivo de origem. O Visual FoxPro copia o contedo da
tabela ou arquivo de origem e, medida que copia os dados,
converteos automaticamente na pgina de cdigo da tabela atual. Se
voc especificar um valor para nPginaCdigo que no seja suportado, o
Visual FoxPro ir gerar uma mensagem de erro. Pode-se utilizar
GETCP( ) como nPginaCdigo para exibir a caixa de dilogo Pgina de
cdigo, que permite especificar uma pgina de cdigo para a tabela ou
arquivo includo. Se AS nPginaCdigo for omitido e o Visual FoxPro no
conseguir determinar a pgina de cdigo da tabela ou arquivo de
origem, ele copiar o contedo dessa tabela ou arquivo e, medida que
copia os dados, ir convert-los automaticamente na pgina de cdigo
atual do Visual FoxPro. Se SET CPDIALOG estiver ativado (ON), a
tabela na rea de trabalho atualmente selecionada ser marcada com
uma pgina de cdigo. Caso voc esteja fazendo a incluso a partir de
uma tabela que no esteja marcada com uma pgina de cdigo, a caixa de
dilogo Pgina de cdigo ser exibida, permitindo que voc selecione a
pgina de cdigo da tabela a partir da qual est fazendo a incluso. A
pgina de cdigo atual do Visual FoxPro pode ser determinada com
CPCURRENT( ). Se AS nPginaCdigo for omitido e o Visual FoxPro
conseguir determinar a pgina de cdigo da tabela ou do arquivo que
est sendo includo, ele copiar o contedo da tabela ou do arquivo
includo e, medida que copia os dados, ir convert-los
automaticamente na pgina de cdigo da tabela atualmente selecionada.
Se nPginaCdigo for 0, o Visual FoxPro ir considerar que a pgina de
cdigo da tabela ou do arquivo que est sendo includo igual ao da
tabela atualmente selecionada e no ser feita nenhuma converso para
a pgina de cdigo atual do Visual FoxPro. Comentrios Se o arquivo do
qual se faz a incluso for uma tabela criada pelo Visual FoxPro ou
por uma verso anterior do FoxPro, ser considerada uma extenso .DBF.
Se a tabela criada pelo Visual FoxPro ou por uma verso anterior do
FoxPro no tiver a extenso .DBF, voc dever especificar a extenso.
Caso o arquivo no seja uma tabela criada pelo Visual FoxPro ou por
uma verso anterior do FoxPro, voc dever especificar o tipo de
arquivo a partir do qual est fazendo a incluso.
Antes de fazer uma incluso a partir de uma tabela criada no
dBASE IV ou no dBASE V que contenha um campo Memo, voc deve abrir a
tabela no Visual FoxPro com USE. Quando aparecer a opo para
converter o arquivo, selecione Sim. Se voc fizer a incluso a partir
de uma tabela criada pelo Visual FoxPro ou por uma verso anterior
do FoxPro, essa tabela poder ser aberta em uma outra rea de
trabalho. Os registros marcados para excluso nessa tabela sero
desmarcados aps a sua incluso. APPEND FROM, exemplo do comando No
exemplo a seguir, a tabela customer aberta, sua estrutura copiada
para uma tabela denominada backup, e backup aberta. Em seguida, o
Visual FoxPro inclui todos os registros da Finlndia da tabela
customer. Estes registros so copiados para um novo arquivo
delimitado denominado TEMP.TXT. CLOSE DATABASES OPEN DATABASE
(HOME( ) + 'samples\data\testdata') USE customer && Abre a
tabela customer COPY STRUCTURE TO backup USE backup APPEND FROM
customer FOR country = 'Finlndia' COPY TO temp TYPE DELIMITED
MODIFY FILE temp.txt USE DELETE FILE backup.dbf DELETE FILE
temp.txt APPEND MEMO, comando Copia o contedo de um arquivo texto
para um campo Memo. Sintaxe APPEND MEMO NomeCampoMemo FROM
NomeArquivo [OVERWRITE] [AS nPginaCdigo] Argumentos NomeCampoMemo
Especifica o nome do campo Memo no qual o arquivo includo. FROM
NomeArquivo Especifica o arquivo texto cujo contedo copiado para o
campo Memo. Voc deve incluir o nome do arquivo texto inteiro,
inclusive a extenso. OVERWRITE Substitui o contedo atual do campo
Memo pelo contedo do arquivo. AS nPginaCdigo Especifica a pgina de
cdigo do arquivo texto copiado para o campo Memo. O Visual FoxPro
copia o contedo do arquivo texto e, medida que copia os dados para
o campo Memo, converte-os automaticamente da pgina de cdigo
especificada para a pgina de cdigo da tabela que contm o campo
Memo. Se a tabela que contm o campo Memo no estiver marcada
com uma pgina de cdigo, o Visual FoxPro converter
automaticamente os dados da pgina de cdigo especificada para a
pgina de cdigo atual do Visual FoxPro. Se voc especificar um valor
para nPginaCdigo que no seja suportado, o Visual FoxPro ir gerar
uma mensagem de erro. Voc pode utilizar GETCP( ) em nPginaCdigo
para exibir a caixa de dilogo Pgina de cdigo, que permite
especificar uma pgina de cdigo para a tabela ou o arquivo includo.
Se voc omitir a clusula AS nPginaCdigo ou especificar 0 para
nPginaCdigo, no haver nenhuma converso de pgina de cdigo no arquivo
texto. Comentrios Todo o contedo do arquivo texto ser includo no
contedo do campo Memo especificado no registro atual se a opo
Overwrite for omitida. APPEND MEMO, exemplo do comando No exemplo a
seguir, os contedos do campo Memo notes so copiados para um arquivo
denominado TEST.TXT. TEST.TXT e includos no contedo do campo Memo.
Finalmente, os contedos de TEST.TXT substituem o contedo atual do
campo Memo. CLOSE DATABASES OPEN DATABASE (HOME( ) +
'samples\data\testdata') USE employee && Abre a tabela
Employee WAIT WINDOW 'Observaes de funcionrios no campo Memo -
pressione ESC' NOWAIT MODIFY MEMO notes NOEDIT && Abre o
campo Memo notes COPY MEMO notes TO test.txt && Cria o
arquivo de teste a partir do campo Memo WAIT WINDOW 'Arquivos texto
TEST.TXT - pressione ESC' NOWAIT MODIFY FILE test.txt NOEDIT
&& Abre o arquivo texto WAIT WINDOW 'Observaes de
funcionrios agora acrescentadas- pressione ESC' NOWAIT APPEND MEMO
notes FROM test.txt && Adiciona contedo do arquivo texto
MODIFY MEMO notes NOEDIT && Exibe campo Memo novamente WAIT
WINDOW 'Sobrescreve observaes de funcionrio- pressione ESC' NOWAIT
APPEND MEMO notes FROM test.txt OVERWRITE && Substitui
notes MODIFY MEMO notes NOEDIT NOWAIT DELETE FILE test.txt APPEND
PROCEDURES, comando
Inclui procedimentos armazenados em um arquivo texto nos
procedimentos armazenados no banco de dados atual. Sintaxe APPEND
PROCEDURES FROM NomeArquivo [AS nPginaCdigo] [OVERWRITE]
Argumentos NomeArquivo Especifica o nome de um arquivo texto a
partir do qual os procedimentos armazenados so includos. AS
nPginaCdigo Especifica a pgina de cdigo do arquivo texto a partir
do qual os procedimentos armazenados so includos. O Visual FoxPro
copia o contedo do arquivo texto e, ao fazer isso, converte-o
automaticamente na pgina de cdigo especificada. Se voc especificar
um valor para nPginaCdigo que no seja suportado, o Visual FoxPro ir
gerar uma mensagem de erro. Pode-se utilizar GETCP( ) em
nPginaCdigo para exibir a caixa de dilogo Pgina de cdigo, que
permite especificar uma pgina de cdigo para o arquivo texto a
partir do qual os procedimentos armazenados so includos. Se voc
omitir AS nPginaCdigo, o Visual FoxPro copiar o contedo do arquivo
texto a partir do qual os procedimentos armazenados so includos e,
ao fazer isso, ir convert-lo automaticamente na pgina de cdigo
atual do Visual FoxPro. Para determinar a pgina de cdigo atual do
Visual FoxPro, utilize CPCURRENT( ). Se nPginaCdigo for 0, o Visual
FoxPro ir considerar que a pgina de cdigo do arquivo texto, a
partir do qual os procedimentos armazenados so includos, a mesma
pgina de cdigo do banco de dados atual, no ocorrendo nenhuma
converso para a pgina de cdigo atual do Visual FoxPro. OVERWRITE
Especifica que os procedimentos atuais armazenados no banco de
dados so sobrescritos pelos do arquivo texto. Se voc omitir
OVERWRITE, os procedimentos atuais armazenados no banco de dados no
sero sobrescritos e os procedimentos armazenados no arquivo texto
sero includos nos procedimentos j armazenados. Comentrios Utilize o
comando APPEND PROCEDURES para modificar procedimentos armazenados
em um banco de dados utilizando a linguagem de programao. Um banco
de dados dever estar aberto e ativo quando APPEND PROCEDURES for
emitido; caso contrrio, o Visual FoxPro ir gerar uma mensagem de
erro. APPEND PROCEDURES, exemplo do comando O exemplo a seguir abre
o banco de dados testdata. Uma tabela temporria, denominada
mytablecom um nico campo Memo, criada; e REPLACE utilizado para
colocar um procedimento armazenado denominado MyProcedure no campo
Memo. COPY MEMO utilizado para criar um arquivo texto temporrio
denominado MYTEMP.TXT, que contm o contedo do campo Memo. APPEND
PROCEDURES utilizado para incluir o procedimento armazenado do
arquivo texto temporrio no banco de dados. DISPLAY PROCEDURES exibe
os procedimentos armazenados no banco de dados e, em seguida, a
tabela e o arquivo texto temporrios so apagados. Observao: Para
exibir ou editar procedimentos armazenados por meio da interface do
usurio, utilize o Criador de bancos de dados. CLOSE DATABASES
* Abre o banco de dados testdata OPEN DATABASE
SYS(2004)+"\samples\data\testdata" * Cria uma tabela livre,
temporria com um campo Memo denominado mProcedure CREATE TABLE
mytable FREE (mProcedure M) APPEND BLANK && Adiciona um
registro em branco a mytable * Adiciona o comando PROCEDURE, nome e
retorno de carro /alimentao de linha ao * campo Memo REPLACE
mProcedure WITH "PROCEDURE MyProcedure" + CHR(13) + CHR(10) * Copia
o contedo do campo Memo para um arquivo temporrio COPY MEMO
mProcedure TO mytemp.txt USE && Fecha a tabela temporria
APPEND PROCEDURES FROM mytemp.txt CLEAR && Copia o
procedimento para o banco de dados
* Exibe os procedimentos associados com o banco de dados atual
DISPLAY PROCEDURES DELETE FILE mytable.dbf && Apaga a
tabela temporria DELETE FILE mytable.fpt && Apaga o arquivo
memo da tabela temporria DELETE FILE mytemp.txt && Apaga o
arquivo texto temporrio
APPEND, comando
Adiciona um ou mais registros novos ao fim de uma tabela.
Sintaxe APPEND [BLANK] [IN nreaTrabalho | cAliasTabela]
[NOMENU]
Argumentos BLANK Adiciona um registro em branco ao fim da tabela
atual. O Visual FoxPro no abre uma janela de edio quando voc emite
APPEND BLANK. Voc pode editar o novo registro com BROWSE, CHANGE ou
EDIT. IN nreaTrabalho Especifica a rea de trabalho da tabela na
qual um novo registro ser includo. IN cAliasTabela Especifica o
alias da tabela na qual um novo registro ser includo.
Se voc omitir nreaTrabalho e cAliasTabela, um novo registro ser
includo na tabela na rea de trabalho selecionada no momento. Se voc
emitir APPEND, um registro em branco ser adicionado tabela
especificada com nreaTrabalho ou cAliasTabela e a tabela ser
automaticamente selecionada. Se voc emitir APPEND BLANK, um
registro em branco ser adicionado tabela especificada com
nreaTrabalho ou cAliasTabela e a tabela no ser selecionada. NOMENU
Especifica que o ttulo do menu Tabela ser removido da barra de
menus do sistema, evitando alteraes no formato da janela de edio.
Comentrios Quando voc emite APPEND ou APPEND BLANK e uma tabela no
est aberta na rea de trabalho selecionada no momento, a caixa de
dilogo Abrir exibida, de forma que voc possa escolher uma tabela na
qual inclua registros. APPEND abre uma janela de edio para que voc
possa fornecer dados a um ou mais novos registros. Quando voc
adiciona um novo registro, o Visual FoxPro atualiza todos os ndices
abertos. APPEND, exemplo do comando O exemplo a seguir utiliza
APPEND BLANK para criar uma tabela com 10 registros contendo
valores aleatrios e, em seguida, exibe os valores mximo e mnimo na
tabela. CLOSE DATABASES CREATE TABLE Random (cValue N(3)) FOR nItem
= 1 TO 10 && Inclui 10 registros APPEND BLANK REPLACE
cValue WITH 1 + 100 * RAND( ) && Insere valores aleatrios
ENDFOR CLEAR LIST && Exibe os valores gnMaximum = 1
&& Inicializa valor mnimo gnMinimum = 100 &&
Inicializa valor mximo SCAN gnMinimum = MIN(gnMinimum, cValue)
gnMaximum = MAX(gnMaximum, cValue) ENDSCAN ? 'O valor mnimo : ',
gnMinimum && Exibe valor mnimo ? 'O valor mximo : ',
gnMaximum && Exibe valor mximo
APRINTERS( ), funo
Coloca os nomes das impressoras atualmente instaladas no
Gerenciador de Impresso do Windows em uma matriz de memria.
Sintaxe APRINTERS(NomeMatriz) Tipos de retorno Numrico
Argumentos NomeMatriz Especifica o nome da matriz que contm os
nomes das impressoras instaladas e suas portas. Se a matriz includa
no existir, o Visual FoxPro ir cri-la automaticamente. Se a matriz
existir e no for grande o suficiente para conter todas as informaes
sobre as impressoras, o Visual FoxPro aumentar automaticamente o
tamanho da matriz para que comporte as informaes. Caso a matriz
seja maior do que o necessrio, o Visual FoxPro ir trunc-la. Caso a
matriz exista e APRINTERS( ) retorne 0, porque nenhuma impressora
est instalada, a matriz permanecer inalterada. Se a matriz no
existir e APRINTERS( ) retornar 0, a matriz no ser criada.
Comentrios A funo APRINTERS( ) cria uma matriz bidimensional. A
primeira coluna da matriz contm os nomes das impressoras atualmente
instaladas e a segunda coluna contm as portas s quais as
impressoras esto conectadas. APRINTERS( ) retorna o nmero de
impressoras instaladas. Caso nenhuma impressora esteja instalada,
ela retornar 0. O Visual FoxPro obtm os nomes das impressoras
instaladas e suas portas no Windows. No entanto, o Visual FoxPro no
verifica se as impressoras esto de fato conectadas mquina.
APRINTERS( ), exemplo da funo O exemplo a seguir utiliza APRINTERS(
) para criar uma matriz denominada gaPrinters que contm os nomes e
as portas das impressoras instaladas. Em seguida, as impressoras e
suas portas so exibidas. Se nenhuma impressora estiver instalada,
ser exibida uma mensagem. IF APRINTERS(gaPrinters) > 0
&& Se houver drivers de impressoras instalados CLEAR
&& Limpa a janela principal do Visual FoxPro DISPLAY MEMORY
LIKE gaPrinters && Exibe as impressoras e portas ELSE
&& Caso contrrio, Nenhuma impressora instalada WAIT WINDOW
' Nenhuma impressora instalada.' ENDIF
ASC( ), funo Retorna o valor ANSI para o caractere mais esquerda
em uma expresso de caracteres.
Sintaxe ASC(cExpresso)
Tipos de retorno Numrico Argumentos cExpresso Especifica a
expresso de caracteres que contm o caractere cujo valor ANSI
retornado por ASC( ). Qualquer caractere aps o primeiro caractere
em cExpresso ser ignorado por ASC( ). Comentrios ASC( ) retorna a
posio do caractere na tabela de caracteres da pgina de cdigo atual.
Cada caractere tem um valor ANSI exclusivo no intervalo de 0 a 255.
ASC( ), exemplo da funo O exemplo a seguir exibe os caracteres A a
J e utiliza ASC( ) para exibir seus valores ANSI correspondentes.
STORE 'ABCDEFGHIJ' TO gcANSI && 10 caracteres CLEAR FOR
nCOUNT = 1 TO 10 ? SUBSTR(gcANSI, nCount,1) && Exibe um
caractere ?? ASC(SUBSTR(gcANSI, nCount)) && Exibe o valor
ANSI ENDFOR
ASCAN( ), funo Procura em uma matriz um elemento que contenha os
mesmos dados e o mesmo tipo de dado de uma expresso. Sintaxe
ASCAN(NomeMatriz, eExpresso [, nElementoInicial [,
nElementosProcurados]])
Tipos de retorno Numrico Argumentos NomeMatriz Especifica o nome
da matriz na qual ser feita a procura.
eExpresso Especifica a expresso geral a ser procurada.
nElementoInicial Especifica o nmero do elemento em que a procura ir
comear. O nmero do elemento especificado ser includo na procura. Se
voc omitir nElementoInicial, a procura ser feita, como padro, na
matriz inteira. nElementosProcurados Especifica o nmero de
elementos em que ser feita a procura. Se voc omitir
nElementoInicial e nElementosProcurados, a procura ter incio no
primeiro elemento da matriz e continuar at o ltimo elemento.
Observao Voc pode referir-se a um elemento de uma matriz de varivel
bidimensional de duas maneiras. O primeiro mtodo utiliza dois
ndices para especificar a posio do elemento na matriz em termos de
linha e coluna; o outro mtodo utiliza um nmero de elemento. Esta
funo e outras que manipulam matrizes bidimensionais exigem nmeros
de elementos (nElementoInicial e nElementosProcurados). Utilize
AELEMENT( ) para retornar o nmero do elemento a partir de ndices de
linha e coluna em uma matriz bidimensional. Comentrios Caso seja
localizada uma correspondncia, ASCAN( ) retornar o nmero do
elemento que contm a expresso. Caso contrrio, ASCAN( ) retornar 0.
Os critrios para uma correspondncia bem-sucedida de dados de
caractere so determinados pela definio de SET EXACT. Se SET EXACT
estiver ativado (ON), um elemento dever corresponder ao caractere
da expresso de procura e ter o mesmo comprimento. Caso SET EXACT
esteja desativado (OFF) e haja uma correspondncia entre um elemento
e a expresso de procura at o final da expresso, a correspondncia
ser bem-sucedida. Para obter maiores informaes sobre critrios de
correspondncia para seqncias de caracteres, consulte a tabela de
comparao de seqncias no tpico SET EXACT. ASCAN( ), exemplo da funo
O exemplo a seguir cria e preenche uma matriz com nomes de empresa
e depois utiliza ASCAN( ) para procurar determinado nome de
empresa. Se o nome da empresa for localizado, ser removido da
matriz. CLOSE DATABASES OPEN DATABASE (HOME( ) +
'samples\data\testdata') USE customer && Abre a tabela
customer SELECT company FROM customer ; WHERE country = 'UK' ; INTO
ARRAY gaCompanies gnCount = _TALLY gcName = 'Seven Seas Imports'
CLEAR DISPLAY MEMORY LIKE gaCompanies* gnPos = ASCAN(gaCompanies,
gcName) && Procura pela empresa IF gnPos != 0 *** Empresa
encontrada, remova-a da matriz ***
= ADEL(gaCompanies, gnPos) gnCount = gnCount - 1 ENDIF DISPLAY
MEMORY LIKE gaCompanies ASIN( ), funo Retorna em radianos o arco
seno de uma expresso numrica. Sintaxe ASIN(nExpresso) Tipos de
retorno Numrico Argumentos nExpresso Especifica a expresso numrica
cujo arco seno retornado por ASIN( ). O valor de nExpresso pode
variar de +1 at 1 e o valor retornado por ASIN( ) pode variar de
pi/2 a +pi/2 ( 1,57079 a 1,57079). O nmero de casas decimais na
exibio do resultado pode ser especificado com SET DECIMALS.
Comentrios Utilize RTOD( ) para converter radianos em graus. ASIN(
), exemplo da funo CLEAR ? RTOD(ASIN(0)) && Retorna 0.00
STORE 1 to gnArcAngle ? RTOD(ASIN(gnArcAngle)) && Retorna
90.00 ? RTOD(ASIN(SQRT(2)/2)) && Retorna 45.00
ASORT( ), funo
Classifica os elementos de uma matriz em ordem ascendente ou
descendente. Sintaxe ASORT(NomeMatriz [, nElementoInicial [,
nNmeroClassificados [, nOrdemClassificao]]]) Tipos de retorno
Numrico Argumentos NomeMatriz Especifica o nome da matriz a ser
classificada. nElementoInicial Especifica o elemento inicial da
classificao. Se voc omitir nElementoInicial, a matriz ser
classificada, como padro, a partir do primeiro elemento. Se a
matriz for unidimensional, a classificao incluir nElementoInicial.
Se ela for bidimensional, o elemento inicial nElementoInicial
determinar a linha em que a classificao ir comear e a coluna que
determina a ordem de classificao das linhas. Observao Voc pode
referir-se a um elemento de uma matriz bidimensional de duas
maneiras. O primeiro mtodo utiliza dois ndices para especificar a
posio do elemento na matriz em termos de linha e coluna; o outro
mtodo utiliza um nmero de elemento. Esta funo e outras que
manipulam matrizes bidimensionais exigem nmeros de elementos (em
ASORT( ), as expresses numricas nElementoInicial e
nNmeroClassificados). Voc pode utilizar AELEMENT( ) para retornar o
nmero do elemento a partir de ndices de linha e coluna em uma
matriz bidimensional. O exemplo a seguir ilustra o fato de que o
elemento inicial nElementoInicial determina o modo como as linhas
em uma matriz bidimensional so classificadas. Uma matriz pequena
denominada gaArray criada e classificada duas vezes. A primeira
classificao comea no primeiro elemento de gaArray e as linhas so
classificadas com base nos valores contidos na primeira coluna da
matriz. A segunda classificao comea no quarto elemento de gaArray e
as linhas so classificadas com base nos valores contidos na segunda
coluna. A primeira classificao comea na primeira linha. A segunda
comea na segunda linha. Voc pode utilizar DISPLAY MEMORY para
exibir o contedo da matriz; nestes exemplos, so utilizadas tabelas
para exibir graficamente os resultados das classificaes. Os
comandos abaixo criam a matriz denominada gaArray: DIMENSION
gaArray(3,2) gaArray(1) = 'G' gaArray(2) = 'A' gaArray(3) = 'C'
gaArray(4) = 'Z' gaArray(5) = 'B' gaArray(6) = 'N'
gaArray tem a aparncia a seguir: Coluna 1 Linha 1 G Linha 2 C
Linha 3 B A Z N Coluna 2
Em seguida, ASORT( ) classifica a matriz a partir do primeiro
elemento (1,1) da mesma. Os elementos da primeira coluna so
colocados em ordem ascendente por meio de uma reorganizao das
linhas da matriz. =ASORT(gaArray,1) Observe a nova ordem das
linhas: Coluna 1 Linha 1 B Linha 2 C Linha 3 G N Z A Coluna 2
Em seguida, a matriz classificada a partir do seu quarto
elemento (2,2). Os elementos na segunda coluna so colocados em
ordem por meio de uma reorganizao das linhas da matriz.
=ASORT(gaArray,4)
Observe a diferena na ordem das linhas: Coluna 1 Coluna 2
Linha 1 B N Linha 2 G A Linha 3 C Z nNmeroClassificados
Especifica o nmero de elementos classificados em uma matriz
unidimensional ou o nmero de linhas classificadas em uma matriz
bidimensional. Por exemplo, se a matriz for unidimensional e
nElementoInicial for 2, indicando que a classificao comea no
segundo elemento da matriz, e nNmeroClassificados for 3, indicando
que a classificao deve incluir trs elementos, o segundo, o terceiro
e o quarto elementos da matriz sero classificados. Se
nNmeroClassificados for 1 ou for omitido, todos os elementos da
matriz, a partir do elemento inicial nElementoInicial at o ltimo
elemento, sero classificados. Se a matriz for bidimensional,
nNmeroClassificados designar o nmero de linhas que devem ser
classificadas, a partir da linha que contm o elemento inicial
nElementoInicial. Por exemplo, se nElementoInicial for 2 e
nNmeroClassificados for 3, a linha que contm o segundo elemento de
matriz e as duas linhas seguintes sero classificadas. Se
nNmeroClassificados for 1 ou for omitido, todas as linhas da
matriz, a partir da linha que contm o elemento inicial
nElementoInicial at a ltima linha, sero classificadas.
nOrdemClassificao Especifica a ordem de classificao (ascendente ou
descendente) dos elementos da matriz. Como padro, os elementos de
matriz so classificados em ordem ascendente. Se nOrdemClassificao
for 0 ou for omitida, os elementos de matriz sero classificados em
ordem ascendente. Se nOrdemClassificao for 1 ou qualquer valor
diferente de zero, os elementos de matriz sero classificados em
ordem descendente. Comentrios
Todos os elementos includos na classificao devem ter o mesmo
tipo de dados. As matrizes unidimensionais so classificadas pelos
seus elementos; as matrizes bidimensionais so classificadas pelas
suas linhas. Quando uma matriz bidimensional classificada, a ordem
das linhas na matriz alterada para que os elementos de uma coluna
da matriz fiquem em ordem ascendente ou descendente. Se a
classificao for bem-sucedida, ser retornado 1; caso contrrio, ser
retornado 1. ASORT( ), exemplo da funo O exemplo a seguir copia o
campo contact da tabela customer para uma matriz denominada
gaContact. Os primeiros 20 contatos na matriz so exibidos, a matriz
classificada e os contatos so exibidos novamente na ordem de
classificao. CLOSE DATABASES OPEN DATABASE (HOME( ) +
'samples\data\testdata') USE Customer && Abre a tabela de
clientes COUNT TO gnCount && Nmero de contatos DIMENSION
gaContact(gnCount,1) && Cria uma matriz de contatos COPY TO
ARRAY gaContact FIELD contact && Preenche a matriz CLEAR ?
'Contact names:' ? FOR nCount = 1 TO 20 ? gaContact(nCount)
&& Exibe os 20 primeiros contatos ENDFOR = ASORT(gaContact)
&& Classifica a matriz ? ? 'Sorted Contact names:' ? FOR
nCount = 1 TO 20 ? gaContact(nCount) && Exibe os 20
primeiros contatos, classificados ENDFOR ASSERT, comando
Exibe uma caixa de mensagem quando uma expresso lgica avaliada
como falsa (.F.). Sintaxe ASSERT lExpresso [MESSAGE cTextoMensagem]
Argumentos
lExpresso Especifica a expresso lgica que avaliada. Se lExpresso
resultar em um falso (.F.) lgico, uma caixa de dilogo de depurao
ser exibida. Se lExpresso resultar em um verdadeiro (.T.) lgico, a
caixa de dilogo no ser exibida. cTextoMensagem Especifica o texto
exibido na caixa de dilogo de depurao. Se voc omitir
cTextoMensagem, o texto padro ser exibido, indicando o nmero da
linha na qual a declarao falhou e o procedimento contendo a
declarao. Comentrios Esse comando ser ignorado se o comando SET
ASSERTS for definido como OFF. A caixa de mensagem contm os botes
Cancelar, Depurar, Ignorar e Ignorar todos. A tabela a seguir
descreve a ao executada quando cada boto selecionado. Boto Ao
Depurar A execuo do programa suspensa e a janela Depurar exibida
com a janela Rastrear ativa. Cancelar A execuo do programa
encerrada. Ignorar A execuo do programa continua com a linha aps o
comando ASSERT. Ignorar Todos A execuo do programa continua com a
linha aps o comando ASSERT e ASSERTS definido como OFF. Os comandos
ASSERT subseqentes sero ignorados at que ASSERTS seja definido como
ON. ASUBSCRIPT( ), funo Retorna o ndice de linha ou coluna de um
elemento a partir do nmero do elemento. Sintaxe
ASUBSCRIPT(NomeMatriz, nNmeroElemento, nndice) Tipos de retorno
Numrico Argumentos NomeMatriz Especifica o nome da matriz.
nNmeroElemento Especifica o nmero do elemento. nndice Determina se
retornado o ndice de linha ou coluna. Se a matriz for
unidimensional, inclua o nmero do elemento em nNmeroElemento e 1 em
nndice. ASUBSCRIPT( ) retorna nNmeroElemento de forma idntica.
Se a matriz for bidimensional, voc deve incluir o nmero do
elemento nNmeroElemento e um valor 1 ou 2 em nndice. A especificao
de 1 em nndice retorna o ndice de linha do elemento, e a
especificao de 2 retorna o ndice de coluna. Para obter maiores
informaes sobre como fazer referncia a elementos de uma matriz,
consulte DIMENSION.
Comentrios Voc pode referir-se a elementos de matrizes de
varivel bidimensionais de duas maneiras. O primeiro mtodo utiliza
dois ndices para especificar a posio do elemento na matriz em
termos de linha e coluna. O segundo mtodo utiliza um nmero de
elemento. Utilize ASUBSCRIPT( ) para obter o ndice de linha ou
coluna de um elemento a partir do nmero do elemento. No exemplo a
seguir, criada uma matriz com duas linhas e trs colunas. DISPLAY
MEMORY exibe o contedo dos elementos da matriz listados na ordem
dos nmeros dos elementos. DIMENSION gaMyArray(2,3) DISPLAY MEMORY
LIKE gaMyArray GAMYARRAY Pub A ( 1, 1) L .F. (elemento nmero 1) (
1, 2) L .F. (elemento nmero 2) ( 1, 3) L .F. (elemento nmero 3) (
2, 1) L .F. (elemento nmero 4) ( 2, 2) L .F. (elemento nmero 5) (
2, 3) L .F. (elemento nmero 6)
Os dois comandos abaixo armazenam a seqncia de caracteres
INVOICE no mesmo elemento de matriz: STORE 'INVOICE' TO
gaMyArray(2, 1) STORE 'INVOICE' TO gaMyArray(4)
Em matrizes unidimensionais, o nmero de um elemento idntico ao
seu ndice de linha nico. No necessrio utilizar ASUBSCRIPT( ) com
matrizes unidimensionais.
AT( ), funo
Retorna a posio numrica inicial da primeira ocorrncia de uma
expresso de caracteres ou campo Memo dentro de uma outra expresso
de caracteres ou campo Memo, contando a partir do caractere mais
esquerda.
Sintaxe AT(cExpressoProcurada, cExpressoPesquisada [,
nOcorrncia]) Tipos de retorno Numrico Argumentos cExpressoProcurada
Especifica a expresso de caracteres que AT( ) procura em
cExpressoPesquisada. cExpressoPesquisada Especifica a expresso de
caracteres que a cExpressoProcurada procura. Tanto
cExpressoProcurada como cExpressoPesquisada podem ser campos Memo
de qualquer tamanho. nOcorrncia Especifica qual ocorrncia
(primeira, segunda, terceira e assim por diante) da
cExpressoProcurada procurada na cExpressoPesquisada. Como padro,
AT( ) procura a primeira ocorrncia da cExpressoProcurada
(nOcorrncia = 1). A incluso de nOcorrncia permite que voc procure
ocorrncias adicionais da cExpressoProcurada na cExpressoPesquisada.
AT( ) retornar 0 se nOcorrncia for maior do que o nmero de vezes
que a cExpressoProcurada ocorre na cExpressoPesquisada. Comentrios
AT( ) procura a primeira ocorrncia da primeira expresso de
caracteres na segunda expresso de caracteres. Em seguida, retorna
um inteiro que indica a posio do primeiro caractere na expresso de
caracteres localizada. Caso a expresso de caracteres no seja
localizada, AT( ) retornar 0. A procura executada por AT( )
considera maisculas/minsculas. Para executar uma procura que no
considere maisculas/minsculas, utilize ATC( ). AT( ), exemplo da
funo STORE 'Agora a hora da verdade' TO gcString STORE ' a' TO
gcFindString CLEAR ? AT(gcFindString,gcString) && Exibe 5
STORE '' TO gcFindString ? AT(gcFindString,gcString) &&
Exibe 0, considera maisculas/minsculas
AT_C( ), funo
Retorna a posio numrica inicial da primeira ocorrncia de uma
expresso de caracteres ou campo Memo dentro de uma outra expresso
de caracteres ou campo Memo, contando a partir do caractere mais
esquerda. Sintaxe AT_C(cExpressoProcurada, cExpressoPesquisada [,
nOcorrncia]) Tipos de retorno Numrico Argumentos cExpressoProcurada
Especifica a expresso de caracteres que AT_C( ) procura em
cExpressoPesquisada. CExpressoPesquisada Especifica a expresso de
caracteres que a cExpressoProcurada procura. Tanto a
cExpressoProcurada como a cExpressoPesquisada podem ser campos Memo
de qualquer tamanho. nOcorrncia Especifica qual ocorrncia
(primeira, segunda, terceira e assim por diante) da
cExpressoProcurada procurada na cExpressoPesquisada. Como padro,
AT_C( ) procura a primeira ocorrncia da cExpressoProcurada
(nOcorrncia = 1). A incluso de nOcorrncia permite que voc procure
ocorrncias adicionais de cExpressoProcurada em cExpressoPesquisada.
AT_C( ) retornar 0 se nOcorrncia for maior do que o nmero de vezes
que a cExpressoProcurada ocorre na cExpressoPesquisada.
Comentrios AT_C( ) procura a primeira ocorrncia da primeira
expresso de caracteres na segunda expresso de caracteres. Em
seguida, retorna um inteiro que indica a posio do primeiro
caractere na expresso de caracteres localizada. Caso a expresso de
caracteres no seja localizada, AT_C( ) retornar 0. AT_C( ) foi
criada para expresses que contm caracteres de byte duplo. Se a
expresso contiver apenas caracteres de byte nico, AT_C( ) ser
equivalente a AT( ). A procura executada por AT_C( ) considera
maisculas/minsculas. Para executar uma procura que no considere
maisculas/minsculas, utilize ATCC( ).
ATAN( ), funo
Retorna em radianos o arco tangente de uma expresso numrica.
Sintaxe ATAN(nExpresso) Tipos de retorno Numrico Argumentos
nExpresso Especifica uma expresso numrica cujo arco tangente
retornado por ATAN( ). nExpresso pode ser qualquer valor. O valor
retornado por ATAN( ) pode variar de pi/2 a +pi/2 ( 1,57079 a
1,57079). O nmero de casas decimais exibidas no valor retornado por
ATAN( ) determinado por SET DECIMALS. Comentrios Utilize RTOD( )
para converter radianos em graus. ATAN( ), exemplo da funo CLEAR ?
ATAN(0) && Exibe 0.00 STORE PI( )/2 to gnAngle ?
ATAN(gnAngle) && Exibe 1.00 ? ATAN(PI( )/2) &&
Exibe 1.00 ? ATAN(DTOR(90)) && Exibe 1.00 ATC( ), funo
Retorna a posio numrica inicial da primeira ocorrncia de uma
expresso de caracteres ou campo Memo dentro de uma outra expresso
de caracteres ou campo Memo, sem considerar maisculas/minsculas nas
duas expresses. Sintaxe ATC(cExpressoProcurada, cExpressoPesquisada
[, nOcorrncia]) Tipos de retorno Numrico Argumentos
cExpressoProcurada Especifica a expresso de caracteres que ATC(
) procura em cExpressoPesquisada. cExpressoPesquisada Especifica a
expresso de caracteres que a cExpressoProcurada procura. Tanto a
cExpressoProcurada como a cExpressoPesquisada podem ser campos Memo
de qualquer tamanho. nOcorrncia Especifica qual ocorrncia
(primeira, segunda, terceira e assim por diante) da
cExpressoProcurada ser procurada na cExpressoPesquisada. Como
padro, ATC( ) procura a primeira ocorrncia da cExpressoProcurada
(nOcorrncia = 1). A incluso de nOcorrncia permite que voc procure
ocorrncias adicionais da cExpressoProcurada na
cExpressoPesquisada.
Comentrios ATC( ) procura a ocorrncia da primeira expresso de
caracteres na segunda expresso de caracteres, sem considerar
maisculas/minsculas nas duas expresses. Utilize AT( ) para executar
uma procura que considere maisculas/minsculas. ATC( ) retorna um
inteiro correspondente posio em que o primeiro caractere da
expresso de caracteres foi localizado. Se a expresso de caracteres
no for localizada, ATC( ) retornar 0. ATC( ), exemplo da funo STORE
' Agora a hora da verdade ... ' TO gcString STORE ' A' TO
gcFindString CLEAR ? ATC(gcFindString, gcString) && Exibe 5
STORE '' TO gcFindString ? ATC(gcFindString, gcString) &&
Exibe 5 ? ATC('now',gcString) && Exibe 1 ATCC( ), funo
Retorna a posio numrica inicial da primeira ocorrncia de uma
expresso de caracteres ou campo Memo dentro de outra expresso de
caracteres ou campo Memo, sem considerar maisculas/minsculas nas
duas expresses. Sintaxe ATCC(cExpressoProcurada,
cExpressoPesquisada [, nOcorrncia])
Tipos de retorno Numrico Argumentos
cExpressoProcurada Especifica a expresso de caracteres que ATCC(
) procura em cExpressoPesquisada. cExpressoPesquisada Especifica a
expresso de