Sunteți pe pagina 1din 6

COMENZI VISUAL FOXPRO

CREATE [<fiier>]

Fiecare cmp (field, coloan) al unui tabel este caracterizat prin:


nume (Name);
tip (Type) - ir de caractere, numeric, dat calendaristic sau moment de timp, logic, memo;
caracter admite un ir de maxim 254 caractere (caractere alfanumerice i spaii goale)
numeric admite maxim 20 de caractere, numere, caracterele +/-, punctul zecimal
logic admite maxim un caracter (T sau Y, F sau N)
dat admite maxim 8 caractere si are formatul implicit ll/zz/aaaa. Formatul poate fi schimbat cu comanda
SET DATE TO
AMERICAN - ll/zz/aa
ANSI - aa.ll.zz
BRITISH - zz/ll/aa
FRENCH - zz/ll/aa
GERMAN - zz.ll.aa
ITALIAN - zz-ll-aa
JAPAN - aa/ll/zz
USA - ll-zz-aa
MDY - ll/zz/aa
DMY - zz/ll/aa
YMD - aa/ll/zz
memo admite implicit 10 caractere, ns sistemul poate stoca blocuri mari de text pentru fiecare inregistrare.
Ctrl+PgDown - deschide fereastra in care poate fi introdus textul asociat campului memo. Ctrl+w se inchide
fereastra
general se folosete pentru memorarea elementelor de tip OLE (Object Linking and Embededing), texte, foi
de calcul tabelar (Excel), imagini, sunete
Introducerea datelor in campurile memo si general este diferita de introducerea datelor in alte campuri.
lime (Width) - numrul de caractere pe care l ocup fiecare dat memorat n acel cmp;
numrul de zecimale (Decimal) - pentru datele de tip numeric;
fanionul de indexare (Index) - indic dac se stabilete un index pe cmpul respectiv (indecii reprezint o
tehnologie cu ajutorul creia datele din tabele sunt vzute ntr-o anumit ordine, dat de un anumit criteriu numit
criteriu de indexare);
fanionul de valoare nul (NULL) - arat dac n cmpul respectiv poate fi memorat o valoare nul, pentru a se
face diferenierea ntre un cmp lsat necompletat i unul completat cu valoarea 0.

USE [<fiier>] [IN <zona de lucru>] [TAG <nume etichet>]


[ASCENDING | DESCENDING]
[ALIAS <alias>] [EXCLUSIVE] [NOUPDATE]
<fiier> - numele tabelului de date care va fi deschis (extensia implicit DBF);
IN - permite deschiderea unui tabel de date ntr-o alt zon de lucru dect cea curent;
TAG - face precizarea unei variante de indexare;
ASCENDING /DESCENDING - precizeaz tipul ordonrii (implicit ascendent) atunci cnd se folosete
indexarea;
ALIAS - stabilete un nou alias;
EXCLUSIVE - asigur exclusivitatea folosirii unui tabel de date atunci cnd se lucreaz ntr-o reea de calcul;
NOUPDATE - protejeaz tabelul de date la scriere (este deschis doar pentru consultare).

SET DEFAULT TO <path> unde path definete noul director.


Derularea unei sesiuni de lucru n FoxPro se realizeaz n directorul de lucru implicit. Acest director poate fi
schimbat.

DIR
afisaza lista tabelelor de date aflate n directorul de lucru

SET FILTER TO <cond>


limitarea, temporar, a accesului la nregistrrile tabelului de date

SELECT <expN> | <expC>


schimbarea zonei de lucru; dac alias-ul este 0 se va selecta prima zon de lucru neselectat
OBS: La pornirea FoxPro-ului zona de lucru implicit va fi zona 1 (cu alias 1 sau A)

USED([<alias>])
returneaz .T. sau .F. dac, n zona de lucru curent sau precizat prin alias, este sau nu prelucrat un tabel de date

DBF([<alias>])
returneaz numele tabelului de date deschis n zona de lucru

