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();
}



anterior

índice

próxima


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