Sunteți pe pagina 1din 2

TIPURI DE DATE

IN VISUAL FOXPRO
Principalele tipuri de date cu care lucreaz FoxPro sunt date numerice, ir de caractere, logice i data
calendaristic. Numai n contextul bazei de date pot fi date de tip memo sau de tip general. Variabilele nu se
declar, iar tipul lor este dat de ultima iniializare.
1. Tipul Numeric
- Operatori:
Aritmetici: +, -, *, /, ** (ridicare la putere), % (modulo)
Relationali: <, <=, >, >=, =, <>/ #/ !=
- Funcii standard matematice:
ABS(n) - returneaza valoarea absoluta a lui n. Ex: abs(-15)=15
ROUND(n1,n2) rotunjeste pe n1 la zecimala data de n2. Ex: round(1.7567, 3)=1.757
MOD(n1,n2) returneaza restul impartirii integi a lui n1 la n2. Ex: mod(5,2)=1
INT(n) returneaza partea intreaga a lui n. Ex: int(7.25)=7; int(7.87)=7
CEILING(n) aproximeaza la cel mai mic intreg >=n. Ex: ceiling(5.87)=6;ceiling(-5.87)=-5
FLOOR(n) aproximeaza la cel mai mare intreg <=n. Ex: floor(5.87)=5; ceiling(-5.87)=-6
STR(n1,n2[, n3]) realizeaza conversia numarului n1 la un sir de lungime n2; nr3=nr. de pozitii
zecimale. str(1432.456, 12, 4)=1432.456
2. Tipul Caracter este folosit pentru variabile sau campuri care contin caractere ASCII delimitate prin
apostrof, ghilimele sau paranteze drepte (patrate)
- Operatori:
De concatenare: +. Ex: FOX +PRO=FOX PRO
Relationali: <, <=, >, >=, =, <>/ #/ !=, $ (inclus).
Ex: alb=albastru && .T. - pentru SET EXACT OFF; alb=albastru && .F. pentru
SET EXACT ON; alb$albastru && .T.
- Funcii uzuale asupra sirurilor:
SUBSTR(s, n1, n2) extrage un subsir din sirul s incepand cu caracterul de pe pozitia n1 pe o
lungime n2. Ex: substr([alfa], 3,2) && [fa]
LEFT/RIGHT(s,n) extrage primele/ultimele n caractere din sirul s. Ex: left([ABCD],2) &&
[AB]; RIGHT([ABCD],2) && [CD];
LEN(s) returneaza lungimea sirului s. Ex: len(alfa) && 4
LTRIM/ RTRIM/ ALLTRIM(n) elimina spatiile de la stanga/ dreapta/ sau din ambele parti ale
sirului s. Ex: ltrim( bac) && bac; rtrim(info ) && info; alltrim( bac info ) &&
bac info;
AT(s1,s2) returneaza pozitia primei aparitii a sirului s1 in s2 sau valoarea 0 in cazul in care s1
nu este subsir al lui s2. Ex: at(info,bac info) && 5; at(pascal, bac) && 0
LOWER/ UPPER/ PROPER (s) transforma sirul s in minuscule/ majuscule/ tip titlu. Ex:
lower(TeSt) && test; upper(TeSt) && TEST proper(TeSt) && Test
VAL(s) realizeaza conversia sirului s la un numar. Ex: val(3.14) && 3.14
OCCURS (s1,s2) numara aparitiile lui s1 in sirul s2. Ex: occurs(a, alfa) && 2
CHR(n) returneaza caracterul al carui cod ASCII este n. Ex: chr(97) && a
ASC(s) returneaza cosul ASCII al primului caracter al sirului de caractere s. Ex: asc(Acest sir)
&& 65
3. Tipul Data Calendaristica (Date)
- Comenzi utile:
SET CENTURY ON/OFF specifica anul complet cu secol

SET DATE GERMAN/AMERICAN/FRENCH/ITALIAN/BRITISH - seteaza formatul


datei
Operatori:
aritmetici: +/ - aduna/ scade un numar de zile la o data; diferenta dintre doua date
calendaristice=nr de zile. Ex: {10/10/08}+10={10/20/08}; {10/10/08}+30={11/09/08}
Relationali: <, <=, >, >=, =, <>/ #/ != Ex: {10/10/08}<{11/09/08}
Funcii uzuale asupra datelor:
DATE()/ TIME()/ DATETIME() returneaza data curenta/ timpul de la sistem. Ex: date() &&
{10/10/08}; time() && 10:12:00; datetime() && 10/10/08 10:12:00 PM
DAY/MONTH/YEAR(d) extrage numarul zilei/ lunii/ anului din data d. Ex: day( {10/19/08})
&& 19; month({10/19/08}) && 10; year({10/19/08}) && 1908; set date short &&
{19.10.2008} year({19.10.2008}) && 2008
CMONTH(d) returneaza numele lunii din data d. Ex: cmonth({10/19/08}) && october
DTOS/ DTOC/ (d) returneaza data d sub forma de sir de carcatere. Ex: dtos({01.07.1994}) &&
19940701; dtoc({01.07.1994}) && 01.07.1994
CTOD (s) realizeaza conversia unui sir la o data calendaristica. Ex: ctod(01.07.94) &&
{01.07.94}

4. Tipul logic este folosit pentru variabile sau campuri ce pot avea doar doua valori .T. (adevarat) sau .F.
(fals)
- Operatori:
logici: !/NOT, AND, OR
FUNCII UZUALE PENTRU TOATE TIPURILE DE DATE:

MAX/ MIN(e1, e2 [,e3..]) returneaza max/ min dintre expresiile e1, e2, e3,.... Ex: max(14, 3,
19) && 19; min(10, 5, 14) && 5
TYPE(expC) returneaza litera corespuzatoare tipului de data. Ex: type(12) && N;
type([12]) && C
IIF(expL,e1,e2) returneaza e1 daca expL=.T. si e2 daca expL=.F. Ex: iif (3=5, corect,
incorect) && incorect
BETWEEN (e1, e2, e3) testeaza daca e1 apartine intervalului [e2,e3] . Ex: between (3,0,10)
&& .T.
EMPTY(exp) testeaza daca expresia data ca parametru este vida. Ex: empty() && .T. ;
empty({//}) && .T. ; empty(3) && .F.
INLIST(e1, e2 [,e3...]) testeaza daca e1 apartine listei date de urmatorii parametri;
inlist(2,1,2,3,4) && .T.; inlist(d, a, b, c) && .F.
EVALUATE(expC) evalueaza expresia continuta in expC si returneaza rezultatul). Ex:
evaluate( '7*8+9/3') && 59

S-ar putea să vă placă și