MODIFY STRUCTURE
modificarea structurii tabelului de date activ prin deschiderea unei ferestre de dialog, aceeai ca la crearea tabelului de
date
schimbarea numelor, tipurilor i limii cmpurilor deja existente;
tergeri, inserri de cmpuri, prin plasarea cursorului pe zona de modificare (prima coloan din fereastra de
dialog) i acionarea butoanelor Delete i Insert.

DISPLAY STRUCTURE
vizualizarea caracteristicilor unui tabel de date (structura)

USE
nchide prelucrarea tabelului de date din zona de lucru curent

CLOSE ALL
nchide i elibereaz toate zonele de lucru (n acest caz zona curent devine zona de lucru 1)

Un grup de nregistrri (domeniu) poate fi:


All semnific toate nregistrrile tabelei;
Next urmtoarele nregistrri;
Record - nregistrarea cu numrul de ordine specificat;
Rest restul nregistrrilor din poziia curent pn la sfritul tabelului.

GOTO TOP | BOTTOM | RECORD <expN>


(salt la prima, ultima sau nregistrarea precizat din tabel)

SKIP [<expN>]
salt nainte sau napoi cu un numr de nregistrri

LOCATE [<domeniu>] [FOR <cond1>] [WHILE <cond2>]


cut prima nregistrare care respect condiia <cond1>, domeniul nregistrrilor fiind dat de clauzele <domeniu> i
WHILE).

EOF()
returneaz .T. sau .F. dup cum este detectat sau nu marcajul de sfrit de fiier (aflat dup ultima nregistrare)

BOF()
returneaz .T. sau .F. pentru nceput de fiier

RECNO()
furnizeaz numrul de ordine al nregistrrii curente

APPEND BLANK
introducerea unor nregistrri vide (adugri, inserri)

INSERT BLANK [BEFORE]


inserarea se execut implicit dup nregistrarea curent, dac nu se folosete opiunea BEFORE, iar urmtoarele
nregistrri sunt translatate spre sfritul tabelului de date i renumerotate

DELETE [<domeniu>] [FOR <cond1>] [WHILE <cond2>]


FOR : selectarea tuturor nregistrrilor care corespund condiiei logice <cond1>
clauza WHILE ntrerupe testarea nregistrrilor cnd gsete o nregistrare ce nu respect condiia dat, <cond2>

SET DELETED ON | OFF


accesul la nregistrrile marcate pentru tergere
ON, nregistrrile marcate pentru tergere nu vor fi accesibile celorlalte comenzi,
OFF, nregistrrile sunt accesibile indiferent de marcajul de tergere (starea implicit este OFF)

RECALL [<domeniu>] [FOR <cond1>] [WHILE <cond2>]


anularea marcajelor de tergere logic

PACK sau ZAP


tergere fizic: prin folosirea acestui tip de tergere nregistrrile sunt eliminate definitiv din tabelul de date (tergerile
fizice nu mai pot fi refcute)

REPLACE <cmp1> WITH <exp1> [, <cmp2> WITH <exp2> ...]


[<domeniu>] [FOR <cond1>] [WHILE <cond2>]
nlocuiete vechea valoare din cmpul <cmp1> cu valoarea expresiei <exp1>, valoarea din cmpul <cmp2> cu
<exp2> i aa mai departe

BROWSE [FIELDS <list de cmpuri>] [FOR <cond>]


[FREEZE <cmp>]
[NOAPPEND] [NODELETE] [NOEDIT | NOMODIFY]
FIELDS - permite ca numai cmpurile precizate s intre n editare (selecie pe vertical);
FOR precizeaz condiiile conform crora nregistrrilor vor fi afiate n fereastra BROWSE;
FREEZE - permite modificri doar pe cmpul precizat;
NOAPPEND invalideaz posibilitatea efecturii adugrilor;
NODELETE elimin marcarile pentru tergere;
NOEDIT /NOMODIFY - interzice modificrile

MODIFY MEMO <cmp memo1>[,<cmp memo2>,....]


se deschide cte o fereastr de editare pentru fiecare cmp memo

CLOSE MEMO <cmp memo1>[,<cmp memo2>,....] ALL


se vor nchide ferestrele de editare corespunztoare cmpurilor memo specificate n list (sau toate -ALL)

APPEND MEMO <cmp memo> FROM <fiier> [OVERWRITE]


