SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Visual Basic para principiantes => Mensaje iniciado por: ferhn en Viernes 8 de Agosto de 2008, 18:32

Título: Mostrar Errores en Formulario de Ocx
Publicado por: ferhn en Viernes 8 de Agosto de 2008, 18:32
Un Ejemplo en un formulario tengo dos label una llamada lblmsj y otra llamada lblError ademas en el formulario tengo una OCX que contine un texto llamado txtNum, como haga para que cada vez que mofique txtNum me muestre ese valor en lblmsj y que cuando en txtNum ingrese cualquier dato que no sea numerrico lblError.Caption me muestre "El valor debe ser numerico"......????   :(
Título: Re: Mostrar Errores en Formulario de Ocx
Publicado por: cpmario en Sábado 9 de Agosto de 2008, 19:51
Revisa el foro, encontrarás varias discusiones con este tema, por ejemplo:

viewtopic.php?f=39&t=26929&p=98576&hilit=textbox#p98576 (http://foros.solocodigo.com/viewtopic.php?f=39&t=26929&p=98576&hilit=textbox#p98576" onclick="window.open(this.href);return false;)

 :comp:
Título: Re: Mostrar Errores en Formulario de Ocx
Publicado por: ferhn en Sábado 9 de Agosto de 2008, 23:07
Muy bueno, pero no aclara mis dudas de como mostrar esos mensajes con un formulario y OCXs no modulo, en los modulos y clases se como hacerlo...  :mellow:
Título: Re: Mostrar Errores en Formulario de Ocx
Publicado por: Nebire en Domingo 31 de Agosto de 2008, 20:17
Cita de: "ferhn"
en un formulario tengo dos label una llamada lblmsj y otra llamada lblError .... ademas en el formulario tengo una OCX que contine un texto llamado txtNum, como haga para que cada vez que mofique txtNum me muestre ese valor en lblmsj  
En el OCX  tiwenes que incluir un evento tipo 'Change'  :

Código: Text
  1. public event Change()
  2. ' Luego sobre el evento change del txtnum debes provocarlo validarlo
  3.  
  4. private sub TxtNum_Change()
  5.     raiseEvent Change()
  6. end sub
  7.  
entonces ahora la instancia del OCX ya recibe un evento change, si suponemos que tu ocx se llama MiTextBox1 puedes buscar el evento change para escribir el código pertinente.

Cita de: "ferhn"
...y que cuando en txtNum ingrese cualquier dato que no sea numerrico lblError.Caption me muestre "El valor debe ser numerico"......????   :(  

Para esto nuevamente debes crear un evento, por ejemplo :
Código: Text
  1. Public event NoNumero
  2.  
  3. En alguno de los eventos del TXTNum, por ejemplo Keypress, validas...
  4. Private Sub TXTNum_KeyPress(KeyAscii As Integer)
  5.     if KeyPress <48 or Keypress >57 then
  6.         KeyPress=0  ' borramos el carácter introducido
  7.         RaiseEvent NoNumero
  8.     end if
  9. End Sub
  10. ' debes notar que el punto ó la coma forman parte también de un número, por lo que deben validarse también eso sí, nunca van más de 1 en una misma cifra...
  11. 'Luego en el formulario trabajando sobre el evento de la instancia del OCX recibes cuando suceda la señal y la tratas como desees en tu caso:
  12. private MiTextBox1_NoNumero()
  13.     lblerror.caption="El valor debe ser numerico"
  14. end sub
  15.  
  16. ' aunque es mejor no mostrar ese error en un label, si no se va a borrar tras ser leído, un msgbox sería más correcto...
  17. private MiTextBox1_NoNumero()
  18.     msgbox "El valor debe ser numerico"
  19. end sub
  20.  
  21.  
  22.  
Título: Re: Mostrar Errores en Formulario de Ocx
Publicado por: ferhn en Lunes 1 de Septiembre de 2008, 22:52
Exelente Gracias Amigo  :good: