Hola a todos.
Como les va... esperoq ue bin y que puedan ayudarme jejeje..
Ando teniendo el siguiente inconveniente:
Tengo un programa que tiene en un formulario 10 cuadros de imagenes.. Se llaman i1, i2, i3, i4 , etc etc.
Por otro lado tengo un contador que va de 1 a 10.
Entonces para probar puse:
resultado = 1
cuadro = i & resultado
Esto hace que cuadro valga i1 .. En realidad vale i 1, o sea, con espacio, que tengoq ue arreglarlo tambien. Si alguno sabe como hacerlo por favor, me explica jeje..
Bueno, el prbolema general es que:
Necesito que con un While, en cada vuelta use la variable cuadro para llamar a cada cuadro de imagen...
Por ejemplo, cunado sea la primer vuelta, cuadro va a valer i1, entonces quiero usar la siguiente sintaxis:
cuadro.Picture = LoadPicture("bla bla")
como cuadro = i1, me quedaria:
i1.Picture = LoadPicture....
Cuando sea la segunda vuelta, cuadro va a ser i2, entonces:
cuadro.Picture= ...
va a valer
i2.Picture= ....
El problema es qe no esta funcionando bien ya que me dice "Object Requiered"... Sinceramente no la cazo tanto como para saber que es lo que pasa por eso les estoy preguntando jejeje...
Si alguno sabe, por favor me da una mano
Un saludo para todos
PD: la variable cuadro la defini en el general como String
Adio!
Hola,
Deberias leer sobre variables y referencias a objetos.
Al hacer cuadro = i & resultado no se transforma en i1 (cuando resultado = 1) sino que se transforma en el valor de i AND 1 (ese AND es una operacion logica).
Una forma es mas o menos usando tu esquema pero no asignar directamente (ya que no funciona por lo comentado antes) sino que usar una funcion que te devuelva el objeto basado en el nombre... algo asi como:
Dim cuadro As [el mismo tipo que los i]
...
Set cuadro = Form1.Controls("i" & resultado) '[fijate el nombre de tu Form por si no es Form1]
Eso al menos en vb6 deberia funcionar. Sino googlea por "obtener control por nombre".
Quizas otra forma de lograr lo que vos queres (o sea, iterar sobre los cuadros de imagenes) seria tener un array de cuadros; de este modo tendrias cuadro[resultado].loadPicture("blah blah")
Baii
Muchisimas gracias por tu respuesta.
Hice como me dijiste al final con el Array...
Igualmente te corrijo una pavada, (solo por si a alguien también le sirve): No van [] en el array, sinó que van (). Es decir:
cuadro(resultado).loadPicture("blah blah")
Saludo y mil gracias
Cita de: djuanv en Febrero 26, 2009, 12:45:36
Igualmente te corrijo una pavada, (solo por si a alguien también le sirve): No van [] en el array, sinó que van ().
Gracias por la correccion, se me mezclo con el modo de subindicar de otro lenguaje (PHP para ser mas exacto); y me alegro que hayas resuelto el problema.
Baii