ClipaTec Informática

Receba novidades por e-mail. Digite seu e-mail abaixo e clique no botão "Cadastrar"

Delivered by FeedBurner

23 de setembro de 2014

Usando a função SplitString do Delphi

embarcadero

Ola pessoal, salve.
Neste artigo vou apresentar pra você que ainda não conhece, a função "SplitString".
É comum as vezes a gente quebrar a cabeça criando funções para resolver um problema, ou até mesmo, usar mais de uma função existente para chegar ao objetivo, por não conhecer muito o Delphi.
Isso é normal, é impossível alguém conhecer o Delphi em sua totalidade, mas, com o tempo, troca de experiências com outros profissionais, leitura e estudo e até mesmo "curiando" as "units" do Delphi, encontramos coisas interessantes que nos podem ser muito úteis no dia a dia.
Então, hoje quero falar sobre a função "SplitString". Quando se fala em copiar partes de um string, todo mundo já pensa na função "Copy" que na maioria das vezes é usada em conjunto com a função "Pos". Em alguns casos, ela é a mais ideal, porém, em outros casos ela deixa de ser ideal e passa a ser complexa. Isso faz com que muitos programadores criem suas próprias funções. Neste artigo, vamos ver o quanto é fácil separar uma string facilitando a cópia de determinada parte através da função "SplitString".
A função SplitString do Delphi é usada para separar uma string em diferentes partes delimitadas por um ou mais delimitador especificado. O retorno dela é do tipo "TStringDynArray", que é um array que contém as partes divididas da string original. Para usar esta função, é necessário declarar na "uses" a unit "Types" (System.Types) e a unit "StrUtils" (System.StrUtils).
Vamos fazer alguns exemplos práticos.
Ao chamar a função "SplitString", note que ela pede dois parâmetros, onde o primeiro é a string a ser separada, e o segundo é o caracter delimitador, que pode ser mais de um, vamos ver nos exemplos.
O nosso primeiro caso, suponha que uma string com uma data é passada, e precisamos separar o dia, mês e ano.
Neste caso, temos o caracter delimitador que é a barra "/", então, basta fazer isso:

delphi

Acima você percebe que temos uma variável "sString" que é alimentada com uma string contendo uma data, e a variável "sStringSeparada" que será o nosso array que armazenará as partes separadas da string.
Em seguida, chamamos a função passando a string e o delimitador e armazendo no array, e depois, mostramos uma mensagem pegando as posições do array de cada parte que foi separada.
Caso não quiser criar um array, como eu disse anteriormente, o retorno dela, é um array, então você pode chamá-la lendo uma posição específica:

delphi

Agora vamos ver um exemplo bem básico quando na string tiver mais de um caracter delimitador:

delphi

No exemplo acima, note que passamos três caracteres delimitadores, a barra, a vírgula e o ponto. Isso significa que você pode passar quanto delimitadores quiser, desde que a função contenha tais delimitadores.
Não tem segredo em usá-la, como vocês perceberam, a função identifica o delimitador na string passada por parâmetro, e separa em partes, armazenado em um array.
Óbviamente, você deve ter cuidado com a posição do array que você ler, senão, o resultado pode sair errado.
Ok, até o próximo artigo. Abraço.

(Por Welinton Junior Dias)

1 comments:

  1. Gostei muito da maneira como simplificou o uso da função splitstring. Obrigada e parabéns

    ResponderExcluir

Visite nossa página de Política de comentarios antes de comentar para ter certeza de que seu comentário não será excluído! Lembre-se, assim que aprovarmos o teu comentário ele será publicado, por isso, não deixe de sempre visitar nosso blog e conferir nossa resposta ao seu comentário, abraço!