Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-03-2021
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Ordenar TStringList con objetos

Tengo un TStringList que cargo a partir de elementos seleccionados en un TListView así:
Código:
for (nItem = 0; nItem < ListView1->Items->Count; nItem ++)
{
     if (!ListView1->Items->Item[nItem]->Checked)
          continue;

     cAux = "";
     if (InputQuery(Application->Title, UpperCase(ComboBox1->Items->Strings[ComboBox1->ItemIndex]) + "\n" + ListView1->Items->Item[nItem]->Caption + "\nIndique la cantidad", cAux) && StrToIntDef(cAux, 0) > 0)
          slDatos->AddObject(ListView1->Items->Item[nItem]->Caption, (TObject *)StrToInt(cAux));
}
Supongamos que una vez cargado el TStringList quedara así:
Cita:
Dato 1 - 100
Dato 2 - 200
Dato 3 - 300
Dato 4 - 400
Dato 5 - 500
y necesito ordenar la lista descendentemente para que queda así:
Cita:
Dato 5 - 500
Dato 4 - 400
Dato 3 - 300
Dato 2 - 200
Dato 1 - 100
Para ordenarla estoy usando esto:
Código:
for (int nUno = 1; nUno < slDatos->Count; ++ nUno)
     for (int nDos = 0; nDos < slDatos->Count - nUno; nDos ++)
          if ((int)(TObject*)slDatos->Objects[nDos] < (int)(TObject*)slDatos->Objects[nDos + 1])
          {
               Objeto = new TObject();
               Objeto = slDatos->Objects[nDos];
               slDatos->Objects[nDos]     = slDatos->Objects[nDos + 1];
               slDatos->Objects[nDos + 1] = Objeto;
          }
Evidentemente Objeto está declarado como TObject *Objeto. Pero cuando termina me ha ordenado bien las cantidades pero no los literales y queda así:
Cita:
Dato 1 - 500
Dato 2 - 400
Dato 3 - 300
Dato 3 - 200
Dato 5 - 100
¿Qué estoy haciendo mal?
Responder Con Cita
 



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
Ordenar objetos de mas grandes a mas pequeños en TListView Reasen Varios 3 17-11-2016 17:51:52
Ordenar TStringList eennzzoo C++ Builder 2 29-06-2014 00:51:53
ordenar descendente TStringList Sort ingabraham Varios 3 28-03-2014 15:25:31
Duda sobre destrucción de objetos compuestos por otros objetos noob OOP 11 16-02-2009 00:28:33
Agregar objetos a TstringList patorecalde Varios 7 02-11-2006 19:32:31


La franja horaria es GMT +2. Ahora son las 09:00:22.


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