![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Así, a bote pronto, lo único que se me ocurre es que declares la función OrdenarPorDocumento fuera del evento Button2Click. Es posible que los procedimientos locales no se puedan pasar como parámetros. Nunca lo he intentado.
// Saludos |
|
#2
|
|||
|
|||
|
Gracias roman por tu orientación.
Veré si puedo solucionar el problema. Saludos. |
|
#3
|
||||
|
||||
|
Desempolvando los algoritmos de inserción binaria, podemos hacer una rutina que inserte los objetos en orden:
Por ejemplo, puedes definir la función comparadora:
al momento de insertar:
// Saludos |
|
#4
|
|||
|
|||
|
Excelente roman. Personalmente yo usaba búsqueda e inserción binaria en Pascal estándar con arreglos (listas estáticas), pero no con listas dinámicas (listas enlazadas). El hecho de tener en TObjectList un campo que indiza cada nodo facilita mucho las cosas.
Por otro lado, el inconveniente que tenia con la función comparadora lo solucioné con el llamado Código:
Lista.Sort(@ComparaClientes); Código:
Lista.Sort(ComparaClientes); Saludos. |
|
#5
|
||||
|
||||
|
Otra opción que a veces utilizo yo y que resulta más rápida de implementar, aunque es posible que no tan eficiente, cuando se requiere algo similar a lo que planteas (objetos + campo de ordenación) es utilizar un TStringList.
Utilizo el campo como String (para definir la ordenación) y los objetos se almacenan en la propiedad Objects. Sólo se puede utilizar si la conversión del campo se puede hacer a un string y la ordenación de este tipo es la correcta para el resultado esperado.
__________________
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. |
|
#6
|
||||
|
||||
|
Cita:
En otro tenor de cosas, no sé si el compañero sebamawa ha considerado el uso de una bse de datos. A veces se enreda uno implementando estructuras de datos para guardar información que perfectamente podría manejarse con una base. // Saludos |
|
#7
|
|||
|
|||
|
Estimados amigos, agradezco de sobremanera la ayuda y las sugerencias proporcionadas por parte de ustedes.
Respecto a Cita:
Ya que estoy en este tema, me podrán recomendar un buen manual de Delphi donde pueda estudiar. Si estuviera su versión digital para descarga sería fantástico. Gracias y saludos. |
|
#8
|
||||
|
||||
|
Cita:
// Saludos |
|
#9
|
||||
|
||||
|
Hola.
Hice unas pruebas y si la función pasada como argumento está fuera del procedimiento/función (que es como la he usado anteriormente) se la puede llamar:
Ahora, enviando como argumento la dirección de la función como menciona sebamawa, y figura en el ejemplo de la ayuda de Delphi: la llamada trabaja tanto si la función es anidada como si es externa. También es muy interesante tu enfoque Neftali ![]() Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| adotable ordenado por un campo | leorene | Conexión con bases de datos | 2 | 13-02-2007 01:00:16 |
| Select ordenado por un campo pero localizado por otro | ingel | SQL | 2 | 04-01-2006 17:33:23 |
| Imprimir el listado ordenado por un campo | ilichhernandez | Impresión | 3 | 03-11-2005 19:44:13 |
| DBLookupComboBox ordenado | Supermagayin | Conexión con bases de datos | 2 | 12-04-2005 00:18:33 |
| Grid ordenado al añadir registro | Tomás | Varios | 0 | 13-03-2004 14:58:02 |
|