Você está na página 1de 14

Algoritmos e Programao II ca

AnsiString
Prof. Leonardo Tavares, MSc.

AnsiString

Classe dispon no C++ Builder destinada ` manipulao de vel a ca strings. Possui ampla variedade de construtores, operadores e mtodos de manipulao e converso de tipos. e ca a

Construtores

Permitem a criao de um objeto AnsiString a partir de diferentes ca tipos de dados.


Construtor AnsiString(); AnsiString(char * src); Descrio ca Cria uma AnsiString vazia. Cria uma AnsiString a partir de um char *. Exemplo AnsiString s1; char* bu = Hello; AnsiString s1(bu); AnsiString s2(Hello); AnsiString s1 = Hello; AnsiString s2(s1); char c = A; AnsiString s1(c); int t = 22; AnsiString s1(t); double pi = 3.14; AnsiString s1(pi);

AnsiString(AnsiString& src); AnsiString(char src); AnsiString(int src); AnsiString(double src);

Cria uma AnsiString a partir de outra. Cria uma AnsiString a partir de um char. Cria uma AnsiString a partir de um int. Cria uma AnsiString a partir de um double.

Operadores

Alguns operadores matemticos tm funcionalidades distintas no a e contexto da AnsiString.


Operador = + == != Descrio ca Atribuio (cpia) ca o Concatenao ca Igualdade (comparao) ca Desigualdade Exemplo s1 = Teste; s1 = s1 + s2; if (s1 == Ok) ... if (s1 != Ok) ...

Mtodos de Converso de Tipos e a

A AnsiString possui mtodos prprios para a converso de tipos. e o a No necessrio chamar funes externas para esta tarefa. a e a co
Mtodo e ToInt() ToDouble() c str() Descrio ca Converte para inteiro Converte para double Converte para char * Exemplo int x = s1.ToInt(); double y = s1.ToDouble(); char * pt = s1.c str();

Delete

Exclui count caracteres da string a partir de index. void Delete(int index, int count); Exemplo:
AnsiString s = E s t e um t e s t e ! ; e s . Delete ( 1 , 5 ) ; Label1>Caption = s ;

Insert

Insere a string str a partir da posio index. ca void Insert(const AnsiString& str, int index); Exemplo:
AnsiString s1 = Meu Campe o ! ! ! ; a AnsiString s2 = F u r a c o ; a s1 . Insert ( s2 , 5 ) ; Label1>Caption = s1 ;

IsEmpty
Verica se uma string est vazia. a bool IsEmpty(); Exemplo:
i f ( Edit1>Text . IsEmpty ( ) ) Label1>Caption = S t r i n g V a z i a ;

Alternativa:
i f ( Edit1>Text == ) Label1>Caption = S t r i n g V a z i a ;

Length

Retorna o comprimento de uma string. int Length(); Exemplo:


AnsiString s1 ; s1 = Edit1>Text ; Label1>Caption = s1 . Length ( ) ;

LowerCase e UpperCase
LowerCase converte a string para minsculas e retorna a string u convertida. UpperCase converte a string para maisculas e retorna a string u convertida. Ambas, no entanto, no modicam o texto no prprio objeto. a o AnsiString LowerCase(); AnsiString UpperCase(); Exemplo:
AnsiString s = A t l t i c o ! Conhecemos t e u V a l o r ! ; e Label1>Caption = s . LowerCase ( ) ; Label2>Caption = s . UpperCase ( ) ; Label3>Caption = s ;

Pos

Retorna a posio da sequncia passada no substr. Se a sequncia ca e e no for encontrada, Pos() retorna 0. a int Pos(const AnsiString& subStr); Exemplo:
AnsiString s = E s t e um t e s t e ! ! ! ; e i n t p = s . Pos ( t e s t e ) ; Label1>Caption = Pos : + AnsiString ( p ) ;

Trim, TrimLeft, TrimRight


Removem espaos em branco de uma string e retornam o resultado. c AnsiString Trim(); AnsiString TrimLeft(); AnsiString TrimRight(); Exemplo:
AnsiString s = Label1>Caption Label2>Caption Label3>Caption Label4>Caption = = = = Exemplo Trim ! s . Trim ( ) ; s . TrimLeft ( ) ; s . TrimRight ( ) ; s; ;

SubString

Retorna uma substring de count caracteres a partir da posio ca index. AnsiString SubString(int index, int count); Exemplo:
AnsiString s1 = 1234567890 ; Label1>Caption = s1 . SubString ( 3 , 5 ) ;

Format
Cria uma string usando argumentos fornecidos em uma string de controle. AnsiString Format(const AnsiString& format,const TVarRec *args, int size); Exemplo:
AnsiString s ; s = s . Format ( %02d e %.2 f , ARRAYOFCONST ( ( 1 0 , 3 . 1 4 ) ) ) ; Label1>Caption = s ;

Alternativa:
c h a r buff [ 2 0 ] ; sprintf ( buff , V a l o r e s : %02d e %.2 f , 1 0 , 3 . 1 4 ) ; AnsiString s1 ( buff ) ; Label1>Caption = s1 ;

Obs: Neste caso deve-se incluir a biblioteca stdio.h.