Você está na página 1de 9

Tutorial FoxBase

Este tutorial apresenta uma breve descrio do ambiente de trabalho do FoxBase e a descrio, com exemplos, de seus principais comandos e funes. Iniciando Ao entrar no FoxBase (di itando F!" na linha de comando#, ser$ apresentada a tela abaixo%

&esta tela, podemos observar a linha de comando ('ommand (ine#, na )ual sero sempre apresentadas informaes importantes das operaes reali*adas no FoxBase.

Comandos Bsicos
A se uir sero apresentados al uns comandos b$sicos dispon+veis no FoxBase. ,ale lembrar )ue so aceitos os )uatro primeiros caracteres dos comandos, sem ter a necessidades de di it$-los completamente. Ex% .I/0(A1 /234'243E, pode ser di itado como .I/0 /234.

GZ SISTEMAS IMPORTA O E COM!RCIO "T#A

P$% &

C"EAR

(impa a tela. E s5.

CREATE 'ar(ui)o*

'ria um novo ar)uivo de dados, cu6a extenso padro 7 .BF. Atrav7s deste comando define-se a estrutura do ar)uivo, informando &!8E .! 'A80!, 2I0!, 2A8A&9! e 'A/A/ .E'I8AI/ (para campos num7ricos#. 3e ras para criao da estrutura% +OME ,-ield name. 0ode conter at7 :; caracteres, sendo obri at5rio )ue se inicie por uma letra. &o 7 permitido espao em branco assim como caracteres especiais (! ? %&;.@#. TIPO ,t/0e. !s tipos de dados podem ser% Character : 2amb7m chamados de campo /trin em certas lin ua ens e banco de dados. 0ermite )ual)uer caractere (letras, n<meros e s+mbolos#. /e um campo caractere possuir um n<mero como conte<do, no ser$ poss+vel utili*a-lo para c$lculos num7ricos, exceto se antes for convertido para num7rico atrav7s de uma funo de converso ()ue ser$ apresentada mais adiante#. Este tipo de dado pode ser definido com tamanho de : = >?@ caracteres. Numeric% 2ipo de dado utili*ado para campos com valores, como sal$rio, preo, )uantidade, percentual, etc. 2em como limite de tamanho :A d+ itos, inclu+dos neste limite o ponto e casas decimais. 0ortanto, um campo num7rico definido com tamanho :> e duas casas decimais tem um limite de AAA.AAA.AAA,AA. Date: 'ampo para arma*enamento de datas. 0ossui tamanho fixo de B posies. Logic: 'ampo para arma*enar dados l5 icos (2rue e False#. 0ossui tamanho fixo de um caractere e s5 so permitidos como valor 2 (true# ou F (false#. Memo: C um tipo de campo especial utili*ando para arma*enamento de uma )uantidade maior de caracteres, como um texto explicativo, por exemplo. Este campo permite arma*enar at7 D@ EbFtes por re istro. 0ara isso, os dados deste campo ficam arma*enados em um ar)uivo auxiliar, cu6a extenso 7 .B2, com o mesmo nome do ar)uivo .BF.

GZ SISTEMAS IMPORTA O E COM!RCIO "T#A

P$% 1

2SE 3'-ile*4 3I+#E5 'ndx6-ile6list*4 3A"IAS 'alias*4

Abre um ar)uivo de dados no formato .BF. !pcionalmente, pode-se definir uma lista de ar)uivos +ndices referentes (discutidos mais tarde# = este .BF e tamb7m um Alias. 4m Alias 7 um apelido dado ao ar)uivo e tem como ob6etivo normalmente definir uma referGncia mais pr$tica, curta e simples ao ar)uivo. 0or exemplo% 4/E 'A.A/23! A(IA/ 'A. 0ode-se fa*er referGncia ao 'A.A/23!..BF pelo alias 'A.. ,eremos exemplos mais pr$ticos = frente.

APPE+# 3B"A+74

Insere um re istro na base de dados. A diferena entre A00E&. e A00E&. B(A&H 7 )ue o primeiro abre uma tela para )ue se6am inseridos os valores em cada um dos campos do re istro inserido e o se undo insere automaticamente um re istro em branco, com todos os campos va*ios.

E#IT

Edita o re istro atual, permitindo inserirIalterar dados nos campos.

#ISP"A8 3'esco0o*4 33FIE"#S4 'lista6cam0os*4 3FOR 'condi9:o*4 3;<I"E 'condi9:o*4 3OFF4 3TO PRI+T4

! comando .I/0(A1 tem como funo listar re istros (em tela ou impressora# de diversas formas, de acordo com as opes do comando utili*adas. As opes so% JescopoK - Escopo 7 a abran Gncia de re istros )ue sero listados. 'omo escopo pode-se informar% ALL NEXT n RECORD n REST - (ista todos os re istros - (ista os pr5ximos n re istros - (ista apenas o re istro n - (ista o restante dos re istros, ou se6a, do re istro atual ao <ltimo.

FIE(./ L .etermina )uais campos sero listados. /e no informado , todos os campos do ar)uivo sero listados. F!3 L Espec+fica uma condio a ser atendida para )ue um re istro se6a listado. M9I(E L 2em a mesma funo de F!3, com a diferena )ue F!3 analisar$ se cada um dos re istros, a partir do re istro atual, atende a condio estipulada. N$ M9I(E listar$ os re istros en)uanto a condio for satisfeita, 6$ a partir do re istro atual. /e o re istro atual no atender a condio, nada ser$ listado, ao passo )ue com F!3, o primeiro re istro 7 i norado e a verificao l5 ica 7 feita para os demais re istros, at7 o final. !FF L /uprime a exibio do n<mero do re istro na primeira coluna da lista em. 2! 03I&2 L Envia a lista em para a sa+da da impressora ((02:#.

GZ SISTEMAS IMPORTA O E COM!RCIO "T#A

P$% =

9$ ainda al umas variaes do comando .I/0(A1, )ue so% #ISP"A8 FI"ES 3O+ 'dri)e>dir*4 3"I7E 'mascara*4 3TO PRI+T4 (ista os ar)uivos de um determinado diret5rio ou do diret5rio corrente. Ex% .I/0(A1 FI(E/ L (istar$ todos os ar)uivos .BF (padro#. .I/0(A1 FI(E/ on '%OPQO'!&'E&2 - listar$ todos os .BFs de '%OPQO'!&'E&2 .I/0(A1 FI(E/ (IHE R.&2" L listar$ todos os ar)uivos cI extenso &2" do diret5rio atual #ISP"A8 <ISTOR8 3"AST 'ex0r*4 3TO PRI+T4 (ista o hist5rico dos comandos di itados na linha de comando. #ISP"A8 MEMOR8 3TO PRI+T4 (ista as vari$veis de mem5ria em uso #ISP"A8 STAT2S 3TO PRI+T4 (ista todos os parSmetros /E2 e seus estados (!&I!FF# e as pro ramaes das teclas de funo. #ISP"A8 STR2CT2RE 3TO PRI+T4 (ista a estrutura do ar)uivo .BF aberto na $rea atual. ! comando (I/2 funciona como o comando .I/0(A1, com as se uintes diferenas% o escopo padro para (I/2 7 A((, para .I/0(A1 7 o re istro corrente. (I/2 no possui pausa a cada :? re istros. (I/2 no utili*a-se de uma fla na lista em para indicar re istros )ue esto deletados.

OPERA#ORES CO+#ICIO+AIS 0ara se trabalhar com as cl$usulas F!3 ou M9I(E, como as existentes nos comandos (I/2 e .I/0(A1 (e em outros como 3E0(A'E, por exemplo# 7 necess$rio conhecer os operadores condicionais. /o eles% T JK K J KT JT IP4A( A .IFE3E&2E .E 8AI!3 U4E 8E&!3 U4E 8AI!3 !4 IP4A( A 8E&!3 !4 IP4A( A

Exemplos% (I/2 A(( '!.IP!,3AQ/!' F!3 LIMITE > 1000 (I/2 &!8FA&,E&.E3,BAI33!,84&I' F!3 ESTA#O?@SP@ A R Uuando for fa*er referGncia = uma expresso do tipo caractere (strin #, deve-se inform$-la entre aspas, simples ou duplo.

GZ SISTEMAS IMPORTA O E COM!RCIO "T#A

P$% B

OPERA#ORES "CGICOS /o operadores )ue permitem estabelecer uma relao entre v$rias condies a serem avaliadas. /o eles% .!3. !4 l5 ico .A&.. E l5 ico .&!2. &V! l5 ico Ex% (I/2 '!.IP!, &!8FA&, 2E(EF!&E F!3 E/2A.!TW/0W .A&.. ...2E(TW;::W Liste cdigo , Nome !nt!si! e te"e one dos c"ientes #$e o%em de S& e c$'o DDD se'! ()). (I/2 '!.IP!, &!8FA&, ...2E(, 2E(EF!&E F!3 ...2E(TW;::W .!3. ...2E(TW;:AW List!% os c"ientes #$e *oss$em DDD )) o$ )+. (I/2 '!.IP!, &!8FA& F!3 .&!2. /I24A'A!TTWBW List! os %egist%os c$'! sit$!,-o N.O se'! /01

DARIEDEIS #E MEMCRIA ,ari$vel de mem5ria 7 um recurso utili*ado em todas as lin ua ens de pro ramao para arma*enar uma informao em mem5ria e poder recuper$-la sempre )ue necess$rio, atrav7s da utili*ao de uma referGncia ao endereo de mem5ria onde a informao est$ arma*enada. Esta referGncia 7 o nome da vari$vel. A re ra para nome de vari$vel se ue a re ra para nomes de campos em ar)uivos (descrita no comando '3EA2E#. ! tipo da vari$vel depende do tipo de informao arma*enada. A criao de uma vari$vel 7 feita por J&!8E .A ,A3IX,E(K T J,A(!3K Ex% A T :; -K Foi criada a vari$vel A, arma*enando o valor :;. C, portanto, uma vari$vel num7rica. E80TWPQ /I/2E8A/W -K 'riada a vari$vel E80, do tipo caractere. .A2AT'2!.(YZ;I;:I>;;@W# -K 'riada a vari$vel .A2A, do tipo .ate. /& T .2. -K ,ari$vel do tipo l5 ica, arma*enando o valor 2rue "TARZ>I[-K A vari$vel " arma*enar$ o resultado da operao )ue ir$ multiplicar o valor arma*enado em A por Z> e em se uida, dividir$ o resultado da multiplicao por [. ! valor arma*endo em " seria de @?.[: OFsG 0ara atribuir uma data 7 necess$rio o uso da funo '2!., )ue converte uma expresso caractere para data. C necess$rio passar = esta funo um texto em forma de uma data v$lida para )ue se6a reali*ada a converso. /e for informado simplesmente YZ;I;:I>;;@W, trata-se de uma informao do tipo 2E"2!. 'aso se6a informado Z;I;:I>;;@, trata-se de uma expresso matem$tica, o )ue resultaria no arma*enamento do valor ;.;:

GZ SISTEMAS IMPORTA O E COM!RCIO "T#A

P$% H

REP"ACE 3'sco0e*4 '-ield* ;IT< 'ex0r* 3I'-ield1* ;IT< 'ex0r1*%%%4 3FOR 'ex0"*4 3;<I"E 'ex0"*4 'omando para ravar dados em campos do re istro corrente do ar)uivo em uso. Ex% 3E0(A'E A(( /I24A'A! MI29 Y(W At%i2$i o 3!"o% /L1 *!%! o c!m*o S4T5ACAO em todos os %egist%os do !%#$i3o. 4/E '(IE&2E/ ...'(ITW;::W 'I.'(ITWN4&.IAIW 'E0'(ITW:Z>;;;;;W 3E0( ...'!8 MI29 ...'(I, 'E0 MI29 'E0'(I F!3 84&I'T'I.'(I E6ec$t! o RE&LACE nos c!m*os DDDCO7 e CE& com os 3!"o%es d!s 3!%i83eis DDDCL4 e CE&CL4 !*en!s nos %egist%os onde o c!m*o 75N4C ten9! como conte:do o 3!"o% d! 3!%i83e" C4DCL4. I+#E5 O+ 'ex0r* TO '-ile* 3FOR 'ex0"*4 32+IJ2E4 'ria ar)uivos de +ndice para a ili*ar a pes)uisa por re istros dentro do ar)uivo, atrav7s de uma chaves de pes)uisa (JexprK#. Ex% 4/E '(IE&2E/ I&.E" !& '!.IP! 2! I&.'(I: Ao in!" d! c%i!,-o do ;ndice, este '8 est8 !2e%to e sendo o ;ndice !ti3o *!%! o !%#$i3o CL4ENTES.D0<. CKa)e Com0osta C poss+vel e muitas ve*es torna-se necess$rio a definio de uma chave de pes)uisa formada por dois ou mais campos para se formar a identidade <nica do re istro. 0or exemplo, em um ar)uivo de contas = receber, o nro. do documento no pode ser considerado como chave prim$ria(<nica# dentro do ar)uivo. A identificao <nica do documento depende de outras informaes como lo6a, nro. do caixa, tipo do documento, desdobramento. Assim ter+amos% I&.E" !& /23((!NA,>#\/23('AI"A,>#\2I0!.!'\/23(&3.!',D#\.E/.!B3 4ma chave composta deve ser do tipo de caractere. 0or isso o uso da funo /23, )ue converte um valor num7rico em caractere, para )ue os valores dos campos (!NA, 'AI"A e &3.!' se6am convertidos para caractere antes de serem concatenados com 2I0!.!' e .E/.!B3. &o 7 poss+vel criar uma chave composta do tipo num7rico, por exemplo, pois se eu tentar criar al o como I&.E" !& '!.IP!\(I8I2E, a chave ser$ formada pelo resultado da soma dos dois valores, o )ue impediria de erar um +ndice pela ordem dese6ada.

GZ SISTEMAS IMPORTA O E COM!RCIO "T#A

P$% L

Comandos de Con-i$ura9:o de AmFiente ,SET. !s comandos de confi urao de ambiente so <teis para definir parSmetros de trabalho dentro FoxBase. /e ue uma lista com os principais% SET #ATE 'ex0r* .efine o formato da data a ser utili*ado. ! padro ao entrar no Fox 7 o padro americano (mmIddIaa#. &5s utili*amos o padro britSnico (ddImmIaa#, ativado por /E2 .A2E B3I2I/9. SET CE+T2R8 O+>FF Ativa (!&# ou desativa(!FF# a apresentao de anos com )uatro d+ itos. SET E5C"2SIDE O+>OFF Ativa ou desativa a abertura de ar)uivos somente em uma m$)uina, fa*endo com )ue os ar)uivos s5 se6am abertos caso nenhuma outra m$)uina da rede este6a com este em aberto. SET #E"ETE# O+>OFF Ativa ou desativa a exibio de re istros marcados para deleo. SET PRI+TER TO '0orta>ar(ui)o* .ireciona a impresso para uma porta ou para um ar)uivo. Ex% /E2 03I&2E3 2! (02: /E2 03I&2E3 2! 3E(A2.03& SET PRI+T O+>OFF Ativa ou desativa a impresso SET #EDICE TO 'PRI+TER>SCREE+* .ireciona a sa+da de dados para impressora ou tela. &o 7 utili*ado no modo interativo, direto na linha de comando e sim em pro ramas de emisso de relat5rios. Comandos 0ara 0es(uisa > mudan9a de 0onteiro de re$istros% P! JnK 8uda o ponteiro para o re istro n /HI0 ]\I-^ ]n^ Avana (\# ou retrocede(-# n re istros no ar)uivo. /e for declarado simplesmente /HI0, avana automaticamente um re istro. Ex% /HI0 \:; /HI0 L? /HI0

!bs% 0ode-se di itar apenas o n<mero do re istro no )ual vocG )uer posicionar o ponteiro de dados para ir diretamente para o re istro, ao inv7s de utili*ar o comando P!.

GZ SISTEMAS IMPORTA O E COM!RCIO "T#A

P$% M

"OCATE 3'sco0e*4 3FOR 'ex0"*4 3;<I"E 'ex0"*4 Fa* a procura se)_encial, ou se6a, re istro a re istro, ao primeiro re istro )ue atenda a condio especificada em F!3 ou M9I(E. Ex% (!'A2E F!3 84&I'TWN4&.IAIW 0ara no primeiro re istro encontrado com o campo 84&I'TWN4&.IAIW 0ara continuar reali*ando a pes)uisa estipulado no (!'A2E, utili*e o comando '!&2I&4E SEE7 'ex0r* 3eali*a a pes)uisa de uma expresso pela chave do ar)uivo +ndice atual. Ex% 4/E '(IE&2E/ I&.E" !& '!.IP! 2! I&.'(I: /EEH :;; 0es)uisa o c5di o :;; pela chave de I&.'(I: , )ue 7 o +ndice atual. 'aso o c5di o :;; no se6a encontrado, o ponteiro vai para E!F (End of File#, )ue 7 a indicao de final de ar)uivo. !bs% B!F (Be in of File# 7 o indicador de in+cio de ar)uivo. Isso no 7 a mesma coisa )ue o primeiro re istro, pois B!F 7 um ponteiro anterior ao primeiro re istro do ar)uivo.

GZ SISTEMAS IMPORTA O E COM!RCIO "T#A

P$% N

PRI+CIPAS F2+OES 4ma funo 7 um recurso de uma lin ua em de pro ramao atrav7s do )ual, passando-se um valor, chamado de parSmetro, esta ir$ trata-lo e retornar uma resposta. Al umas funes no solicitam parSmetros, retornando um resultado 6$ pr7-pro ramado. #ATE,. 3etorna a data atual do sistema TIME,. 3etorna a hora atual do sistema CTO#,'ex0rC*. 'onverte uma expresso caractere em uma data. #TOC,'ex0r#*. 'onverte uma expresso data em caractere STR,'ex0r+*3I'tam*43I'dec*4. 'onverte uma expresso num7rica em caractere Ex% /23(:>?;.B[,:;,Z# -K :>?;.B[; A funo /23 utili*ada sem definir o tamanho e decimais vai tamanho :;. erar uma expresso caractere de

"EFT,'ex0rC*I'n*. 3etorna n caracteres de uma expresso a partir do primeiro = es)uerda. Ex% (EF2(YPQ /I/2E8A/W,># -K YPQW RIG<T,'ex0rC*I 'n*. 3etorna n caracteres de uma expresso a partir do <ltimo = direita. Ex% 3IP92(YPQ /I/2E8A/W,B# -K Y/I/2E8A/W "E+,'ex0rC*. 3etorna o tamanho de uma expresso caractere. /e for aplicado sobre um campo de um ar)uivo .BF, sempre ser$ retornado o tamanho do campo e no o tamanho do texto )ue este campo cont7m. Ex% &o ar)uivo '(IE&2E/..BF, se for feito ` (E&(&!8FA&# a resposta sempre ser$ :?, mesmo )ue o conte<do do campo se6a menor. DA",'Ex0rC*. 3etorna a expresso informada como num7rica. Ex% ATW:?W BTW>;W ` A\B -K :?>; (As expresses so concatenadas# ` ,A((A#\ ,A((B# -K Z?

GZ SISTEMAS IMPORTA O E COM!RCIO "T#A

P$% P