coninutul unui fiier extern, de tip text, va fi adugat la sfritul cmpului memo precizat (dac se folosete clauza
OVERWRITE vechiul coninut al cmpului se pierde)

COPY MEMO <cmp memo> TO <fiier> [ADDITIVE]

coninutul unui cmp memo se copiaz ntr-un fiier extern de tip text. Dac se folosete clauza ADDITIVE copierea
se va face la sfritul unui fiier deja existent
SORT TO <fiier> ON <cmp1> [/A | /D] [/C]
[, <cmp2>[/A | /D] [/C] ...]
[ASCENDING |DESCENDING]
[<domeniu>] [FOR <cond>] [WHILE <cond>]
[FIELDS <list de cmpuri>]
<fiier> - numele tabelului de date nou creat
<cmp1>,<cmp2>,.... - lista cheilor de sortare
/A , /D - sortare ascendent, descendent, relativ la cmpul asociat
/C - sortare n ordine alfabetic, necontnd literele mari sau mici
ASCENDING | DESCENDING - ordonare ascendent sau descendent cu specificarea ordinii pentru toate
cmpurile
FIELDS - selecie pe vertical (filtrare)

USE <fiier> ORDER <nume etichet>


ordonarea la deschiderea tabelului de date

SET ORDER TO TAG <nume etichet>


ordonarea n timpul lucrului

INDEX ON <exp> TAG <nume etichet>


[FOR <cond>]
[ASCENDING | DESCENDING]
[UNIQUE]
TAG - identific un criteriu de indexare;
UNIQUE - clauz care nu admite dubluri pe cmpul de indexare

DELETE TAG <nume etichet> | ALL


stergerea unei etichete (criteriu) de indexare

SEEK <exp>
caut prima nregistrare pentru care valoarea expresiei calculate cu valori din cmpurile acesteia este egal cu <exp>,
pe criteriul de indexare selectat

la un moment dat poate fi activ un singur criteriu de indexare, numele etichetei corespunztoare fiind furnizat
de funcia TAG()
efectul unei comenzi de cutare (SEEK sau LOCATE) poate fi prelungit prin folosirea comenzii CONTINUE
funcia FOUND() determin (.T. sau .F.) dac s-a reuit sau nu localizarea

@<linie, coloan> [GET<variabil>]


[PICTURE <expC>] [FUNCTION <expC>][READ]

introducerea datelor sub forma unor machete sau formate


@ plaseaz cursorul pe poziia specificat a ecranului
GET stabilete poriunea de pe ecran unde vor fi introduse valorile ce vor fi atribuite variabilei <variabil>
PICTURE i FUNCTION permit formatarea afirii datelor. Ambele clauze sunt urmate de un ir de caractere
care conine coduri referitoare la modul de afiare
Codurile PICTURE se refer doar la un anumit caracter din formatul de afiare i anume la cel de pe aceeai
poziie cu cea a codului
Codurile FUNCTION acioneaz asupra tuturor caracterelor din formatul de afiare
Clauzele PICTURE i FUNCTION pot aciona mpreun, dar FUNCTION este prioritar

