hola amigos tengo un problema al desarollar un programita en visual basic.net
el detalle es que quiero validar dentro de un cuadro de texto que solo se ingrese hasta 30 , pero cuando pongo en actualizar me debe borar todos los datos en cuadro de texto ponerse en blanco pero me da error solo D = CInt(txtDias.Text) r// aca me da eror que el tipo de dato no puede convertir
que podria cambiar alguien si me puede ayudar por favor
'metodo actualizar
Public Sub limpiar()
txtNOMBre.Text = ""
txtDias.Text = ""
ComboBox1.Text = ""
End Sub
'metodo validacion para ingresar solo hasta 30 dias
Public Sub solod()
Dim soloD As Integer
soloD = CInt(txtDias.Text) // aca me da eror que el tipo de dato no puede convertir[/u] If soloD > 30 Then
MsgBox("Ingresar Solo Hasta 30 x Dias Trabajadas", MsgBoxStyle.Information, "Advertencia")
End If
End Sub
'llamando metodo actualzar
Private Sub btnActual_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnActual.Click
Me.limpiar()
End Sub
End Class
Hola.
Me parece que el problema que tienes es que estás validando el valor introducido en el evento TextChange del textbox, si es así el problema que tienes es que "" no se puede convertir a integer, para solucionarlo cambia la funcion solod por esta:
Public Sub solod()
If txtDias.Text <> "" Then
Try
Dim soloD As Integer
soloD = CInt(txtDias.Text)
If soloD > 30 Then
MsgBox("Ingresar Solo Hasta 30 x Dias Trabajadas", MsgBoxStyle.Information, "Advertencia")
End If
Catch
MsgBox("Introduzca los dias en formato numerico.", MsgBoxStyle.Information, "Advertencia")
End Try
End If
End Sub
A demás de verificar que el texto no esté vacío (en cuyo caso no hay que hacer nada) has de verificar que el texto introducido sea en formato numérico, para eso es el Try-Catch.
Un saludo.