AnsiString continuação...
(operadores relacionais)
Embora ainda não tenhamos abordado o tema (fato reservado para lições futuras), já tivemos oportunidade de apreciar exemplos com os comandos if e else. Por enquanto tenhamos em mente que esses comandos são usados basicamente para efetuar comparações do tipo:
Se “A” é maior do que “B”, faça isso;
Senão, faça aquilo.
No caso acima, o termo maior está representando o operador relacional “>”. Para mais detalhes, dê uma olhadinha no tópico que trata tal assunto.
Ansistring implementa métodos para tratamento de operadores relacionais:
// Comparisons bool __fastcall operator ==(const AnsiString& rhs) const; bool __fastcall operator !=(const AnsiString& rhs) const; bool __fastcall operator <(const AnsiString& rhs) const; bool __fastcall operator >(const AnsiString& rhs) const; bool __fastcall operator <=(const AnsiString& rhs) const; bool __fastcall operator >=(const AnsiString& rhs) const; int __fastcall AnsiCompare(const AnsiString& rhs) const; int __fastcall AnsiCompareIC(const AnsiString& rhs) const; //ignorecase |
Vejamos outra implementação de AnsiString:
// Query attributes of string int __fastcall Length() const; |
Length() retorna o número de caracteres de um AnsiString. Logo podemos escrever um código mesclando operadores relacionais com essa função:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Str = "Esta é a primeira string";
AnsiString Str2 = "Esta é a segunda string";
if(Str.Length() > Str2.Length())
ShowMessage((String)"A primeira string é maior. Ela possui " +
Str.Length() + " caracteres");
else
ShowMessage((String)"A segunda string é maior. Ela possui " +
Str2.Length() + " caracteres");
}Depois que você estudar os comandos if e else, e os operadores relacionais, procure fazer alguns exercícios implementando outros tipos de comparações suportadas por AnsiString , com outros operadores relacionais.
|
HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO |