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
Ir a la versión completa