Ir al contenido



Foto

encontrar digitos repetidos en numero listbox


  • Por favor identifícate para responder
2 respuestas en este tema

#1 Caral

Caral

    Advanced Member

  • Administrador
  • 4.252 mensajes
  • LocationCosta Rica

Escrito 21 julio 2020 - 03:44

hola a todos

Os explico:

tengo un listbox con una lista de números:

 

123

112

143

133

112

100

231

111

 

 

necesito copiar en otro listbox solo los números que tengan algún dígito repetido osa en este ejemplo serian:

 

112

133

112

100

111

 

Gracias de antemano

Saludos

 

 edito

este ejemplo de casualidad los números repetidos empiezan con 1 pero pueden empezar  o terminar con cualquier numero.

222

233

303

999

090

etc


  • 0

#2 Caral

Caral

    Advanced Member

  • Administrador
  • 4.252 mensajes
  • LocationCosta Rica

Escrito 22 julio 2020 - 08:51

Hola

Me contesto por si a alguien le sirve.

1- selecciono cada dígito por aparte.

2. lo paso a integer si no esta vacío.

3- indico si se repite algún dígito

4- si se repite lo paso a otro listbox.

5- cuento la cantidad de coincidencias

6. limpio los repetidos.



php
  1. var Fuente, obj : String;
  2.  i,a,b,c,x : integer;
  3.  listanome: TStringList;
  4. begin
  5.  listBox10.Clear;
  6.   for i:=0 to listBox8.Count-1 do
  7.   begin
  8.     Fuente:= listBox8.Items[i];
  9.     obj:= copy(Fuente, 0, 1);
  10.      Edit38.Text:= Obj;
  11.    Fuente:= listBox8.Items[i];
  12.     obj:= copy(Fuente, 2, 1);
  13.      Edit40.Text:= Obj;
  14.     Fuente:= listBox8.Items[i];
  15.     obj:= copy(Fuente, 3, 1);
  16.      Edit3.Text:= Obj;
  17.   if Edit38.Text <> '' Then
  18.   begin
  19.     a:= StrToInt(Edit38.Text);
  20.   end;
  21.   if Edit40.Text <> '' Then
  22.   begin
  23.     b:= StrToInt(Edit40.Text);
  24.   end;
  25.   if Edit3.Text <> '' Then
  26.   begin
  27.     c:= StrToInt(Edit3.Text);
  28.   end;
  29.   if Edit3.Text <> '' Then
  30.   begin
  31.    if (a = b) or (a = c) or (b = c) then
  32.    begin
  33.    listBox10.Items.Append(Fuente);
  34.    end;
  35.   end
  36.   else
  37.   begin
  38.     if (a = b) or (b = a) then
  39.    begin
  40.    listBox10.Items.Append(Fuente);
  41.    end;
  42.   end;
  43.    end;
  44.  
  45.  
  46. x:=0;
  47. listanome:=TStringList.Create;
  48. for x:=0 to listBox10.Count-1 do
  49.   begin
  50.     if listanome.IndexOf(listbox10.Items.Strings[x]) < 0 Then
  51.       listanome.Add(listbox10.Items.Strings[x])
  52.    end;
  53. listbox10.Clear;
  54. listbox10.Items.AddStrings(listanome);
  55. listanome.Free;
  56.  
  57.  
  58. Label20.Caption:= IntToStr(ListBox10.Items.count);

Saludos


  • 0

#3 ELKurgan

ELKurgan

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 554 mensajes
  • LocationEspaña

Escrito 23 julio 2020 - 03:42

Gracias por compartir la solución

 

Saludos (y)


  • 1