Funções que modificam strings

AnsiString ... continuação



AnsiString   __fastcall Trim() const;
AnsiString   __fastcall TrimLeft() const;
AnsiString   __fastcall TrimRight() const;
AnsiString   __fastcall SubString(int index, int count) const;





Trim(), TrimLeft()e TrimRight()

AnsiString   __fastcall Trim() const;
AnsiString   __fastcall TrimLeft() const;
AnsiString   __fastcall TrimRight() const;



Podemos usar essas funções-membro para eliminar caracteres em branco no início (TrimLeft()), no final (TrimRight()) e no início e no final da string (Trim()):



void __fastcall TForm1::Label1Click(TObject *Sender)
{
Label1->Color = clYellow;
Label2->Color = clYellow;
Label3->Color = clYellow;
Label4->Color = clYellow;
AnsiString test = "                   O grande teste está feito               ";
Label1->Caption = test;
Label2->Caption = test.Trim();
Label3->Caption = test.TrimLeft();
Label4->Caption = test.TrimRight();

}





SubString()


AnsiString   __fastcall SubString(int index, int count) const;

Retorna uma substring especificada de uma string. A substring inicia a contagem dos caracteres em index e termina de contá-los em count.


O exemplo abaixo possui um Button, um Edit e um Label no Form. Quando o usuário der um clique no botão, a função membro SubString() da classe AnsiString será chamada para acessar uma substring (parte da frase) contida na variável Frase:


//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
// Coloca uma string em Edit1
Edit1 -> Text = "Meu pai se chama Julio Alves";
// Declara e inicializa a variável Frase com a string contida no texto de em Edit1
AnsiString Frase = Edit1 ->Text;
/* Declara e inicializa a variável MeuPai com a string que começa no caracter 18 
e termina no 28 de Frase*/
AnsiString MeuPai = Frase.SubString(18, 28);
// Concatena string com MeuPai, imprimindo no Label1
Label1 -> Caption = "Papai se chama " + MeuPai;

}
//---------------------------------------------------------------------------



Nota: Como você deve ter observado, já temos utilizado AnsiString em diversas oportunidades. Também já utilizamos a denominação String que é análoga ao uso de AnsiString (Lembre-se da palavra-chave typedef).


Como sabemos, o C++Builder possui várias funções para manipulação de strings. Veja abaixo um exemplo com AnsiPos(), uma função que retorna a posição de um caracter dentro de uma String:



void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Teste = "abcdefghijlmnopqrstuvxz";
ShowMessage((String)"A posição de 'q' é: " + AnsiPos('q', Teste));
}



anterior

índice

próxima


HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO