Kuinka tuon ScriptControllin avulla voi suorittaa tekstiruutuun annetun matemaattisen lausekkeen ja antaa tuloksen toiseen tekstiruutuun. Kokeilin muutamien vinkkien pohjalta mutta en saanut mitään aikaiseksi. vai onnistuuko lainkaan. Onko tuohon muuta näppärää keinoa? (VB)
Laskulauseke lasketaan Eval-metodilla näin:
MsgBox ScriptControl1.Eval("3 * 5") ' 15
Muuttujiakin voi käyttää näin:
ScriptControl1.ExecuteStatement "a = 3" ScriptControl1.ExecuteStatement "b = 5" MsgBox ScriptControl1.Eval("a * b") ' 15
Toinen keino on tietenkin laskea lauseke itse.
Kiitos, tätä juuri hain:
Text2 = ScriptControl1.Eval(Text1)
Toimii kunhan lausekkeen syntaksi on oikein. Väänsin aikoinaan monta viikkoa koodia, joka laskee lausekkeen, jossa voi käyttää kaikkia VB:n matemaattisia funktioita. Koodi on kyllä kooltaan paljon pienempi kuin tämä ScriptControl
Aihe on jo aika vanha, joten et voi enää vastata siihen.