Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: silmacper en Jueves 9 de Octubre de 2008, 22:51
Título: Como pasar un array de TextBoxes como parámetro a un Sub
Publicado por: silmacper en Jueves 9 de Octubre de 2008, 22:51
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
Título: Re: Como pasar un array de TextBoxes como parámetro a un Sub
Publicado por: F_Tanori en Jueves 9 de Octubre de 2008, 23:35
Aqui hay una opcion enviarlo como objeto, no como control ya que no todos los controles tienen las mismas propiedades
Código: Visual Basic
PrivateSub Command1_Click()
delete Text1
EndSub
Sub delete(ByRef textbox AsObject)
Dim i AsInteger
For i = textbox.LBoundTo textbox.UBound
textbox(i).Text = ""
Next
EndSub
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
Título: Re: Como pasar un array de TextBoxes como parámetro a un Sub
Publicado por: silmacper en Viernes 10 de Octubre de 2008, 00:28