Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 20 de Julho de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
40 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Função Split utilizando StringList
Publicado por cruzeirense : Segunda, Novembro 05, 2007 - 07:08 GMT-3 (1846 leituras)
Comentários 3 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Administrador Veja nesta dica uma função de Split utilizando lista de strings do Delphi, para pegarmos através de um índice uma parte de uma frase ou texto.

O conceito do funcionamento é simples. Primeiro iremos substituir o caráter de quebra de linha "#13" pelo texto "$Quebra$", para evitar conflito caso exista uma quebra de linha na string. Depois substituímos todos os delimitadores pelo caracter de quebra de linha e definimos como texto de uma stringlist. Após isso, verificamos se o índice passado é valido, pegamos a string referente ao índice e retornamos o caracter "#13" no lugar do texto "$Quebra$".

ATENÇÃO! É necessário a declaração das units Classes e SysUtils na seção uses.

Segue abaixo a função:

function Split(Valor, Delimitador: String; Item: integer): String;
Var 
  s : TStringList;
begin
  if Valor = '' then exit;
  s := TStringList.Create;
  try
    Valor := StringReplace(Valor, #13, '$Quebra$', [rfReplaceAll]);
    s.Text := STringReplace(Valor, Delimitador, #13, [rfIgnoreCase, rfReplaceAll]);
    if (Item > 0) and (Item <= s.Count) then
      Result := StringReplace(s.Strings[item-1], '$Quebra$', #13, [rfReplaceAll])
    else
      Result := '';
  finally
    s.Free;
  end;
end;

Exemplo de funcionamento:

var
  Texto: String;
begin
  Texto := Split('Meu Nome é Renato', ' ', 2);
  ShowMessage(Texto);
end;

O resultado disso será uma mensagem com a palavra "Nome".

Um outro exemplo sobre separação de Strings com índices foi publicado pelo amigo Kelver Merlotti, no artigo Implode e Explode do PHP para o Delphi

Qualquer dúvida comente aqui.
Abraços!

Dica enviada pelo usuário: cruzeirense
Contato: cruzeirense@oi.com.br



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: cmainfor : Nov 05, 2007 - 10:15
(Informações sobre o membro | Enviar uma mensagem) http://
É isso que torna o Delphi tão fantástico, são inúmeras possibilidades.

Mas eu fico com ExtractStrings

var
S:TStringList;
begin
S := TStringList.Create;
ExtractStrings([' '],[],Pchar('Delphi é Demais'),S);
Showmessage(S.Strings[2]);
end;
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados