Visual Basic - vbscript: ID de objeto como variable

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

vbscript: ID de objeto como variable

Publicado por Borja (2 intervenciones) el 01/02/2017 12:33:07
Buenos días a todos:

Estoy trabajando sobre una VIsta, dentro de un software SCADA, que emplea lenguaje VBscript; y mi duda es la siguiente:

Tengo varias cajas de edición (40 en total):

cajas-de-edicion


Con estas propiedades:

cajas-de-edicion-prop


El ID de estos objetos sigue un orden correlativo: txt_OP1, txt_OP2, txt_OP3,... txt_OP40.


El problema es el siguiente:

Cuando pulso un botón, quiero interactuar con las cajas de edición, una por una. Por ejemplo, quiero saber si están vacías o llenas. Puedo ir una por una, aplicando esa función de la siguiente manera

(...)
Call FUNCION_VACIAS_LLENAS(txt_OP1.Text)
Call FUNCION_VACIAS_LLENAS(txt_OP2.Text)
Call FUNCION_VACIAS_LLENAS(txt_OP3.Text)
...
Call FUNCION_VACIAS_LLENAS(txt_OP40.Text)
(...)

El caso es que, ya que los ID de esos objetos siguen un orden correlativo, me gustaría poder aplicar esta función de ejemplo dentro de un bucle; como podría ser así:

For i = 1 To 40
Call FUNCION_VACIAS_LLENAS(txt_OP&i.Text)
Next

(Supongo que gramaticalmente estas 3 líneas de código seran incorrectas).

¿Es esto posible de alguna manera en VBscript?¿Puedo poner el ID de un objeto como una variable para que funcione dentro de un bucle simple?

A continuación os dejo un ejemplo de código que NO FUNCIONA:

Prueba-2

Prueba-1


Muchas gracias a todos por su colaboración y enhorabuena por el foro.

Un saludo,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

vbscript: ID de objeto como variable

Publicado por Andres Leonardo (1798 intervenciones) el 01/02/2017 14:56:10
El tema es que los textos deberian tener INDEX es decir una matriz de controles y ahi si podrias tener el

txt_op(i)

mira en VBScrip matrices de controles espero te ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil

vbscript: ID de objeto como variable

Publicado por Borja (2 intervenciones) el 03/02/2017 11:11:36
Buenos días, Andrésr:

Lo que propones, como idea es correcta, y buscando un poco sobre matrices de controles he encontrado algo:

a) https://msdn.microsoft.com/es-es/library/kxt4418a(v=vs.90).aspx

b) http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=219:matrices-o-arrays-de-controles-arreglos-en-visual-basic-y-vbnet-concepto-y-ejemplo-de-codigo-cu00320a&catid=37:curso-aprender-a-programar-visual-basic-desde-cero&Itemid=61


Pero lamentablemente estas soluciones no las puedo aplicar por el simple hecho de que estoy empleando VISUAL BASIC SCRIPT, y no VISUAL BASIC 6.0 etc,...


¿Alguien ha implementado algo así en VB SCRIPT? ¿Ejemplo de código?


Gracias de todos modos por proponer algo Andrés.

Un saludo a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

vbscript: ID de objeto como variable

Publicado por Andres Leonardo (1798 intervenciones) el 03/02/2017 15:53:14
Ahh perdon

Podrias intentar usar

FOR EACH CONTROL quizas eso si haya en VBS podrias revisar???

asi validas si son txt y mandas a lalmar a la funcion con el control

Slaudos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar