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));
}
|
HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO |