Funções que modificam strings
Agora conheceremos algumas implementações do tipo AnsiString. Embora tenhamos, para facilidade de compreensão, nos referido às instâncias de classes como variáveis, tecnicamente isso está incorreto. Na verdade, a instância de uma classe (AnsiString, por exemplo) é denominada objeto. E os objetos possuem funções-membro que facilitam sua manipulação. Essas funções-membro podem ser acessadas através do operador ponto “.”.
Vejamos alguma funções-membro utilizadas para modificar strings.
// Modify string
AnsiString& __fastcall Insert(const AnsiString& str, int index);
AnsiString& __fastcall Delete(int index, int count);
AnsiString& __fastcall SetLength(int newLength);
int __fastcall Pos(const AnsiString& subStr) const;
AnsiString __fastcall LowerCase() const;
AnsiString __fastcall UpperCase() const;
AnsiString __fastcall Trim() const;
AnsiString __fastcall TrimLeft() const;
AnsiString __fastcall TrimRight() const;
AnsiString __fastcall SubString(int index, int count) const;
|
Insert()
AnsiString& __fastcall Insert(const AnsiString& str, int index);
insere uma string especificada dentro de AnsiString, iniciando a inserção na posição determinada pela variável index.
O exemplo abaixo leva um Label no Form. Quando o usuário dá um clique no Label, o programa providencia a inserção de uma string dentro de outra.
void __fastcall TForm1::Label1Click(TObject *Sender)
{
AnsiString test = "O_ _está_feito";
Label1->Caption = test.Insert("grande_teste", 3);
}Delete()
AnsiString& __fastcall Delete(int index, int count);
Remove um número especificado de caracteres de uma string. Inicia a contagem para a remoção na variável especificada por index, encerrando a exclusão com a remoção do último caracter contado para completar count:
void __fastcall TForm1::Label1Click(TObject *Sender)
{
AnsiString test = "O_grande_teste_está_feito";
Label1->Caption = test.Delete(3, 12);
Label1->Caption = test.Insert(" ", 3);
}
SetLength()
AnsiString& __fastcall SetLength(int newLength);
Determina um novo tamanho para a string, especificado por newLength, desde que esse novo comprimento seja menor do que o tamanho inicial. SetLength não pode aumentar o tamanho da string:
void __fastcall TForm1::Label1Click(TObject *Sender)
{
AnsiString test = "O_grande_teste_está_feito";
Label1->Caption = test.SetLength(14);
}
Pos()
int __fastcall Pos(const AnsiString& subStr) const;
a posição do primeiro caracter de uma substring especificada na string. Se a substring não for encontrada na string, Pos() retorna “zero”.
void __fastcall TForm1::Label1Click(TObject *Sender)
{
AnsiString test = "O_grande_teste_está_feito";
Label1->Caption = test.Pos("está");
}
LowerCase() e UpperCase()
AnsiString __fastcall LowerCase() const; AnsiString __fastcall UpperCase() const;
LowerCase() transforma todas as letras da string para letras minúsculas e UpperCase() transforma todas para maiúsculas:
void __fastcall TForm1::Label1Click(TObject *Sender)
{
AnsiString test = "O_grande_TESTE_está_FEITO";
Label1->Caption = test;
Label2->Caption = test.LowerCase();
Label3->Caption = test.UpperCase();
}
|
HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO |