Eseguire una operzione scritta in una variabile...

lunedì 17 marzo 2008 - 10.21

H2MARON Profilo | Junior Member

Salve a tutti,
Io vorrei eseguire un operazione (e.s.: 4 + 5) scritta in una variabile.
In vb6 usavo l'EVAL.
Come posso fare in vb.net?...
tenete conto che ho Windows Vista e che non posso usare la classe script (metodo indicato in altri siti)...

Grazie
e Ciao!
Tommi
tlanzoni@email.it

Anonimo Profilo | Senior Member

Se ti spieghi meglio sapremmo di sicuro aiutarti.



Team Icon - Software Engineering
------------------------------
Unicredit Consultant
Senior Developer

H2MARON Profilo | Junior Member

esempio...
io ho una textbox dove scrivo u'operazione...
tipo 134 + 45
sull'evento validate voglio che nella textbox venga inserito il rsultato...

ma non è solo un'addizione...qualsiasi operazione...anche con parentesi.

ciao
e grazie
Tommi
tlanzoni@email.it

Anonimo Profilo | Senior Member

in rete ho trovato questo codice, spero possa esserti utile.

Public NotInheritable Class Evaluator Private Shared WithEvents m_ScriptControl As MSScriptControl.ScriptControlClass Shared Sub New() m_ScriptControl = New MSScriptControl.ScriptControlClass m_ScriptControl.Language = "VBScript" m_ScriptControl.AllowUI = False End Sub Public Shared Function Evaluate(ByVal s As String, ByVal decimalPlaces As Integer) As Double Return Decimal.Round(Convert.ToDecimal(Evaluate(s)), decimalPlaces) End Function Public Shared Function Evaluate(ByVal s As String) As Double Dim r As Double m_ScriptControl.Reset() ' Example of executing code ''m_ScriptControl.ExecuteStatement("Dim m") ''m_ScriptControl.ExecuteStatement("m = 5") ' Example of manipulating a form ''m_ScriptControl.AddObject("DotnetForm", Me) ''m_ScriptControl.ExecuteStatement("dotnetform.width = dotnetform.width + 10") Try r = CDbl(m_ScriptControl.Eval(s)) Catch ex As Exception Dim ee As EvaluationException ee = New EvaluationException(ex.Message) ee.Description = m_ScriptControl.Error.Description ee.Column = m_ScriptControl.Error.Column ee.Number = m_ScriptControl.Error.Number ee.Source = m_ScriptControl.Error.Source ee.Text = m_ScriptControl.Error.Text Throw ee End Try Return r End Function End Class

Team Icon - Software Engineering
------------------------------
Unicredit Consultant
Senior Developer

H2MARON Profilo | Junior Member

si quella l'avevo trovata anche io ma usa la libreria Script e con vista non funziona...

ciao
e grazie!

Tommi
tlanzoni@email.it

Anonimo Profilo | Senior Member

ho verificato hai ragione, qui hai la tua soluzione. Scusa per prima.

http://www.microsoft.com/italy/msdn/risorsemsdn/community/tips/0612.mspx

Team Icon - Software Engineering
------------------------------
Unicredit Consultant
Senior Developer

H2MARON Profilo | Junior Member

GRANDE!!!!...
GRAZIE!!!
tu non sai da quanto la stavo cercando...
grazie.

Tommi
tlanzoni@email.it

Anonimo Profilo | Senior Member

Segna però che ho risolto il problema, così chiudono il post. Sono contento di averti aiutato.

Team Icon - Software Engineering
------------------------------
Unicredit Consultant
Senior Developer

H2MARON Profilo | Junior Member

Si Il problema è stato risolto alla grande.
Grazie ancora.
Ciao
Tommi
tlanzoni@email.it
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5