Windows / ScriptControl


実装次第ではかなり使えるヤツ。

Windows2000、XPでは標準で入っている。

久しぶりにこれ使ったソフトでも作ってみたいものだ。

おぼえ(VB.netで使用するサンプル) from http://dobon.net/vb/dotnet/programing/eval.html

'計算式
Dim exp As String = "(1+6)*5/(7-4)"

Dim t As Type = _
    Type.GetTypeFromProgID("MSScriptControl.ScriptControl")
Dim obj As Object = Activator.CreateInstance(t)
t.InvokeMember("Language", _
    System.Reflection.BindingFlags.SetProperty, _
    Nothing, _
    obj, _
    New Object() {"vbscript"})
'Eval関数で計算を実行して結果を取得
Dim result As Double = CDbl( _
    t.InvokeMember("Eval", _
        System.Reflection.BindingFlags.InvokeMethod, _
        Nothing, _
        obj, _
        New Object() {exp}))

'結果を表示
Console.WriteLine(result)

ナビゲーション

プロフィール

Photo Hondarer  My status

自分に正直に、目指す物を目指すかたちで、全ての人が幸せになれるシステムを削り出す職人でありたい。

Powered by
HndWiki 020824