Almacenar y recuperar objetos en listas
Buenas, resulta que tengo un StringList y quiero ponerle un valor y un objeto, hasta ahí no tengo drama (creo)
A los datos los recupero desde una query. Guardo en la parte del objeto, un string.
Esto no me dá ningún error, pero a la hora de visualizarlo hago lo siguiente:
En p2 devuelve basura. ¿Qué estoy haciendo mal? Gracias. |
santiago14,
Cita:
Revisa este código: El código anterior en Delphi 7 bajo Windows 7 Professional x32, ejemplifica el uso del método AddObject en una variable TStringList. Revisa esta información: Espero sea útil :) Nelson |
Gracias Nelson, es muy útil.
Lo raro es que al principio hice algo parecido a lo que indicas y no tuve suerte. Bueno, voy a afinar el lápiz y les cuento. Santiago. |
Hola Santiago.
Cita:
Tenes varias maneras de lograr lo que buscas: Usando un TStrings y un arreglo, como en el ejemplo que te puso Nelson.
Usando una clase:
Con dos TStrings.
Mediante un array dinámico. Particularmente considero los dós últimos códigos mas naturales, sin necesidad de forzar tipos através del uso de moldeos. Saludos :) |
Vaya monstruos delphi estáis hechos... yo seguiré con lo mio: aconsejar leer la guía de estilo, con ese cumplo :rolleyes:
|
Cita:
Un par más a las que ya ha añadido ecfisa (he tomado su código como base): (1) Es usando sólo el TStringList y utilizar el "formato" de Name=Value. Pare ello están las propiedades Names y Values de TStrings. Seguramente no es el más adecuado si tienes miles de registros.
(2) La segunda es utilizando un Record. En este caso el Record tendría solo la descripción, ya que el Tipo lo añadimos como cadena en el TStringList, pero sería útil si en el record hubiera que almacenar más datos.
|
Lo dicho, monstruos :p
Este hilo puede que esté bien "adherirlo" arriba (ponerle la chincheta o como se le llame), cambiándole el título a algo más... académico. A ver si algún moderador lee esto y lo hace :) pd: es que no se me ocurre un título descriptivo y no quiero enviarme un mensaje diciendo que escriba un título descriptivo porque entraría en un bucle sin fin :eek: |
Vamos por otro... :)
Y otro:
... Saludos :) |
Buen y descriptivo título :)
|
Cita:
Esto es programación pura y dura... Ponte un flag para evitar la reentrada. ;) |
santiago14,
Cita:
Revisa estas variantes al código propuesto en el Msg #2 y que siguen la línea de diversas opciones propuestas en este hilo a tu requerimiento: El código anterior en Delphi 7 bajo Windows 7 Professional x32, ejemplifica diferentes métodos para el manejo de listas de datos. Nota: La entrada de datos es simulada con los arreglos de constantes A1 y A2 para facilitar las pruebas del código propuesto. Espero sea útil :) Nelson. |
santiago14,
Continuación del Msg #11 :rolleyes: Revisa estas variantes complementarias al código propuesto en el Msg #2 y que siguen la línea de diversas opciones propuestas en este hilo a tu requerimiento: El código anterior en Delphi 7 bajo Windows 7 Professional x32, ejemplifica diferentes métodos para el manejo de listas de datos. Nota: El ejemplo basado en el tipo TStack no se adapta a tu requerimiento por ser una pila (LIFO-Last In First Out), fue puesto solo como complemento del ejemplo con el tipo TQueue (FIFO-First In First Out), el cual se adapta a lo solicitado. Espero sea útil :) Nelson. |
¡Qué completo y didáctico está resultando este hilo!
Incluso se podría preparar un sencillo tutorial explicando cada una de las propuestas planteadas, con sus ejemplos, código homogéneo, etc. Pero eso para quien tenga tiempo y ganas :rolleyes: |
La franja horaria es GMT +2. Ahora son las 08:41:09. |
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