calcular valor a traves de convert.tosingle en VB.net 2005 Express

Iniciado por Carlosnuel, 3 Mayo 2007, 02:19 AM

0 Miembros y 1 Visitante están viendo este tema.

Carlosnuel

estoy haciendo una pequeña aplicación sobre Visual Basic.net 2005 Express Edition (no es gran cosa porque mis conocimientos son casi nulos en .net) en la cual tomo un valor de un TextBox, valido el campo y ahora si regreso el resultado.

miren si lo hago de esta forma si funciona


'los valores de X los definí desde un principio entonces
'el usuario solo ingresa los valores de su función a evaluar
Function ValorFuncion(ByVal X As Double) As Single
        Return Convert.ToSingle(x + 2)
End Function


pero así no es el caso, lo que quisiera hacer es que tome el valor del textbox lo valide y calcule el valor,  no tengo problemas hasta la validación cuando tengo problema es al asignarle el valor a la funcion



Function ValorFuncion(ByVal X As Double) As Single
        Return Convert.ToSingle(ValReturn)
    End Function
'Aqui ValReturn es el valor que se me regresa una ves validada
'la función la cual se regresa como un string


Espero puedan ayudarme porque al ejecutar el código me devuelve este error

"La cadena de entrada no tiene el formato correcto"
y la verdad no sé como hacerle.



Gracias y saludos

Carlosnuel

creo que no se entiende mi explicación, aqui les va un poco más de tallada:

lo unico que quiero cambiar es la parte de la función  ValorFuncion para que en lugar de tener el valor inicializado en "x+2", el usuario a partir de un TextBox ingrese el valor y esa función se remplace en el return
osea que el return quede algo así:

Return Convert.ToSingle(ValorGuardadoenTextBox)

el metodo completo que uso y no me causa problemas es este:



Function ValorFuncion(ByVal X As Double) As Single
        Return Convert.ToSingle(X + 2)
    End Function



Private Sub ciFuncion_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles ciFuncion.Paint
        Dim t As Single
        Dim Xmin, Xmax As Single
        Dim Ymax, Ymin As Single
        ctXMin.Text = "-0.83"
        ctXMax.Text = "6.30"

        Xmin = Convert.ToSingle(ctXMin.Text)
        Xmax = Convert.ToSingle(ctXMax.Text)

        If (Xmin >= Xmax) Then
            MsgBox("X máx tiene que ser mayor que X mín")
            Exit Sub
        End If


        Ymin = ValorFuncion(Xmin)
        Ymax = ValorFuncion(Xmin)
        End If
    End Sub


Surfiction

si quieres regresar en string pues indicalo por que aqui le indicas "single"

Function ValorFuncion(ByVal X As Double) As Single

Function ValorFuncion(ByVal X As Double) As String