関数電卓の作成について への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 魔界の仮面弁士  (社会人) 投稿日時 2011/5/31 01:27:56
先に紹介した URL には、JScript / VBScript に頼らない実装方法についても
話題にされていますので、参考にして自作してみてください。


> dllファイルを作る際、同ソフトの違うバージョンと違ってこの機能が使えないとかありますか?? 
開発環境としての機能差はあります。
たとえば、データベース連携のツールが無いとか、アドインが使えないとか、
帳票出力ツールや難読化ツールが付属していないとか、アイコン集の有無だとか。
http://www.microsoft.com/japan/msdn/vstudio/2008/product/compare.aspx
http://www.microsoft.com/japan/msdn/vstudio/2008/product/vsts/compare.aspx

ですが、それらは開発環境としてのツールの使い勝手の話であって、
生成されるコードに直接的な違いが出るというわけではありません。

そもそも、DLL を作るだけならば Express Edition すら不要です。

たとえば、メモ帳で
Imports System
Class Class1
  Public Shared Function Method(ByVal a As IntegerByVal b As IntegerAs Integer
    Return a + b
  End Function
End Class
と書いた C:\WORK\TEST.VB を用意した上で、[スタート]-[アクセサリ]-[コマンド プロンプト]から
C:\WINDOWS\Microsoft.NET\Framework\v3.5VBC.EXE /t:Library /out:C:\WORK\TEST.DLL C:\WORK\TEST.VB
と入力すれば、これで C:\WORK\TEST.DLL が出来上がります。

開発環境をインストールすることなく、DLL を作成できてしまうわけです。

もちろん、このような手作業開発では効率も悪いですし、入力ミスも増えてしまいます。
参照設定するライブラリが増えれば、コンパイルに必要なコマンドも長大になり、管理が大変になります。

だからこそ、通常は開発環境を使って開発効率/デバッグ効率を向上させるというわけです。

そしてその開発環境にも幾つかのエディションがあるわけですが、その中で、どこまでの機能が
必要なのかは個人個人で差があるでしょうから、どこまでの機能が必要なのかを判断した上で、
Express で十分なのか、それとも上位のエディションを購入するべきなのかを選択してみてください。
投稿者 K.K.  (高校生) 投稿日時 2011/5/30 22:54:56

出来るだけ、JScript(VBScript)のeval関数を実行して、答えをVisualBasic上に戻すのではなく、dllファイル内にevalクラスを作って、そこをexeファイルにインポートしたいです。

ちなみに、VisualStudio2008 ExpressEdition(VisualBasic)では、dllファイルを作る際、同ソフトの違うバージョンと違って、この機能が使えないとかありますか??
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2011/5/29 03:30:10
このあたりの過去ログが参考になるかもしれません。
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=9500
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=2189
投稿者 K.K.  (高校生) 投稿日時 2011/5/29 00:32:17

今、VisualBasic2008 ExpressEditionで関数電卓を作成しているのですが…

以前、JavaScriptで同じデザインで作成したときは、JavaScriptのeval関数で計算を実行していたのですが、VisualBasicなどのプログラミング言語には、JavaScriptなどのプロトタイプ言語にあるeval関数が無いことが分かり、どう計算しようか迷っています。

VisualBasicでのeval関数または、クラスがある、または作成できるなどありましたら、教えて下さい。