FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
metodo de ordenacion
Quisiera saber si delphi 2009 tiene alguna funcion o propiedad asi como sort para ordenar los numeros que balla introduciendo en un listbox .
si en la propiedad sorted del litsbox la activo y me ordena alfabeicamente y yo lo que quisiera saber como le hago para que ordene numericamente. |
#2
|
|||
|
|||
Que yo sepa no hay un método así para los TStrings (los items de los TListBox son del tipo TStrings).
Lo único que te puedo recomendar es este procedimiento que acabo de hacer para tu pregunta: Solamente ordena números. Si tu TListBox contiene palabras, va a tirar error. Le mandás como primer argumento el TListBox que quieras ordenar (ListBox1, ListaNumeros, como se llame) y como segundo argumento le mandás TRUE si querés que los ordene de menor a mayor (ascendente) o FALSE si querés que los ordene de mayor a menor (descendente). Saludos! Última edición por BrunoBsso fecha: 09-03-2010 a las 09:06:21. Razón: Se creaba mal el código en la página |
#3
|
|||
|
|||
gracias colega un poco dificil para mi que son principiante todabia pero si logro entenderle . .
buscaba algo mas facil asi como el metodo de la burbuja ... |
#4
|
|||
|
|||
Cita:
Tampoco hice lo que explicó Neftali porque no quise confundirte con los TStringList que son otro tipo de datos, como los TStrings, pero mejores (opinión mía). El método que te expliqué se llama de intercambio y es el más simple. Además, Neftali, no entiendo por que esto: Primero, no sabía que se podía ubicar un string en una lista así (TS[i]), pensé que se podía solamente con TS.Strings[i]. Segundo, para que almacenar ese string en un integer, para después copiarlo como string de nuevo. Es un paso en vano. ¿No sería mejor ListBox1.Items.Add(TS.Strings[i])? Saludos!! |
#6
|
||||
|
||||
Cita:
Mejor 2 que 1 ¿no? Si tienes algunas duda pregunta sin problemas. Cita:
Cita:
Como bien dices esto:
es equivalente a esto:
Aunque en realidad lo más simple y lo que yo hubiera hecho, hubiera sido esto (sin usar for):
Pero me pareció más simple. Tal vez al final lié la cosa...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
||||
|
||||
Cita:
Si son pocos números y el tema de velocidad no es muy importante, a veces he utilizado un TStringList a modo de intermediario. (0) Desactivar el orden del ListBox. (1) Copias todos los números al TSttingList pero formateandolos como cadenas con ceros a la izquierda; 00001, 00023, 00167,... (2) Mandas ordenar ese StringList, que en este caso los ordena como cadenas, pero con la ordenación numérica correcta. (3) Un for que los vuelve a copiar al ListBox convirtiéndolos a números. Ya se no, es nada "sofisticado" pero para 1000, 5000,... números es inmediato.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#8
|
||||
|
||||
Cita:
// Saludos |
#9
|
||||
|
||||
Cita:
Y ese sería aun mejor que el comentado antes. La verdad es que es de esas cosas que sabes que están ahí, pero que nunca usas. Es mi caso, no lo he usado nunca y en este caso simplificaría las cosas.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ordenación DBGRId | cmm07 | Varios | 5 | 14-04-2009 03:14:44 |
ordenacion Quicksort | Samurai | JAVA | 1 | 04-06-2007 23:12:21 |
ordenacion de un array mediante el metodo de la burbuja | baby | Varios | 11 | 08-05-2007 02:43:55 |
ordenacion arrays | halizia | PHP | 7 | 07-02-2007 10:47:03 |
DbGrid Con Ordenación | Rabata | Varios | 2 | 14-05-2005 15:26:28 |
|