プロが教えるわが家の防犯対策術!

Eval関数を使いたい!ドキュメントにある宣言とはなに?


DataBinder.Eval メソッド にある

DataBinder.Eval (Object, String, String)
実行時にデータ バインディング式を評価し、
結果を要求側のブラウザに表示されるテキストとして書式化します。

を使いたいです。
Visual Studio 2005のドキュメントで見つけました。

ドキュメントにある宣言とはなんですか?

Visual Basic (宣言)
Public Shared Function Eval ( _
container As Object, _
expression As String, _
format As String _
) As String

Visual Basic (使用法)
Dim container As Object
Dim expression As String
Dim format As String
Dim returnValue As String

returnValue = DataBinder.Eval(container, expression, format)

宣言と使用方法が載っていましたが、使い方がわかりません・・・

~~~~~~~~~~~~~~~~~~~~~~

以下を書くと「名前'Eval'は宣言されていません」とエラーが出ます。

宣言がわかっていないので、当たり前といえば、当たり前です。

Dim myWork As String = "1+2+3+4"
Dim myTotal As String = ""
myTotal = Eval("myWork")

これが使えるようにするにはどうしたらいいか教えてください!

A 回答 (2件)

ん~ Evalに代わるものって VB2005の標準機能ではないと思います



与えられた式を構文解析して自前で実装といったことになりそうです
逆ポーランド記法で 演算式を解析
解析結果から 演算子、値を取り出しながら計算
取り出す データや演算子が無くなったら 結果を返す
なんて クラスか関数を作る方向かと

または Freeのライブラリーがあるか Vectorなどで探してみるとか
    • good
    • 0
この回答へのお礼

ありがとうございます。

電卓を作ろうとしましたが、電卓すら作れそうもありません・・・

構文解析も作れそうもありません・・・

ライブラリの宣言と使用方法が書いていますが、使い方を教えてください。

使用方法のコードを使うには、宣言を、その使用方法のコードの前に書かないと、使えないのですか?

お礼日時:2009/06/13 12:36

Windows Formアプリなら簡単に使えませんよ



Shared関数なので 単独での使用するのではなく
DataBinder.Eval( contena, "1+2+3" )
などのように使います
contenaが連結データを受けろとるプロパティになります
ただし これは Webアプリ(ASPX)の中で使うものです

Formアプリか使えそうなのは JSCript名前空間の evalメソッドかなぁ
と思いますが こちらは非公開の機能のようですので 無理がありそうですね
    • good
    • 0
この回答へのお礼

ありがとうございます。

eval関数に近い、Formアプリで使える関数はありますか?

Formアプリで計算式を渡すと、計算結果を返してくれる関数を教えてください。

お礼日時:2009/06/12 22:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!