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 ++) Cita:
Cita:
Código:
for (int nUno = 1; nUno < slDatos->Count; ++ nUno) Cita:
|
Hola.
Creo que te resultará mas sencillo usar el método CustomSort de la clase TStringList, ejemplo: Código PHP:
Saludos :) |
No conocía el método. Muchas gracias. No obstante no lo veo claro: Haces una llamada a una función SortCompare pero ¿no pasas parámetros en la misma? ¿No falta nada en esa llamada? Además, tal como has puesto el código, yo entiendo que se comparan únicamente dos elementos (i1 e i2).
|
Hola.
El método CustomSort ordena el TStringList mediante una función de comparación personalizada cuyo puntero recibe como argumento. Esta, deberá comparar dos elementos de la lista y devolver un número que será:
Para ordenar de forma ascendente dispones del método Sort de forma directa, pero también puedes usar CustomSort del siguiente modo: Código PHP:
Saludos :) |
Perfecto. Cuando lo probé ayer, antes de escribir el mensaje, me estaba dando un error de compilación y era porque había declarado mal esa función SortCompare. Muchísimas gracias.
|
La franja horaria es GMT +2. Ahora son las 07:51:35. |
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