Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: Bazooka en Diciembre 26, 2010, 08:59:04 am
-
Hola tengo ojetos llamados f1, f2, f3, etc asi hasta 271 y en un momento necesito cambiarles las propiedades si se dan ciertos parametros. Ahora mi pregunta es si tengo una cadena como esta "f1" es posible convertirla de alguna manera en la referencia a ese objeto para poder hacer esto f1.backColor=255 ??
Es un poco complicado de explicar pero es la unica forma que tengo para resolver mi codigo por que no puedo utilizar bucle for each en el control que utilizo.
Gracias!!
-
lo del bucle for each es una manera, pero te recomiendo que crees un solo objeto objF y le pongas index, es decir, crees un array de objetos y podes ubicarlos por objF(index).
saludos!
-
Hola gracias por responder pero no puedo por que esto lo estoy utilizando en un Report de DataDinamyc que no soporta matriz de controles (objF(index) ni es posible referirme a los campos fields en un bucle for ezch los tengo que recorrer uno a uno..!!!
-
Con el control de script podes hacer referencia a controles enbase a "texto" que en este caso seria el codigo a ejecutar por el script control.
-
Perdon Cobein pero no te entiendo... cual es control script?
-
No lo se usar bien, pero me parece CallByName deberia funcionar
-
http://www.rookscape.com/vbgaming/tutBQ.php
-
Muchisimas gracias!!! Esta de 10!
-
Hola!! como lo hiciste, tengo el mismo problema y el enlace esta roto. Gracias
-
Hola!! como lo hiciste, tengo el mismo problema y el enlace esta roto. Gracias
Yo lo resolvi con algo asi!!
ojala te sirva !
For n = 1 To UBound(arr) 'Params.CABEZAS
If IsNumeric(arr(n - 1)) Then
If arr(n - 1) = "0" Then
Fields("t" & n).Value = Params.RELLENO
Call RellenaObjeto(n, True, (arr(n - 1)))
Else
Fields("t" & n).Value = arr(n - 1)
Call RellenaObjeto(n, True, (arr(n - 1)))
End If
Else
If arr(n - 1) = "" Then
'arr(n - 1) = "0"
Call GuardaNumeracion(arr(n - 1))
' Debug.Print pageNumber
Else
Call GuardaNumeracion(arr(n - 1))
End If
End If
Next
-
Gracias por responder tan rápido
Bueno, estoy trabajndo con VB2010 asi que creo que no voy a funcionar.
Al final lo hice asi, aunque a veces me ha dado error y el objetoA se queda vacio, y no se porque
Dim objetoA as Object
For x = 1 to 20
objetoA = Me.Controls("PictureBox_" & x) 'PictureBox_1, PictureBox_2, PictureBox_3 ..........
objetoA.Image = Image.FromFile(Application.StartupPath & "/Imagen_" & x & ".png")
Next
-
Appliacation o Application ??
-
Application ;)