Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: jugran28 en 13 Noviembre 2007, 19:13 pm



Título: ayuda a desarollar program en visual basic.net
Publicado por: jugran28 en 13 Noviembre 2007, 19:13 pm
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


Título: Re: ayuda a desarollar program en visual basic.net
Publicado por: gusman en 14 Noviembre 2007, 17:57 pm
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:

Código
  1. Public Sub solod()
  2.        If txtDias.Text <> "" Then
  3.            Try
  4.                Dim soloD As Integer
  5.                soloD = CInt(txtDias.Text)
  6.                If soloD > 30 Then
  7.                    MsgBox("Ingresar Solo Hasta 30 x Dias Trabajadas", MsgBoxStyle.Information, "Advertencia")                    
  8.                End If
  9.            Catch
  10.                MsgBox("Introduzca los dias en formato numerico.", MsgBoxStyle.Information, "Advertencia")
  11.            End Try
  12.       End If
  13.    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.