Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Expresii si functii in FOXPRO

fox pro



+ Font mai mare | - Font mai mic



Expresii si functii in FOXPRO

In FOXPRO expresiile pot fi formate din:

campuri ale bazei de date;



variabile de memorie;

constante - caracterizate prin aceea ca au valoare invariabila; pot fi de urmatoarele tipuri:

o       numerice: intregi sau zecimale;

o       logice: T sau F;

o       siruri de caractere: orice caracter imprimabil inchis intre " " .

operatori;

functii.

Operatorii pot fi de urmatoarele tipuri:

aritmetici: +, -, *, /, %, **, ^, ( ). Rezultatul folosirii unui astfel de operator este o valoare numerica.

relationali: <, >, =, <>, #, != , <=, >=, $. Rezultatul folosirii unui astfel de operator este o valoare logica. Operatorul "$" este valabil numai pentru siruri de caractere, iar semnificatia sa este ca returneaza "true" daca o expresie de tip sir de caractere este continuta in alta expresie de tip sir de caractere. Operatorii relationali pot fi aplicati si asupra operanzilor de tip data calendaristica.

logici: Se aplica numai operanzilor logici si genereaza rezultate logice. Aceasta categorie contine urmatorii operatori:

o       !, NOT - negatia logica;

o       AND - conjunctia logica;

o       OR - disjunctia logica.

operatori pentru siruri de caractere: Se aplica numai asupra sirurilor de caractere, iar rezultatul lor este tot un sir de caractere. Din aceasta categorie fac parte doi operatori, si anume:

o       + : operatorul de concatenare - alipeste al doilea sir de caractere la sfarsitul primului, fara nici un fel de transformari;

o       - : concatenare cu anexarea spatiilor dintre cele doua siruri de caractere la sfarsitul sirului rezultat.

Precedenta operatorilor:

Operatorii relationali si operatorii pentru siruri de caractere au un singur nivel de precedenta: operatiile se executa in ordine, de la stanga la dreapta.

Operatorii aritmetici au urmatoarea ordine de precedenta:

+, - : operatori unari;

: operatorul de ridicare la putere;

+, - : operatori binari.

Operatorii logici au urmatoarea ordine de precedenta:

.NOT.

.AND.

.OR.

Daca intr-o expresie apar mai multe tipuri de operatori, ordinea de evaluare a acestora va fi:

Operatorii aritmetici si pentru siruri de caractere;

Operatorii relationali;

Operatorii logici.

Functiile: sunt un instrument foarte puternic pentru construirea de expresii in FOXPRO. In functie de rezultatul aplicarii lor, functiile se grupeaza in trei clase.

Functii cu rezultat numeric:

care au ca argument expresii numerice:

INT (<expN>) - Afiseaza partea intreaga a expresiei numerice specificata.

Exemplu:

STORE 999.99 TO R1

? R1

(se afiseaza pe ecran valoarea 999.99)

STORE INT(R1) TO I1

? I1

(se afiseaza pe ecran valoarea 999)

STORE INT(999.99) TO I2

? I2

(se afiseaza pe ecran aceeasi valoare, 999.99)

MOD (<expN1>, <expN2>) - Imparte expresia numerica <expN1> la expresia numerica <expN2> si returneaza restul impartirii.

ABS (<expN>) - Afiseaza valoarea absoluta a expresiei numerice specificate, <expN>.

SIGN (<expN>) - Afiseaza semnul expresiei numerice specificate (adica -1 daca <expN> < 0, 1 daca <expN> > 0 si 0 daca <expN> = 0).

CEILING (<expN>) - Afiseaza cel mai mic intreg care este mai mare sau egal cu expresia numerica specificata.

FLOOR (<expN>) - Afiseaza cel mai mare intreg care este mai mic sau egal cu expresia numerica specificata.

ROUND (<expN1>, <expN2>) - Afiseaza expresia numerica <expN1>, rotunjita la un numar bine determinat de cifre zecimale, precizat de <expN2>.

EXP (<expN>) - Afiseaza valoarea lui e<expN> , unde <expN> este o expresie numerica specificata.

