Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 15/12/2012
ale4132 ale4132 is offline
Miembro
NULL
 
Join Date: Dec 2012
Posts: 13
Poder: 0
ale4132 Va por buen camino
problema con listbox

Tengo un Problema en delphi 7 con un listbox, la situacion es la siguiente:
Por medio de un boton genero de manera aleatoria una cierta cantidad de items en un listbox, algunos de los cuales a veces se repiten mas de una vez, mi pregunta es:
¿como podría hacer por medio de otro boton para que los elementos o items duplicados del listbox se eliminen?

espero respuesta, muchas gracias!!
Reply With Quote
  #2  
Old 15/12/2012
ecfisa's Avatar
ecfisa ecfisa is offline
Moderador
 
Join Date: Dec 2005
Location: Tres Arroyos, Argentina
Posts: 10,508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ale4132, bienvenido a Club Delphi.

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

Con respecto a tu consulta podes hacer:
Código Delphi [-]
procedure BorrarRepetidos(LB: TListBox);
begin
 with TStringList.Create do
  try
    Sorted       := True;
    Duplicates   := dupIgnore;
    Text         := LB.Items.Text;
    LB.Items.Text:= Text;
  finally
    Free;
  end;
end;

Ejemplo de llamada:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
   BorrarRepetidos(ListBox1)
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Reply With Quote
  #3  
Old 15/12/2012
ale4132 ale4132 is offline
Miembro
NULL
 
Join Date: Dec 2012
Posts: 13
Poder: 0
ale4132 Va por buen camino
listo!!!
me fue de mucha ayuda la respuesta.
gracias, saludos!!!
Reply With Quote
  #4  
Old 15/12/2012
ale4132 ale4132 is offline
Miembro
NULL
 
Join Date: Dec 2012
Posts: 13
Poder: 0
ale4132 Va por buen camino
si no es mucha molestia quisiera saber si es posible realizar el mismo procedimiento de eleminimar duplicados por medio de un boton utilizando una estructura de trabajo "for .... do" en la programacion
Reply With Quote
  #5  
Old 16/12/2012
nlsgarcia's Avatar
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Join Date: Feb 2007
Location: Caracas, Venezuela
Posts: 2,206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
ale4132,

Quote:
Originally Posted by ale4132
si no es mucha molestia quisiera saber si es posible realizar el mismo procedimiento de eleminimar duplicados por medio de un boton utilizando una estructura de trabajo "for .... do" en la programacion
Revisa este código:
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
var
   i,j : Integer;
   Item : String;
   Count : Integer;

begin

   Count := ListBox1.Count-1;

   for i := 0 to Count do
   begin
      If (i > Count) Then break;
      Item := ListBox1.Items.Strings[i];
      for j := i + 1 to Count do
      begin
         If (j > Count) Then break;
         if (ListBox1.Items.Strings[j] = Item)  then
         begin
            ListBox1.Items.Delete(j);
            Dec(Count);
         end
      end;
   end;

end;
El código anterior elimina los Items Duplicados en un control TListBox por medio de comparaciones sucesivas.

Espero sea útil

Nelson.

Last edited by nlsgarcia : 16/12/2012 at 00:51.
Reply With Quote
  #6  
Old 16/12/2012
ecfisa's Avatar
ecfisa ecfisa is offline
Moderador
 
Join Date: Dec 2005
Location: Tres Arroyos, Argentina
Posts: 10,508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Usando for podrías hacer:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  i,j: Integer;
begin
  with ListBox1 do
    for i:= 0 to Items.Count-1 do
      for j:= Items.Count-1 downto i+1 do
        if Items[i] = ListBox1.Items[j] then
          Items.Delete(j);
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Reply With Quote
  #7  
Old 16/12/2012
nlsgarcia's Avatar
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Join Date: Feb 2007
Location: Caracas, Venezuela
Posts: 2,206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
ale4132,

Revisa este código:
Código Delphi [-]
procedure TForm1.Button5Click(Sender: TObject);
var
   i : integer;
begin
   with ListBox1 do
   for i := Items.Count - 1 downto 0 do
   begin
      if Items.IndexOf(Items[i]) < i then
      Items.Delete(i);
   end;
end;
El código anterior plantea otra método para la eliminación de Items Duplicados en un control TListBox.

Espero sea útil

Nelson.
Reply With Quote
  #8  
Old 16/12/2012
nlsgarcia's Avatar
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Join Date: Feb 2007
Location: Caracas, Venezuela
Posts: 2,206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
ale4132,

Quote:
Originally Posted by nlsgarcia
El código anterior elimina los Items Duplicados en un control TListBox por medio de comparaciones sucesivas.
Corrección: El código del primer método propuesto falla si un item se repite más de una vez, lo correcto sería:
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
var
   i,j : Integer;

begin

   for i := 0 to ListBox1.Count-1 do
      for j := ListBox1.Count-1 downto i+1 do
         if (ListBox1.Items.Strings[i] = ListBox1.Items.Strings[j]) then
            ListBox1.Items.Delete(j);

end;
Espero sea útil

Nelson.

Last edited by nlsgarcia : 16/12/2012 at 04:23.
Reply With Quote
  #9  
Old 16/12/2012
ale4132 ale4132 is offline
Miembro
NULL
 
Join Date: Dec 2012
Posts: 13
Poder: 0
ale4132 Va por buen camino
gracias, me fueron muy utiles las prespuestas!!!
saludos!!!
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Problema con listbox mefixxto OOP 8 26/09/2008 04:43
Problema con ListBox Jaiha OOP 2 04/07/2007 17:35
Problema con ListBox en Delphi7 jmlifi Varios 5 30/11/2006 00:48
problema en listbox ramphi Varios 6 24/08/2006 15:40
Problema con ListBox Delphos Varios 3 10/02/2004 17:18


All times are GMT +2. The time now is 23:08.


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