Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Concatenar propiedad de objeto con entero

Estas en el tema de Concatenar propiedad de objeto con entero en el foro de Visual Basic clásico en Foros del Web. Tengo el siguiente codigo: Text1.Backcolor = &HC000& Text2.Backcolor = &HC000& Text3.Backcolor = &HC000& Text4.Backcolor = &HC000& Sigue asi hasta 54, se ve bastante novato echo ...
  #1 (permalink)  
Antiguo 16/06/2009, 12:05
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Concatenar propiedad de objeto con entero

Tengo el siguiente codigo:

Text1.Backcolor = &HC000&
Text2.Backcolor = &HC000&
Text3.Backcolor = &HC000&
Text4.Backcolor = &HC000&

Sigue asi hasta 54, se ve bastante novato echo de esta manera quisiera saber si existe alguna forma de hacer esto concatenando "Text" + "numero" , lo hice con "+", con "&" usando un for de 1 a 54 de esta forma

For a = 1 to 54
Text + a.Backcolor = &HC000&
Next a

me da error

Tambien lo hice asi:
For a = 1 to 54
Text + CStr(a).Backcolor = &HC000&
Next a

Tambien me da error.

Esto es para cambiar el fondo de 54 Textbox que tengo en un formulario.
Gracias por quien pueda ayudarme.
  #2 (permalink)  
Antiguo 17/06/2009, 04:29
 
Fecha de Ingreso: junio-2008
Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Concatenar propiedad de objeto con entero

para hacer un ciclo FOR deberias indexar los textbox. Para hacerlo de una forma sencilla, ponele a todos los textbox (a esos 54) el mismo nombre, es decir ke los 54 se llamen text1 por ejemplo. Cuando le quieras cambiar el nombre y colocar el mismo, te va a preguntar si queres crear un indice, dale quee si. Vas a notar que si bien el nombre es igual, va a aparecer un par de parentesis con un numero. este numero es el indice o index.
te quedaria de esta forma:
Text1(0).backcolor
Text1(1).backcolor
Text1(2).backcolor
....
Text1(53).backcolor


ahi, y solo recien cuando tengas esto, el ciclo FOR te va a funcionar

FOR a = 0 To 53
Text1(a).backcolor = &HC000&
Next
  #3 (permalink)  
Antiguo 17/06/2009, 05:58
Avatar de KeiDash  
Fecha de Ingreso: septiembre-2005
Mensajes: 114
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Concatenar propiedad de objeto con entero

Cita:
Iniciado por tipsy Ver Mensaje
Tengo el siguiente codigo:

Text1.Backcolor = &HC000&
Text2.Backcolor = &HC000&
Text3.Backcolor = &HC000&
Text4.Backcolor = &HC000&

Sigue asi hasta 54, se ve bastante novato echo de esta manera quisiera saber si existe alguna forma de hacer esto concatenando "Text" + "numero" , lo hice con "+", con "&" usando un for de 1 a 54 de esta forma

For a = 1 to 54
Text + a.Backcolor = &HC000&
Next a

me da error

Tambien lo hice asi:
For a = 1 to 54
Text + CStr(a).Backcolor = &HC000&
Next a

Tambien me da error.

Esto es para cambiar el fondo de 54 Textbox que tengo en un formulario.
Gracias por quien pueda ayudarme.
Si es en un winForms es mas bonito hacerlo asi, recorriendo los controles del formulario:



Código:
Dim lControl as textBox
    
For Each lControl In Me.Controls
      If TypeOf mCnx Is textBox Then
            lControl.Backcolor =  &HC000&
      End If
Next
  #4 (permalink)  
Antiguo 17/06/2009, 10:37
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Concatenar propiedad de objeto con entero

Bueno, en el ejemplo que te pone KeiDash debes declarar en la instrucción Dim la variable lControl como Control y no como TextBox:

Código vb6:
Ver original
  1. Dim lControl As Control  ' <--
  2.  
  3. For Each lControl In Me.Controls
  4.     If TypeOf lControl Is TextBox Then
  5.         lControl.BackColor = &HC000&
  6.     End If
  7. Next

  #5 (permalink)  
Antiguo 22/06/2009, 12:11
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Respuesta: Concatenar propiedad de objeto con entero

Der verdad muchas gracias no tenia idea de que existian tantas formas diferentes de hacer lo mismo, otra pregunta en el ejemplo que pone KeiDash, como diferencio los 54 textbox en los que tengo que aplicar la funcion, de otros 10 donde no se tiene que aplicar.
Gracias de antemano
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:55.