LOG (<expN>) - Afiseaza logaritmul natural (de baza e) din expresia numerica specificata, <expN>.

LOG10 (<expN>) - Afiseaza logaritmul zecimal (de baza 10) din expresia numerica specificata, <expN>.

SQRT (<expN>) - Afiseaza radicalul din expresia numerica specificata, <expN>.

PI ( ) - Afiseaza constanta numerica p

care au ca argument siruri de caractere:

LEN (<expC>) - Returneaza lungimea unui sir de caractere (numarul de caractere din acel sir).

Exemplu:

? LEN ("PLATINA")

(se afiseaza pe ecran valoarea 7)

STORE "PLATINA" TO MP

? LEN(MP)

(se afiseaza pe ecran valoarea 7)

? LEN("INEL DE"+MP)

(se afiseaza pe ecran valoarea 15)

AT (<expC1>, <expC2> [, <expN>] ) - Cauta prima aparitie a sirului de caractere <expC1> in sirul de caractere <expC2> . Folosirea expresiei numerice <expN> permite sa precizam a cata aparitie a sirului de cautat incheie actiunea de cautare - adica, se cauta a <expN>-a aparitie a sirului <expC1> in sirul <expC2>.

Exemplu:

STORE "LACRIMA" TO SIR

? SIR

(se afiseaza pe ecran valoarea "LACRIMA")

STORE "ACR" TO SUBSIR

? SUBSIR

(se afiseaza pe ecran valoarea "ACR")

? AT(SUBSIR, SIR)

(se afiseaza pe ecran valoarea 2)

STORE AT("RACI", "MIRACOL") TO I

? I

(se afiseaza pe ecran valoarea 0)

OCCURS (<expC1>, <expC2>) - Indica numarul de aparitii ale subsirului de caractere <expC1> in sirul de caractere <expC2>.

VAL (<expC>) - Realizeaza conversia unui sir de caractere in numarul intreg corespunzator.

Exemplu:

STORE VAL ("123") TO I1

? I1

(se afiseaza pe ecran valoarea 123.00)

STORE VAL ("12.345") TO I2

? I2

(se afiseaza pe ecran valoarea 12.35)

STORE VAL ("12"+"123.4") TO I3

? I3

(se afiseaza pe ecran valoarea 12123.4)

STORE "1APR1988" TO REX

? REX

(se afiseaza pe ecran valoarea "1APR1988")

? VAL(REX)

(se afiseaza pe ecran valoarea 1.00)

STORE VAL("APR1988")TO S1

? S1

(se afiseaza pe ecran valoarea 0.00)

aplicate la nivelul inregistrarilor unei baze de date:

RECNO ( ) : Returneaza numarul inregistrarii curente din baza de date curenta sau cea specificata. In plus, RECNO( ) returneaza o valoarea mai mare cu 1 decat numarul inregistrarilor din baza de date, daca pointerul de inregistrari este pozitionat dupa ultima inregistrare din baza de date curenta, si returneaza 1 daca pointerul de inregistrari este pozitionat pe prima inregistrare din baza de date curenta. Daca baza de date nu are nici o inregistrare, pointerul de inregistrari returneaza 1.

RECCOUNT( ) : Returneaza numarul de inregistrari in baza de date curenta sau in cea specificata.

RECSIZE( ) : Returneaza dimensiunea unei inregistrari din baza de date curenta (numarul total de caractere alocat pentru memorarea acelei inregistrari). RECSIZE( ) returneaza 0 daca nici o baza de date nu este deschisa in zona de lucru curenta.

Functii cu rezultat sir de caractere:

care au ca argument siruri de caractere:

SUBSTR ( <expC>, <expN1> [, <expN2>] ) - Extrage si returneaza un subsir de caractere dintr-un sir de caractere precizat, <expC>, avand urmatoarele caracteristici: incepe la caracterul cu numarul <expN1> din sirul de caractere initial si contine <expN2> caractere.

Exemplu:

? SUBSTR ("IREVERSIBIL", 2, 6)

(se afiseaza pe ecran valoarea "REVERS")

STORE SUBSTR("IREVERSIBIL", 4, 4) TO C

? C

(se afiseaza pe ecran valoarea "VERS")

? SUBSTR(C+ "URI", 6, 4)

(se afiseaza pe ecran valoarea "RI")

REPLICATE (<expC>, <expN>) - Returneaza un sir de caractere care contine o expresie de tip caracter specificata prin <expC>, repetata de un numar specificat de ori, <expN>.

ALLTRIM (<expC>) - Elimina blancurile (spatiile goale) de la inceputul si de la sfarsitul sirului de caractere specificat prin <expC>.

LOWER (<expC>) - Transforma toate majusculele unui sir de caractere <expC> in litere mici, restul caracterelor ramanand nemodificate.

UPPER (<expC>) - Transforma toate literele mici ale unui sir de caractere <expC> in majusculele corespunzatoare, restul caracterelor ramanand nemodificate.

PROPER (<expC>) - Transforma primul caracter dintr-un cuvant in majuscula, iar restul in litere mici (cautand in sirul de caractere <expC>).

care au ca argument o valoare numerica:

STR (<expN1> [, <expN2> [, <expN3>]]) - Converteste o expresie numerica <expN1> in sir de caractere. Lungimea sirului de caractere returnat este specificata prin <expN2> (lungimea va include un caracter pentru punctul zecimal, si cate un caracter pentru fiecare cifra de la partea zecimala).

<expN3> : indica numarul de cifre de la partea zecimala care vor

fi luate in calcul la conversia in sir de caractere.

Exemplu:

STORE STR(123.456,7) TO S1

? S1

(se afiseaza pe ecran "____123")

STORE STR(123.456,7,1TO S2

? S2

(se afiseaza pe ecran "__123.4")

CHR (<expN>) - Returneaza caracterul ASCII corespunzator expresiei numerice introduse (care trebuie sa fie un numar cuprins intre 0 si 255).

Exemplu:

STORE CHR(36) TO CR

? CR

(se afiseaza pe ecran "$")

TYPE (<expr>) - Returneaza tipul expresiei introduse, si anume:

N - pentru expresie numerica;

C - pentru expresie sir de caractere;

L - pentru expresie logica;

D - pentru expresie de tip data calendaristica, etc.

Exemplu:

STORE 1 TO A

STORE "AA" TO B

STORE A < 100 TO C

? TYPE ("A"), TYPE ("B"), TYPE ("C")

(se afiseaza pe ecran N C L)

Functii cu rezultat logic.

BOF( ) : Testeaza daca pointerul de inregistrari este pozitionat sau nu la inceputul bazei de date.

EOF( ) : Testeaza daca s-a detectat sau nu sfarsitul de fisier.

DELETED( ) : Testeaza daca o inregistrare a fost marcata pentru stergere sau nu.

FILE((<nume fisier>) : testeaza daca fisierul cu numele specificat exista sau nu.

Functii care lucreaza cu date calendaristice:

DATE ( ) - Returneaza data curenta a sistemului.

DAY (<expD>) - Returneaza ziua in cadrul lunii, corespunzatoare unei anumite date calendaristice introduse, <expD> (numarul corespunzator zilei).

DOW (<expD>) - Returneaza ziua in cadrul saptamanii, corespunzatoare unei anumite date calendaristice introduse, <expD> (numarul corespunzator zilei).

CDOW (<expD>) - Returneaza ziua in cadrul saptamanii, corespunzatoare unei anumite date calendaristice introduse, <expD> (numele corespunzator zilei).

MONTH (<expD>) - Returneaza luna corespunzatoare unei anumite date calendaristice introduse, <expD> (numarul corespunzator).

CMONTH (<expD>) - Returneaza luna corespunzatoare unei anumite date calendaristice introduse, <expD> (numele corespunzator).

YEAR (<expD>) - Returneaza anul corespunzator unei anumite date calendaristice introduse, <expD>.

Exemplu:

? DATE( )

? DAY ( DATE( ))

? CDOW ( DATE( ))

? MONTH ( DATE( ))

? YEAR ( DATE( ))

DTOC (<expD>) - Converteste o expresie de tip data calendaristica <expD> in sirul de caractere corespunzator.

CTOD (<expD>) - Functia inversa.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 4835
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved