Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Ayuda Con Ciclo
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Ayuda Con Ciclo 
 
Hola.....!!! soy nuevo jejejejeje Espero me Puedan Ayudar...!

Básicamente lo que quiero es resumir el código de limpieza de un formulario, tengo una función que se llama limpiar


PUBLIC SUB limpiar()
  DIM i AS Integer

  TextBox1.Text = ""
  TextBox2.Text = ""
  TextBox3.Text = ""
  TextBox4.Text = ""
  TextBox5.Text = ""
  TextBox6.Text = ""
  TextBox7.Text = ""
  TextBox8.Text = ""
  
END
 

y lo que Quiero Hacer es algo como esto para ahorrar lineas de programación pero no me funciona, alguien sabe que estoy haciendo mal?

PUBLIC SUB limpiar()
  DIM i AS Integer

  FOR i = 1 TO 8
    TextBox & Str(i) & .Text = ""
    i = i + 1
  NEXT
  
END
 

Espero de su Ayuda Gracias de Ante Mano.......!

Nota en la siguiente Linea:

TextBox & Str(i) & .Text = "" '<- me da Este Error: Syntax Error. Point syntax used outside of WITH/END WITH
 

 



 
jesusdaredevil - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Ciclo 
 
No sé si ya lo han respondido en otro tema, pero puedes hacen un TextBox[], y recorrerlo. Así:

Código: [Descargar] [Ocultar]
  1. Public Sub ClearTxtBoxes()
      
  2.  
  3.  Dim hola As TextBox[], i As Integer
      
  4.  
  5.   hola = New TextBox[]
      
  6.   hola = [TextBox1, TextBox2, etc]
      
  7.  For i = 0 To hola.max
      
  8.     hola[i].clear()
      
  9.  Next
      
  10.  
      
  11. End


Ahora bien, si comparten el mismo contenedor, y justamente quieres limpiar todas las de éste...

Código: [Descargar] [Ocultar]
  1. Public Sub ClearTxtBoxes()
      
  2.  
      
  3.  Dim i As Integer
      
  4.  
      
  5.  For i = 0 To Contenedor.Children.Count - 1
      
  6.     If (Object.Class(Contenedor.Children[i]).Name = "TextBox") Then
      
  7.         Object.Call(Contenedor.Children[i], "Clear")  
      
  8.     Endif
      
  9.     
      
  10.  Next
      
  11.  
      
  12. End

 



 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Ciclo 
 
Gracias....!! Ayortano  

Aqui te dejo algo que Consegui.... creo que es un poco mas Sencillo....! Salu2....!

PRIVATE SUB borrar_textbox(formulario AS form)
  DIM Ctrl AS Object
  'Cada formulario tiene asociada un colección llamada Controls.
  FOR EACH Ctrl IN formulario.Controls
    'En cada iteración a Ctrl le es asignado uno de los elmentos de Controls,
    'es decir una referencia a un control del formulario.
    IF Ctrl IS TextBox THEN Ctrl.Clear  
  NEXT
END SUB
 


y simplemente lo llamo asi:

borrar_textbox(senso) 'donde senso es el Nombre del Formulario

 



 
última edición por jesusdaredevil el Lunes, 04 Abril 2011, 01:41; editado 1 vez 
jesusdaredevil - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Ciclo 
 
Interesante solucion....

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Ciclo 
 
Bienvenido a la comunidad.

Pues si, la solución es bastante buena y nos recuerda el uso del For Each que a veces lo tenemos olvidado.
Es perfecto para este caso.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Ciclo 
 
Volviendo al ejemplo.

Si declaras la variable objeto Ctrl como TextBox, estas diciendo la clase de objeto que quieres que sea.
A la hora de comparar en el "IF Ctrl is TextBox" en vez de .Clear, puedes ver en la lista desplegable todas las propiedades del control.
En este caso .Clear o .Txt=""

Si lo haces de la otra manera no sabes realmente lo que puedes poner.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Ciclo 
 
Re-contras...

Pues no, si hago eso, me esta pidiendo una caja de texto y le paso un formulario.
Ale, por aprendiz de brujo.

Es que me gusto mucho tu ejemplo.La prisa no es buena consejera.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Ayuda Y Mas Ayuda, Con Programar Fecha luisrel Controles/Librerías/Componentes 2 Viernes, 03 Diciembre 2010, 15:50 Ver último mensaje
luisrel
No hay nuevos mensajes Gambas3.4(Casi).Ventana De Ayuda Y Ayuda O... Shell Instalación 3 Martes, 22 Enero 2013, 00:23 Ver último mensaje
Shell
No hay nuevos mensajes Ayuda. mauricio785 Controles/Librerías/Componentes 4 Miercoles, 12 Octobre 2016, 00:42 Ver último mensaje
vuott
No hay nuevos mensajes Ayuda Online, Ayuda Offline Shell General 1 Jueves, 20 Octobre 2016, 13:30 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron