SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: noldo en Miércoles 7 de Febrero de 2007, 07:51

Título: Duda Con El Text.box
Publicado por: noldo en Miércoles 7 de Febrero de 2007, 07:51
Hola, yo molestando otra vez :(

Tengo 5 Text.box, y los datos que voy a ingresar son impresindibles en el Text1.box, text2.box y text3.box, no así en los 2 restantes......

mi pregunta, como hago eso, los text.box tienen alguna propiedad que ayuda en aquello??? o debo editar alguna función?????
Título: Re: Duda Con El Text.box
Publicado por: abelsql3000 en Miércoles 7 de Febrero de 2007, 16:05
Bueno amigo para lograr lo que estas pidiendo debes programar en los procedimientos eventos adecuados, pues la validacion se hara quieras o no, al efectuarse una accion, en este caso yo evaluo la informacion de los textbox a la hora que piede el foco (LostFocus)
Te muestro un ejemplo, para ello crea la siguiente interface
(http://img233.imageshack.us/img233/7370/desarrollo0co8.jpg)
Colocale los siguientes nombres para los objetos
(http://img231.imageshack.us/img231/4225/desarrollois5.jpg)
Copia el siguiente codigo y pegalo en el Editor de codigo (F7)

Private Sub txtcorreo_LostFocus()
If txtcorreo = "" Then
MsgBox "Se requiere este dato", vbOKOnly, "Alerta"
txtcorreo.SetFocus
End If
End Sub

Private Sub txtcontra_LostFocus()
If txtcontra = "" Then
MsgBox "Se requiere este dato", vbOKOnly, "Alerta"
txtcontra.SetFocus
End If
End Sub

Private Sub txtapenom_LostFocus()
If txtapenom = "" Then
MsgBox "Se requiere este dato", vbOKOnly, "Alerta"
txtapenom.SetFocus
End If
End Sub

-----------------------------------------------------
Espero que esto es lo que desees y no te apenes al hacer consultas aqui en este foro, que no te averguense preguntar, averguenzate al permanecer callado sin preguntar, uno aprende de los errores, aqui nadie debe pecar de soberbio, sino que debe caracterisar siempre la humildad para todo, solo asi se logra gandes cosas, ya que Dios resiste a los soberbios pero a los humildes él los exalta
Suerte atte Abel de Lima, Perú
Título: Re: Duda Con El Text.box
Publicado por: Mollense en Miércoles 7 de Febrero de 2007, 16:16
Yo te recomiendo que las comprobaciones las hagas en el botón "Aceptar" o como se llame.
Ya que de lo contrario, de la forma que dice Abel, un textbox nunca va a perder el foco y si el usuario se arrepiente y quiere cerrar el formulario puede llegar a ser un poco molesto.-
Las comprobaciones son similares a las que te ha mostrado Abel.-

Saludos
Título: Re: Duda Con El Text.box
Publicado por: ElNapster en Miércoles 7 de Febrero de 2007, 16:27
Código: Text
  1. Yo te recomiendo que las comprobaciones las hagas en el botón "Aceptar" o como se llame.
  2. Ya que de lo contrario, de la forma que dice Abel, un textbox nunca va a perder el foco y si el usuario se arrepiente y quiere cerrar el formulario puede llegar a ser un poco molesto.-
  3. Las comprobaciones son similares a las que te ha mostrado Abel.-
  4.  

Yo opino lo mismo, la validacion hazla en el boton "aceptar", porque de que te sirve validar una por una si lo puedes hacer de una vez todo cuando le click al boton...  ;)
Título: Re: Duda Con El Text.box
Publicado por: ArKaNtOs en Miércoles 7 de Febrero de 2007, 19:48
De hecho yo las hago en ambas, algo asi como los formularios de registro web, mientras se va llenando el textbox, vas validando si la cadena o caracteres ingresados son correctos, asi no esperas a que el usuario pulse aceptar para que detecte que hizo una mala accion ;) :hola:
Título: Re: Duda Con El Text.box
Publicado por: F_Tanori en Jueves 8 de Febrero de 2007, 08:33
Aqui nadie molesta, mientras no se pidan tareas :P


Lo que se ha opindado aqui es muy cierto  :smartass:  pero hay varias formas de hacerlo y aqui hay otra

no es text.box es Textbox (sin el punto)


puedes establecer en un modo la ventana por ejemplo en ModoCaptura o ModoEdicion puede ser una variable 'global en el form' (de instancia) entonces cuando se va capturar la activas ejemplo

Código: Text
  1.  
  2. Private Sub cmdNvo_Click()
  3.     ModoCaptura=True
  4. End Sub
  5.  
  6.  


si quieres validar cada textbox yo te recomiendo el evento Validate que es primero en el orden de ejecucion que tambien acertadamente te comenta Abel (LostFocus)

Para que este evento 'funcione' el textbox debe de tener la propiedad CausesValidation en True


entonces seria algo asi

Citar
Private Sub Text1_Validate(Cancel As Boolean)
  If  trim(Me.Text1.Text) = "1" Then
      MsgBox "Cualquier dato excepto el 1"
      Cancel = True
  End If
End Sub


Establecer la variable Cancel en Verdadero indica que  no paso la validacion esto impedira que el textbox pierda el enfoque

Claro que es conveniente tener el boton para salvar o aceptar los cambios  y al guardar estarias la informacion iria "validada" como lo da a entender ArKantos

no creo que quieras estar guardando cada vez que se cambia de textbox o que modifica uno :S

Si el usuario se arrepiente y cierra la ventana, no importa si el control pierde el enfoque o no al fin y al cabo si cierra la ventana es que no quizo hacer cambios :P

y lo pudieras validar asi


Citar
Private Sub Form_Unload(Cancel As Integer)
    If ModoCaptura Then
        If MsgBox("¿Desea salir de la captura?", vbQuestion + vbYesNo) = vbNo Then
            Cancel = 1
        End If
    End If
End Sub


Saludos
Título: Re: Duda Con El Text.box
Publicado por: noldo en Sábado 10 de Febrero de 2007, 05:15
Hola de otra vez, bueno primero que todo dar gracias a todos por la respuesta y en especial por las palabras del amigo "abelsql3000" y "F_Tanori" cuando me intan a seguir consultando, Vale por eso y se los agradezco. Con respecto al problema igual gracias me funcionó, y lo ingresé en un Comand Button, llamado Ingresar