Foxpro
Tipul sir de caractere - operatii asupra datelor de tip sirUn sir de caractere reprezinta o multime ordonata de caractere care se trateaza ca un tot unitar. Intr-un sir de caractere ordinea acestora fiind esentiala, fiecarui caracter I se poate asocia un numar reprezentand pozitia aceastuia in cadrul sirului. Numarul caracterelor dintr-un sir reprezinta lungimea sirului. Un subsir al sirului dat repreuinta o portiune din sir, incepand de la o pozitie specificata si de lungimea data Constantele de tip sir de caractere se specifica prin multimea caracterelor care le compun, incadrate intre apostrofuri simple sau duble ( la ambele capete trebuie sa fie acelasi tip de apostrof ). Pentru a include unul dintre cele doua delimitatoare intr-un sir de caractere, multimea caracterelor ce alcatuiesc sirul va fi incadrata intre delimitatorul de celalalt tip decat cel din sir. Daca lungimea sirului este 0 obtinem sirul vid sau nul, care se specifica prin doua apostrofuri consecutive fara spatii sau alte caractere intre ele. Datele de tip sir de caractere pot avea lungimea maxim 255 caractere ASCII si se reprezinta intern cate un caracter pe octet in binar. Operatii asupra datelor de tip sir - concatenarea a doua siruri se realizeaza prin operatorii de concatenare (+, -); (+) realizeaza concatenarea a doua siruri; Exemplu: strada _ + George _ Cosbuc Dupa evaluare, va avea valoarea: strada _ George _ Cosbuc Operatorul (-) realizeaza concatenarea termenilor cu mutarea spatiilor de la sfarsitul primului sir la sfarsitul sirului rezultat. Exemplu: Salut - prieteni ! Dupa evaluare, vom obtine sirul de caractere Salut prieteni ! se observa ca blancurile de la inceputul sirului al doilea isi pastreaza pozitia in sir. - testarea apartenentei unui sir la un alt sir este realizata prin operatorul ($); poate fi folosit in expresii logice. De exemplu, expresia: calcul $ calculator este adevarata, pe cand expresia: calcule $ calculator va fi evaluata la valoarea logica fals. Compararea sirurilor de caractere de lungimi diferite este controlata de comanda : SET EXACT ON / OFF In starea ON sirurile se compara de pe toata lungimea lor (cu exceptia spatiilor de la sfarsitul sirului). In starea OFF se ia lungimea cea mai scurta si, daca pe aceeasi lungime sirurile sunt egale, rezultatul este .T.. Functii uzuale asupra sirurilor
Exemple: ? CHR ( 49 ) ? CHR ( 65 ) == A . T . ? ASC ( A ) ? ASC ( a ) = ASC ( alfa ) . T . ? A == CHR ( ASC ( A ) ) . T . ? 65 == ASC ( CHR ) 65 ) ) . T . ? SUBSTR ( ABCDEF , 2, 3 ) BCD ? SUBSTR ( Ziua Buna , 6 ) Buna ? LEFT ( La multi ani ! , 2 ) La ? RIGHT ( Noapte buna ! , 6 ) buna ! ? REPLICATE ( a , 5 ) a a a a a ? REPLICATE ( , 6 ) == SPACE ( 6 ) . T . ? ALLTRIM GAMA ) == GAMA . T . ? Ma numesc + RTRIM ( Ionescu ) + Daniel Ma numesc Ionescu Daniel ? si am + LTRIM ( 24 ) + ani. si am 24 ani ? AT ( nr. , Strada George Cosbuc, nr. 63 64 ? LEN ( Salutari ! ) ? LEN ( Strada George Cosbuc + nr. 150 a = ALFA b = alfa ? UPPER ( a ) == UPPER ( b ) . T . ? LOWER ( a ) == LOWER ( b ) . T . STORE pala TO sir sir = STUFF ( sir , 3 , 0 , rale ) ? sir paralela sir = STUFF ( sir , 3 , 3 , sar ) ? sir pasarela sir = STUFF ( sir , 7 , 2 , ) ? sir pasare
|