READ determin citirea coninutelor zonelor de editare pentru introducerea valorilor de la tastatur, create
prin GET
Codurile de formatare PICTURE
X Permite orice caracter
9 Cifre i semnele + - . E (date numerice)
# Cifre, spatii i semnele + - . E
A Numai litere
W Numai date logice
N Numai litere i cifre
Y Permite doar caracterele logice Y, y, N i n
! Literele sunt convertite n majuscule
* Afieaz asterix-uri n locul zerourilor iniiale
. Specific poziia punctului zecimal.
Codurile de formatare FUNCTION
A Permit numai caractere alfabetice (litere)
B Aliniere la stnga
I Centrare
J Aliniere la dreapta
C Dup un numr pozitiv se afieaz CR (credit)
D Format dat calendaristic stabilit de SET DATE
E Format dat calendaristic european (britanic)
T Elimin spatiile de nceput i sfrit
X Dup un numr negativ se afieaz DB (debit)
Z Afieaz spatii dac valoarea cmpului este 0
( Numerele negative sunt incluse ntre paranteze
! Literele sunt convertite n majuscule

TEXT ENDTEXT
afiarea unui text

PROCEDURE <nume procedura>


END PROCEDURE

SCAN [<domeniu>] [FOR <cond1>] [WHILE <cond2>]


[<instruciuni>]
[LOOP]
[EXIT]
ENDSCAN

un ciclu cu numr finit de pai, specializat n lucrul cu tabele de date. Aceast structur repetitiv realizeaz parcurgerea
tabelului i executarea unui grup de instruciuni pentru
fiecare nregistrare care ndeplinete condiiile specificate. Ciclul este utilizat, deseori, pentru actualizarea coninutului
tabelelor de date, conform unor anumite condiii, sau pentru obinerea informaiilor statistice

COUNT [TO <var>]


[FOR <cond>] [<domeniu>] [WHILE <cond>]

numr nregistrrile din tabelul de date, numrul de nregistrri putnd fi memorat ntr-o variabil de lucru

SUM <list exp>[TO<list var>]


[FOR <cond>] [<domeniu>] [WHILE <cond>]
nsumeaz valorile expresiilor din lista de expresii(<list exp>) i le atribuie, eventual, unei liste de variabile (<list
var>)

AVERAGE <list exp>[TO <list var>]

[FOR <cond>] [<domeniu>] [WHILE cond>]


la fel ca SUM avnd ca rezultat media aritmetic

CALCULATE <list funct>[TO<list var>]


[FOR <cond>] [<domeniu>] [WHILE <cond>]

calculeaz anumite expresii folosind urmtoarele funcii (<list funct>):


SUM(<expN>) - suma
AVG(<expN>) media aritmetic
STD(<expN>) deviaia standard
VAR(<expN>) abaterea medie ptratic
MAX(<exp>) val maxim, nu neaprat numeric
MIN(<exp>) val minim, nu neaprat numeric
NPV(<expN1>,<expN2>)[,<expN3>]) valoarea prezent net a unei investiii (vezi funcia de calcul financiar)
CNT() numrul de nregistrri din tabelul de date

m pag22
m

CREATE DATABASE [<nume_baz_de_date>]?


crearea unei baze de date. Fiierul corespunztor bazei de date are extensia .DBC. La crearea bazei de date se face
automat i deschiderea ei. Adugarea unei tabele n baza de date se face cu comanda ADD TABLE sau folosind bara
de instrumente DATABASE DE
<nume_baz_de_date> - specific numele bazei de date care va fi creat
? - afieaz o fereastr de dialog pentru specificarea numelui bazei de date

OPEN DATABASE [<nume_bd>] [EXCLUSIVE | SHARED] [NOUPDATE]


nume_bd numele bazei de date care trebuie deschis;
EXCLUSIVE ali utilizatori nu pot s acceseze aceast baz de date;
SHARED deschide baza de date n modul partajat, ceilali utilizatori au acces;
NOUPDATE specific faptul c nu se pot face schimbri n baza de date (deschis doar pentru citire)

COPY STRUCTURE EXTENDED TO <nume_tabel> [FIELDS <lista campuri>][DATABASES <nume baza de


date>[NAME]<b nume tabel>]
<nume_tabel> - numele tabelului nou creat
FIELDS <lista campuri> - specifica campurile ce urmeaza sa apara in noul tabel; daca nu se specifica nimic,
implicit sunt luate toate campurile din tabelul sursa;
DATABASES <nume baza de date> - numele unei baze de date existente la care va fi adaugat noul tabel
NAME<b nume tabel> - specifica numele tabelei asa cum apare in baza de date
Comanda CREATE ...FROM ... - creaza o tabela dintr-un fisier de structura (realizat cu comanda anterioara COPY
STRUCTURE EXTENDED TO...)
CREATE [<nume tabel 1>] FROM <nume tabel 2>
<nume tabel 1> - numele tabelului care va fi creat
<nume tabel 2> - numele fiierului care conine structura care va fi utilizat la creare
m pag 61

MODIFY COMMAND <nume_fiier>


ncrcarea i editarea programelor surs (fiiere cu extensia .PRG), precum i a fiierelor ASCII.