 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
gilbertodias1 Novato

Registrado: Terça-Feira, 6 de Novembro de 2007 Mensagens: 26
|
Enviada: Qui Nov 15, 2007 10:53 am Assunto: Linhas repetidas |
|
|
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 |
|
 |
forst Membro Junior


Registrado: Domingo, 26 de Junho de 2005 Mensagens: 367
|
Enviada: Sex Nov 16, 2007 2:34 pm Assunto: |
|
|
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 |
|
 |
gilsonnrodrigues Moderador

Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Sex Nov 16, 2007 3:26 pm Assunto: |
|
|
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 |
|
 |
gilbertodias1 Novato

Registrado: Terça-Feira, 6 de Novembro de 2007 Mensagens: 26
|
Enviada: Sáb Nov 17, 2007 1:45 am Assunto: |
|
|
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 |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|