Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: ScriptControl (VB)

setä [12.01.2005 12:55:37]

#

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)

Antti Laaksonen [12.01.2005 15:20:37]

#

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.

setä [12.01.2005 16:35:50]

#

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

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta