Operações com Strings Métodos Auxiliares
Autor: MorfikBR | Publicado: 2011-04-21T13:46:00-07:00

Um dos principais recursos no Morfik é a implementação de métodos auxiliares em suas bibliotecas. Morfik contém a SystemHelperMethods, métodos auxiliares que &nbsp;são, essencialmente, as funções que estão associadas com o tipo e estão disponíveis para chamadas através de uma variável ou uma referência. No caso de strings que apesar de se comportarem como um value type na verdade se tornam um reference type. Apesar disso, devemos considerar que estamos trabalhando com um value type quando estamos manipulando strings, mesmo porque foi programado para tal.

As classes helper possuem uma série de métodos estáticos e não estáticos, que são utilizados para formatação, concatenação, desmembramento, substring etc. Irei demonstrar na prática alguns dos recursos que podemos utilizar.



O método Substring

O método Substring é um método não estático que nos permite obter uma parte da string. Para utilizar este método, basta chama-lo a partir de uma variavel do tipo string ou de uma propriedade de um controle cujo tipo é string. veja o exemplo abaixo:

sTexto := 'Parte de uma string MorfikBR';
sTexto.subString(21,8));

O método substring recebe como parâmetro a posição inicial que queremos obter e quantos caracteres devem ser extraídos. Caso não seja informado o número de caracteres a ser extraído, a função retornará o restante da string a partir da posição inicial informada.

Além do método subString temos outros métodos como IndexOF (retorna a posição de um caracter dentro da string), CompareTo (método sobrecarregado que busca determinado caracter dentro de uma string).

Ainda temos outros métodos que nos permite ir um pouco além, geralmente temos tratamentos e comparações específicas que acabamos juntando inúmeras bibliotecas para obtermos resultados como, converter e/ou comprar um valor.

Funções para maiúsculas e minúsculas (ToUpper e ToLower)

ToUpper e ToLower permitem colocar uma string em letra minúsculas ou maiúsculas, conforme o exemplo a seguir.

sTextoA := 'texto escrito em minuscula';
sTextoB := 'TEXTO ESCRITO EM MAIÚSCULA';

sTextoA.ToUpper; // Converte a String sTextoA para maiúscula.
sTextoB.ToLower; // Converte a String sTextoB para minúscula.

Funções começa com e termina com (StartsWith e EndsWith).

As funções StartsWith e EndsWith verificam se a string começa ou termina com uma determinada palavra ou caracter. Estas funções retornam um valor booleano (true ou false). Exemplos:

sCaminhoImagem = "ftp://morfikbr.com/res/img/logo.jpg";

if(sCaminhoImagem.StartsWith("ftp"))
sMensagem := 'Endereço FTP';

if not (sCaminhoImagem.EndsWith(".jpg"))
sMensagem := 'Imagem inválida';

Funções para remover espaços em branco ( Trim, TrimStart e TrimEnd).

Estas funções são muito utilizadas para "limpar" um determinado valor, geralmente vindo de um campo informado pelo usuário ou de uma base de dados desconhecida, por exemplo:

sEmail&nbsp;&nbsp; := '&nbsp;&nbsp; morfikbr@gmail.com';
sBlog&nbsp;&nbsp;&nbsp; := 'morfikbr.wordpress.com&nbsp;&nbsp; ';
sTwitter := '&nbsp;&nbsp; www.twitter.com/morfikbr&nbsp;&nbsp; ';

sMorfikBR := sEmail.TrimStart;&nbsp;&nbsp; // Remove os caracters em branco a esquerda da string;
sMorfikBR := sBlog.TrimStart;&nbsp;&nbsp;&nbsp; // Remove os caracters em branco a direita da string;
sMorfikBR := sTwitter.Trim; // Remove os caracters em branco da direita e da esquerda string;

Funções de preenchimento de strings (padLeft e padright).

padLeft preenche uma quantidade de caracteres a esquerda da string com um caracter passado. Muito utilizado para formatação de códigos, por exemplo:

sCodFabricacao := '135';
sCodFabricacao.padLeft(5, '0'); // Retorna 00135;

sSerial := 'MORFIKBR';
sSerial.padright(10, '#'); // Retorna MORFIKBR##;

Existem outros métodos que estamos acostumados a utilizar também que estão na biblioteca SystemHelperMethods. Vamos continuar com outros métodos muito utilizados.

Métodos de comparação de string:

.isAlpha&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; uma string contém apenas caracters 'A-Z' ou 'a-z';
.isAlphaNum&nbsp;&nbsp; // Retorna True/False se uma string contém apenas caracters 'A-Z' ou 'a-z' ou '0-9';
.isEmpty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Retorna True/False se uma string é uma string vazia;
.isValidEmail // Retorna True/False se uma string é um endereço de email válido

Métodos de conversão de valores

.ToInteger&nbsp;&nbsp;&nbsp; // Tenta converter uma string em Inteiro, retorna uma exceção caso inválido.
.ToBoolean&nbsp;&nbsp;&nbsp; // Tenta converter uma string em Boolean, retorna uma exceção caso inválido.
.ToFloat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Tenta converter uma string em Float, retorna uma exceção caso inválido.

E pra finalizar alguns métodos também muito interessantes:

.Quote&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Retorna uma string entre aspas duplas (muito usado para formatação de sentença SQL).
.UnQuote&nbsp;&nbsp;&nbsp;&nbsp; // Retorna uma string retirando as aspas duplas.
.Split&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Divide a string com base no argumento separador.
.FromInteger // Retorna a representação string de um determinado inteiro passado.

Existem ainda outros métodos, além dos que podemos adicionar a nossas próprias blibliotecas, com esta introdução espero ter ajudado a você conhecer um pouco destes recursos para que tenha maior produtividade.

Carlos Eduardo Paulino
cadumicro@hotmail.com

[MorfikBR]
Blogs : www.morfikbr.wordpress.com  / www.morfikbr.blogspot.com
Grupo : http://br.groups.yahoo.com/group/Morfikbr/ 

Twitter : www.twitter.com/morfikbr
Youtube : http://www.youtube.com/morfikbr
Contato : morfikbr@gmail.com / morfikbr@yahoo.com.br