Buenas a tod@s.
Hoy tengo una pregunta para .NET (Visual Basic 2010 Express)
A ver mirad, estoy aprendiendo de un tutorial de una web, y me enseñaron a poner propiedades y que hacer con ellas ...
Verán lo que intento es hacer lo siguiente.
Que salga una aplicación que salga un label que diga 50+50 y ponerle una propiedad de 100.
Y luego dos botones que den respuesta en esta caso como ej. 70 y otro button de 100.
Lo que quiero poner un code que me mire la propiedad de el label y que lo compruebe con el Button y me diga si es correcto o incorrecto.
Como podéis ver en mi code he puesto que salga manualmente el msgbox, pero no que lo compruebe con el valor del label...
Esto seria así:
CÓDIGO DE LABEL1: (Dice 50+50)
If label1.text = "100" Then
CÓDIGO DE EL BUTTON1 (El de la respuesta 70)
MsgBox ("Incorrecto")
CÓDIGO DE EL BUTTON2 (El de la respuesta 100)
MsgBox ("Correcto")
Saludos y os mando ánimos para ayudarme :D
lo que vos estas queriendo hacer se llama "evaluar expresiones", o sea necesitas evaluar ese string que tiene el "50+50" y que te devuelva 100, para hacer eso hay varias formas, una forma sin librerias externas es usando un DataTable, es medio como un truco.
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MsgBox(Evaluate("50+50"))
End Sub
Public Shared Function Evaluate(ByVal expression As String) As Double
Dim table As New DataTable()
table.Columns.Add("expression", GetType(String), expression)
Dim row As DataRow = table.NewRow()
table.Rows.Add(row)
Return Double.Parse(DirectCast(row("expression"), String))
End Function
End Class
la otra es usar una libreria libre llamda NCalc, es una de los mejores evaluadores de expresiones:
http://ncalc.codeplex.com/ (http://ncalc.codeplex.com/)
algunas otras opciones en este post:
Evaluate C# string with math operators (http://stackoverflow.com/questions/5838918/evaluate-c-sharp-string-with-math-operators)
saludos.