2011-12-15 10 views
0

私はこれにどのようにアプローチすればよいでしょうか、それを単純化するためのライブラリがありますか? ユーザーは、プレーンテキストファイルに格納されているVBのような言語で「マクロ」を記述できる必要があります。CのミニBASIC IDE

これらのマクロは、C#アプリケーション内の特定のボタンに接続され、ボタンがクリックされると実行されます。

これは私が、このような可能性がテキストボックス、ドロップダウンリスト、ラベル、ボタン&、それらのコントロールをフォームをポップアップサポートする必要がある.NET 4

を使用してWindowsフォームアプリケーション(WPFすることができる)ことです画像ボックスも。 IF THEN ELSE、*、 - 、%、+、/、=などの基本機能は、メッセージボックスをキャンセルしません。 あるスクリプトから別のスクリプトにデータを渡して、

私はVB.netフリー版をインストールするように伝えています。しかし、既存のCOMオブジェクトを介してシステムとの間で読み書きを行う社内システムとの通信を可能にする、言語を拡張するための特注の機能をいくつか追加する必要はありません。

また、ホスティングC#アプリには、それぞれ独自のスクリプトを添付した多数のボタンが必要です。

これが悪くない場合は、独自のスクリプトを書くことができるようにする必要があります。理想的には、基本的なIDEのいくつかのフォームも必要です。

提案がありますか?

+0

将来のユーザーに既にプログラミングに関する知識がある場合は、必要な拡張機能を提供するAPIを作成して、APIの使い方を教える方が簡単ではないかもしれませんか? –

+0

おかげでスレーブ、はい、それは簡単だろうが、ほとんどのユーザーは非常に限られたプログラミングの知識を持っています。同社はVBを直接使用することを望んでいませんが、これはマクロやスクリプトを使って既存の製品を自動化するためのものです。 – Adrian

答えて

1

要件の一部を実装するためのさまざまな技術が私の頭に浮かびます。あなたは急速にあなたがLightSwitchのを使用することができ、簡単なUIを構築するためのシンプルなツールを持っているしたい場合は

1)RADのための使用LightSwitchのは
を形成しています。 LightSwitchアプリケーションのコードフレームワークとして機能するLightswitchの参照として追加された独自のアセンブリを提供できます。

2)Windowsワークフロー財団RuleEngine
RuleEngineは、あなたが/ストアbusinessrulesを変更することができます。内部アセンブリをRuleEngineにバインドすると、バインドされたアセンブリに基づいてコードをスクリプト化することができます。
ルールは単純な "If" "then" else "ステートメントです。 http://karlreinsch.com/2010/10/18/wf-rules-unleashing-the-rule-engine-within-dot-net/

3)ロードXAML動的
WPFを使用すると、UIをデシリアライズ/シリアライズし、実行時にファイルからそれらを読み込むことができます。ブレンドまたは独自のツールを使用すると、UIを作成してビジネスロジックにバインドできます。 を参照してくださいhttp://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a53ff197-8703-4c6c-8726-45570304fb7b/

+0

ありがとうございますSvenGあなたの答えは私に探検するものを与えてくれました。私が探していたことを他の人が立つことができず、質問に-1したいと思った奇妙な方法!それはすべての種類が必要です。 ありがとうございます。 – Adrian

0

あなたの記述では、既に既存のスクリプトテクニック(おそらくLUAなど)を調べることをお勧めします。このようなスクリプトを既存のコード(例えば、あなたが望む機能を活用するために構築したAPIなど)にフックすることができます。

既存のスクリプトシステムを使用することをお勧めする理由は、既に試してテスト済みであり、新しい言語を自分で定義して解析エンジンを構築する必要がないからです。