Programación General > Visual Basic 6.0 e inferiores

 Como pasar un array de TextBoxes como parámetro a un Sub

(1/1)

silmacper:
Hola a todos !

Estoy trabajando con forms que tienen varias cajas de texto, y se me ocurrió agruparlas en arrays de controles para facilitar las tareas en comun como validar e inicializar.
En un form tengo 3 textboxes en un array de controles, y un boton que les tiene que borrar su contenido.

Lo que quiero hacer es lo siguiente: en el onClick del boton, quiero pasar el array de textboxes como parametro a un Sub que les borra su contenido.

Este es el código que tengo:

Private Sub Command1_Click()
   Call delete(Text1())
End Sub

Sub delete(ByRef textbox() As Control)
   Dim i As Integer
   For i = 1 To 3
      textbox(i).Text = ""
   Next
End Sub

El problema es que presionar el botón command1 me da el siguiente error:
Error de compilación: Error de tipo: Se esperaba una matriz o un tipo definido por el usuario.

Si alguien sabe donde esta mi error y me puede dar una mano con esto, desde ya le agradezco mucho!

Silvana

F_Tanori:
Aqui hay una opcion enviarlo como objeto, no como control ya que no todos los controles tienen las mismas propiedades


--- Código: Visual Basic --- Private Sub Command1_Click()   delete Text1End Sub Sub delete(ByRef textbox As Object)    Dim i As Integer    For i = textbox.LBound To textbox.UBound        textbox(i).Text = ""    NextEnd Sub 

Comentarios:

El procedimiento no deberia llamarse delete pues no elimina el objeto deberia tener otro nombre (aunque esto no afecta, es por entendimiento) ejemplos: deleteText,Erase,CleanTextBox etc. :P , pues se entiende como eliminar el objeto


Saludos

silmacper:
Hola,

Me funcionó perfecto tu explicación.

Muchisimas gracias F_Tanori !

Navegación

[0] Índice de Mensajes

Ir a la versión completa