Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte 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




DOCUMENTE SIMILARE

Trimite pe Messenger
Cautarea dupa cheie
Instructiuni de crearea si modificarea unei baze de date
Functia meniu Edit si Format a Visual FoxPro
COMENZILE SCATTER SI GATHER
Deschiderea si inchiderea unei baze de date
Consideratii generale asupra limbajului
Sintaxa comenzilor de configurarea mediului Visual FoxPro
Expresii si functii in FOXPRO
Prelucrarea sirurilor de caractere
Compunerea logica a bazelor de date


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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2320
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 2021 . All rights reserved

Distribuie URL

Adauga cod HTML in site