ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Linhas repetidas

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
gilbertodias1
Novato
Novato


Registrado: Terça-Feira, 6 de Novembro de 2007
Mensagens: 26

MensagemEnviada: Qui Nov 15, 2007 10:53 am    Assunto: Linhas repetidas Responder com Citação

Ola amigos do forum, sou novato e este forum tem sido de grande ajuda pra mim, bom dessa vez minha duvida é como apagar as linhas repetidas de um tmemo, alguem tem uma ideia, aguardo
abraço a todos.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
forst
Membro Junior
Membro Junior


Registrado: Domingo, 26 de Junho de 2005
Mensagens: 367

MensagemEnviada: Sex Nov 16, 2007 2:34 pm    Assunto: Responder com Citação

nao sei se tem como fazer uma pesquisa diretamente pelo memo.. sem ser andando nas linhas...

mas cara, é o mesmo procedimento mais ou menos daquele codigo q eu havia te passado.. veja bem..
Código:

procedure TForm1.Button1Click(Sender: TObject);
var vStr,vStr2,Valor : string;
   i , j , linhas, linhas2 : integer;
   JaExiste : Boolean;
begin
   JaExiste := false;
   vStr  := '''''''';
   vStr2 := '''''''''';
   linhas := memo1.lines.count;
   for i := 1 to linhas do
   begin
      Valor := Copy(memo1.lines[i],Pos(vStr,memo1.lines[i])+3,Pos(vStr2,memo1.lines[i]));
      Valor := Copy(Valor,1,length(valor)-4);
      if valor <then> 0 then
               JaExiste := true;
         end;
         if not JaExiste then
            memo2.lines.Add ( valor );
      end;
   end;
end;

é igual ao procedimento para a pesquisa.. mas agora vc anda no outro memo e ve se a Posicao dele é maior que 0 (ou seja, se ele encontrou aquilo)
Se ele encontrou ele marca a variavel JaExiste como true..
e se nao for True a variavel ele adiciona no memo...

Não cheguei a testar o codigo.. mas deve ta certo..

[]s
_________________
Precisando de ícones para suas aplicações em Delphi?
www.soicones.com
Milhares de Ícones PNG de alta qualidade disponíveis em diversos tamanhos.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Sex Nov 16, 2007 3:26 pm    Assunto: Responder com Citação

se é q entendi!!

vc quer remover as linhas duplicadas?


Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  I, J : Integer;
  S : string;
begin
  I := 0;
  while True do
  begin
    J := Memo1.Lines.Count - 1;
    if I > J then
      Break;

    S := UpperCase(Memo1.Lines[I]);
    for J := J downto I + 1 do
    begin
      if S = UpperCase(Memo1.Lines[J]) then
        Memo1.Lines.Delete(J);
    end;

    Inc(I);
  end;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gilbertodias1
Novato
Novato


Registrado: Terça-Feira, 6 de Novembro de 2007
Mensagens: 26

MensagemEnviada: Sáb Nov 17, 2007 1:45 am    Assunto: Responder com Citação

Exato, os 2 exemplos serviram perfeitamentes. o do Gilson servio melhor pra mim mais dependo do caso a sua forst pode ser melhor, mais isso já serve pra muita coisa muito obrigado, oque seria de mim sem voces rs.
Resolvido.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB