Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-09-2008
Paolo Paolo is offline
Registrado
 
Registrado: jul 2008
Posts: 8
Poder: 0
Paolo Va por buen camino
Eliminar duplicados lista con mismos caracteres

Me gustaria saber como de esta tstringlist con estos valores

012340 012340
402301 012350
012350 Eliminar los que tengan los mismos --->
230140 caracteres y que quede como --->

Gracias
Responder Con Cita
  #2  
Antiguo 05-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
una pequeña idea....
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var pepe:tstringlist;
i,p:integer;
begin
pepe:=tstringlist.Create;

pepe.add('555');
pepe.add('333');
pepe.add('555');
pepe.Sort;
i:=0;
while i <= pepe.Count-1 do
begin
 if (pepe.Find(pepe[i],p)) and (i<>p) then
  pepe.delete(p);
 inc(i);
end;

memo1.lines:=  pepe;


end;
Responder Con Cita
  #3  
Antiguo 05-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
hola suponiendo que cada numero este en una linea distinta, deberas usar un doble bucle :

Código Delphi [-]

for i := 0 to sl.count - 1 do
begin
   s := sl[i];
   for j := i to sl.count - 1 do 
      if sl[i] = sl[j] then sl[j].Delete;
end;

mas o menos
Responder Con Cita
  #4  
Antiguo 05-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
tcp_ip... vamos a tener un problema tu y yo eh?
Responder Con Cita
  #5  
Antiguo 05-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
ah no que ahora es diferente Ok
Responder Con Cita
  #6  
Antiguo 05-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sé si valdrá para algo o qué, pero, creo recordar que los "TStrings" tienen una propiedad "AllowDuplicates".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 05-09-2008
Paolo Paolo is offline
Registrado
 
Registrado: jul 2008
Posts: 8
Poder: 0
Paolo Va por buen camino
Si creo recordar que la tienen

Si creo recordar que la tienen, pero la idea no es esa sino elimine los que tengan los mismos caracteres aunque sea en distinto orden osea que elimine el "0135" y el "5301" y el "3501" y solo deje uno de los tres da igual cual.

Gracias por las respuestas
Responder Con Cita
  #8  
Antiguo 05-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
hola, no estoy muy seguro pero creo q esto funciona

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
        i,j : integer;
begin
        for i := 0 to Memo1.Lines.Count - 1 do
        for j := i + 1 to Memo1.Lines.Count - 1 do
           if Permuta(Memo1.Lines[i],Memo1.Lines[j]) then Memo1.Lines.Delete(i);
end;
function TForm1.Permuta(s1,s2 : string) : boolean;
var
        j : integer;
begin
        result := true;
        j := 1;
        while (j < length(s1)) and (result = true) do
        begin
                result := result and (Pos(s1[j],s2)<>0);
                stringreplace(s2,s1[j],'',[]);
                inc(j);
        end;
end;

tendrias que mirar casos donde hayan caracteres repetidos (ex, 5113, 1351, 1355...creo que si, pero no se bien bien si los consideraria igual). Al menos, la idea va por aqui
Responder Con Cita
  #9  
Antiguo 05-09-2008
Paolo Paolo is offline
Registrado
 
Registrado: jul 2008
Posts: 8
Poder: 0
Paolo Va por buen camino
Gracias a todos, eso es parte de lo que yo quiero

Me funciona pero ahora lo que quiero hacer es que los compare de dos en dos, que no sea lo mismo 13 que 31, de todas formas lo dicho gracias a todos.
Responder Con Cita
  #10  
Antiguo 08-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Cita:
tcp_ip... vamos a tener un problema tu y yo eh?
¿y eso por???
Responder Con Cita
  #11  
Antiguo 08-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
(porque te me adelantaste ese dia en todas las respuestas)
Responder Con Cita
  #12  
Antiguo 08-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
estaba fino ese día hoy estoy más denso....
Responder Con Cita
  #13  
Antiguo 08-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
es lo q tienen los lunes, ya pasara
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Eliminar Duplicados ¿? jam888 MS SQL Server 4 07-06-2012 02:30:55
Eliminar Caracteres ZayDun Varios 3 28-03-2007 02:04:08
Eliminar duplicados con LECT DISTINCT manu SQL 1 13-06-2006 18:03:07
eliminar caracteres de una cadena ibbeth Firebird e Interbase 4 23-12-2005 23:35:28
Eliminar Registros Duplicados ? Jvilomar Firebird e Interbase 14 16-03-2004 22:14:35


La franja horaria es GMT +2. Ahora son las 08:20:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi