FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
punteros o array dinámico
Hola!
estoy haciendo una pequeña aplicación que lee datos de tipo record de unos ficheros y luego tiene que interactuar con estos datos. Mi duda es: ¿es mejor que cargue estos datos en un array dinámico o uso punteros? ¿Qué os sugiere vuestra experiencia? Muchas gracias! Un saludo, Jon |
#2
|
||||
|
||||
Te recomiendo que uses las clases TList o TObjectList. Los punteros son liosos si no sabes perfectamente cómo funcionan, y aun así tienes que andarte con mil ojos para no meter la pata. Las listas dinámicas no ofrecen la flexibilidad de una clase ni por asomo. No es que TList ni TObjectList sean la panacea, pero funcionan muy bien, oyes.
Busca información sobre las dos clases que te recomiendo, que creo que por aquí las hemos comentado. |
#3
|
||||
|
||||
También puedes utilizar un array dinámico, pero al igual que Ñuño, te desaconsejo los punteros, por lo lioso.
__________________
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. Última edición por Neftali [Germán.Estévez] fecha: 13-05-2010 a las 18:20:18. |
#4
|
|||
|
|||
gracias a ambos!
yo he solido usar los punteros con frecuencia, pero a pesar de ello, creo que son un lío . Leeré sobre TList, y si no convence, array dinámico y a correr! Muchas gracias monstruos! Un saludo, jon |
#5
|
||||
|
||||
Un pequeño apunte:
Si sólo vas a añadir elementos a la lista y sólo vas a destruirlos al final todos "a la vez", entonces con un array dinámico tienes de sobra. TList y TObjectList están diseñados más bien para cuando vas a estar añadiendo, quitando, moviendo, limpiando, ordenando, etc. |
#6
|
|||
|
|||
Gracias Ñuño!
efectivamente, van a ser "destruidos todos a la vez". Probaré con el array dinámico. Muchas gracias, Un saludo, jon |
#7
|
|||
|
|||
problemita para extraer un objeto de una lista
he hecho una clase que permite administrar un array de Tobject utilizando punteros(similar a TobjectList). Mi idea era hacer un array dinámico que me permitiese almacenar objetos del mismo tipo, por ejemplo, una lista de botones, o una lista de labels, etc. Hasta ahí va bien el asunto, pero me he trabado en lo siguiente: supongamos que ya tengo generada la lista de botones, pero cuando quiero extraer o leer un item de la lista, que es un objecto de la clase(tobject) y almacenarlo en un objeto de la clase Tbutton, me lanza un error y dice que son tipos incompatibles.
Es decir, me permite almacenar una instancia de la clase Tbutton en una variable de tipo Tobject pero no me permite lo opuesto. Espero q se haya entendido , saludos. |
#8
|
||||
|
||||
Hola rojo raton y bienvenido a los foros de Club Delphi.
Siempre conviene abrir un nuevo hilo para tu consulta ya que incrementa las posibilidades de obtener respuestas. También ayuda mucho agregar las declaraciónes y la parte del código que está generando el problema. (Demás está decir que exponer exáctamente el mensaje de error que estás recibiendo, es una de las mejores orientaciones a quién está leyendo tu mensaje) Según entiendo de tu consulta, tenés declarado un array de TObject (llamémosle ObjArray), en el que has almacenado algunos TButtons y el problema se te presenta cuando queres trabajar con alguna propiedad de ObjArray[n] como si del TButton almacenado se tratara. Si no te comprendí mál, creo que tendrías que moldear el elemento ObjArray[n] al tipo con el cuál querés trabajar. Es decir y simplificando mucho: Otro ejemplo:
Por último, como siempre aconsejamos a los recién llegados, te invito a que leas la Guía de estilo, un conjunto de sugerencias para que todos podamos entendernos mejor. Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 03-10-2011 a las 09:33:44. Razón: Añadir ejemplo |
#9
|
|||
|
|||
Has entendido mi problema!!! y tu respuesta es correcta. Eternamente agradecido, no sabia de que forma moldear una instancia de Tobject a un objeto en particular.
Si, me olvidé de leer la guia de estilo ahora le echo un mirada. Gracias ecfisa!!. un abrazo. |
#10
|
||||
|
||||
Hola.
Otra forma de "moldear" que me gusta más es usar "AS": Es exactamente lo mismo, pero a mi me gusta más. De la otra forma parece que estás llamando a una función. Pero esto ya son gustos personales. |
#11
|
|||
|
|||
Si, pareciera que estás llamando a una función pero me doy cuenta que en realidad es algo así como "mirar" una instancia de Tobject como si fuese un objeto Tbutton. Bueno ambas maneras de hacerlo funcionan de maravilla.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda! Array dinámico | Cristalero | Varios | 3 | 01-04-2009 12:56:14 |
Array Dinamico | Gizhe | JAVA | 4 | 04-07-2008 20:39:46 |
Punteros a ARRAY | Ñuño Martínez | Varios | 3 | 15-11-2007 15:53:40 |
Array Dinamico | VRO | Varios | 6 | 14-06-2005 12:40:16 |
Array Dinamico | senpiterno | Varios | 4 | 22-07-2004 18:37:06 |
|