Como se asignan valores directamente a un array dinamico?
Hermanos:
¿Cómo se asignan valores directamente a un array dinamico? por ejemplo var AD:array of Tbutton; begin AD:=[boton1,boton2,boton3] Claro que esto no funciona...pero bueno es la idea para no tener que estar haciendo AD[0]:=boton1, AD[1]:=boton2, etc. La curioso esta que si yo tengo una funcion donde paso parametros de esa manera para que se reciban en un array dinamico, asi si funciona...lo curioso es que si lo asigno asi directo...no jala. Alguna orientacion? Gracias. |
Algo así:
Código:
miArray := ('Juan', 'Pedro', 'Miguel'); |
No, asi no jala
Buenos días:
Nop asi no jala... |
Creas los botones dinamicamente (por codigo, por ejemplo en "OnCreate" del form en cuestion) y luego un bucle trivial:
Saludos |
Los botones ya existen, no requiero crearlos.
Lo que necesito saber es la forma de asignar de un solo golpe y directo los valores del array dinamico. Sin for. Quizas exista la forma. Lo curioso es que si mando un parametro asi en una funcion funcionasigna ([boton1,boton2]); y luego en la funcion los asigno a un array dinamico si los acepta.. es curioso no? |
Hola flystar, una forma de llenar un arreglo dinamico podría ser utilizando la función VarArrayOf:
pero creo que con TButtons no va a funcionar, porque se necesita un Variant. También puedes llenar tu arreglo de TButtons como te indica Archer. Saluditos |
ok
Ok voy a instentar esa
Gracias |
tampoco
Efectivamente no jala asi por que pide un variant.
Chale...debe existir una forma, ¿Cómo en un parametro si lo acepta? |
Solamente para aclarar.
Los array of algo en un parámetro a función y los array of algo con una variable declarada, no son lo mismo. El primero es un open array, y el segundo es un arreglo dinámico. Curiosamente en Delphi se puede construir un open array "al vuelo", pero no un arreglo dinámico... Vaya uno a saber por qué motivo. |
Cita:
Yo creo que lo que necesita flystar es esto.
Saludos Edito: Vaya pues no habia leído esto Cita:
|
Hola egopolice :), me alegra verte nuevamente por aquí amiguito ;).
Saluditos |
En resumen no se puede
En fin, parece que no hay manera directa.
Gracias por su apoyo |
Cita:
A flystar le llamaba la atención que si yo tengo una función que recibe un "array of Algo" puedo pasarle un arreglo "al vuelo".
Es decir que yo ahí estoy creando el arreglo [1, 2, 3, 4] directamente. Lo que flystar decía era, ¿porqué no se aplica la misma lógica cuando yo quiero asignarle eso a una variable común? (no parámetro de función). La explicacion es que cuando un parámetro está declarado en una función como "array of algo", eso es un open array, mientras que si una variable está declarada de la misma manera, eso es un arreglo dinámico. Que parecen lo mismo, pero no son. |
La franja horaria es GMT +2. Ahora son las 01:20:13. |
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