DelFusa Blog 総本山

プログラミングの話題とかです。

NEW | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

| スポンサー広告 | --:-- | comments(-) | trackbacks(-) | TOP↑

≫ EDIT

DelphiでVBScriptを使う(もうちょっとちゃんとした記事に...)


    ∧,,∧ ∧,,∧  
   ミ,,゚□゚ミ,,・д・ミ ニャ-
   ミ ミつ ミ,,,uu,,ミ~
    ミ   ミ
    ∪''∪

えっと、、、実家の猫と戯れてます。
猫アレルギーで、マスクが手放せないんですけどね。


さてさて、では、VBScriptの所をちょいとばかり
記事にしてみました。

基礎編ですので、ごく単純なスクリプトを動かして
メッセージボックスが表示されるだけの内容です。

もうちょっと追加した応用編として
VBScript関数への引数渡しと、VBScript関数からの戻り値Getについては
また、明日。って所にしておきましょうかね。

────────────────────



■ Delphi内部でVBScriptを使用する方法を解説します。
環境はDelphi for Win32 です。

まず、はじめに環境整備、VBScriptエンジンをインストールする必要があります。
下記の手順に従ってActiveXコンポーネントをインストールしてください。

◆ Microsoft Script ControlのActiveXコンポーネント、MSScriptControl_TLB.pasの作成。

◇ 事前にインストールフォルダを作ってください。
c:\program files\borland\bds\4.0\Imports\MSScriptControl
※InportsフォルダはBorlandの伝統らしいですが、
なぜかBDS4.0では存在しないフォルダになってしまっているので
手動で作成するとよいでしょう。MSScriptControlフォルダは私が適当に名前をつけました。

◇ DelphiのIDEを操作してコントロールをインポートします。
[メニュー][コンポーネント][コンポーネントのインポート](下図)

000483.png



◇ [コンポーネントのインポート]画面
[ActiveX コントロールの取り込み]を選択、[次へ >>](下図)

000487.png


◇ [Microsoft Script Control 1.0]を選択、[次へ >>](下図)

000489.png


◇ 画面が
クラス名 [TScriptControl]
パレットページ [ActiveX]
ユニットディレクトリ名 […省略…]
検索パス […省略…]
コンポーネントラッパーの作成[チェックON]
となっているので、ユニットディレクトリ名だけ先に作成してたフォルダ
c:\program files\borland\bds\4.0\Imports\MSScriptControl
を指定してください。
[次へ >>](下図)

000490.png


◇ ユニットの作成[チェックON] にして[完了](下図)

000491.png


◇ 次のファイルが出来ていることを確認します。
C:\Program Files\Borland\BDS\4.0\Imports\MSScriptControl\
MSScriptControl_TLB.pas
MSScriptControl_TLB.dcr


◇ このコンポーネントを取り込む為のパッケージを用意するために、
パッケージ000492新規作成をします。
※パッケージの使い方を熟知した上級者の人ならば、
新規作成していないいつも使用している
000492ジに取り込むことも000492るでしょう。

◇ [ファイル][新規作成][パッケージ](下図)

000493.png


◇ 新規作成されたPackage1.bplをいったん保存します。
[プロジェクトマネージャー][Package1.bpl]を右クリック、[名前を付けて保存]
C:\Program Files\Borland\BDS\4.0\Imports\MSScriptControl\
MSScriptControl.bdsproj

000494.png


000495.png


◇ コンポーネントを取り込みます。
プロジェクトマネージャー上で[MSScriptControl.bpl]を右クリックして[追加]

000498.png


◇ [ユニットの追加]画面でユニットファイルとして
C:\Program Files\Borland\BDS\4.0\Imports\MSScriptControl\
MSScriptControl_TLB.pas
を選択します。

000499.png

000500.png

000501.png


◇ MSScriptControl.bplのIDEへのインストールを行います。
[プロジェクトマネージャー][MSScriptControl.bpl][インストール]

000502.png

000503.png


◇ これでコンポーネントのインストールは完了です。
◆ インストールしたコンポーネントTScriptControlを使用して
簡単なVBScriptをDelphi内で動作させてみる。
◇ 通常のVCLフォームアプリケーションの上に
ScriptControl1を配置してください。
サンプルアプリケーションとして、他に使うコントロールは
Buttonと、Memoを配置してみましょう。

000505.png


◇ 次のようなコードを書きます。
procedure TForm1.FormShow(Sender: TObject);
begin
ScriptControl1.SitehWnd := Self.Handle;
ScriptControl1.Language := 'VBScript';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ScriptControl1.ExecuteStatement(Memo1.Text);
end;
FormのShowイベントでコントロールに必要なウィンドウハンドルと
コントロールが実行するスクリプトが[VBScript]だという事を設定します。
Button1のClickイベントでMemo1.Textに書かれたVBScriptコードを
実行しろという命令を書いています。

000506.png


◇ Memo1.Textには次のようなVBScriptコードを書きます。
MsgBox "Hello World"
◇ 実行してButton1を押すとメッセージボックスが表示されます。

000507.png


◇ 実行中にMemo1.Textの内容を変更して
For i = 1 to 10
Return = Return + 1
Next
MsgBox Return
として再度Button1を押すと、計算結果がメッセージ表示されます。

000508.png


◇ これでVBScriptがDelphiに取り込まれて動作が確認できました。



サンプルコードをアップしときました。pngになってますので、拡張子をzipに変更して解凍してみてください。

VBScriptInDelphi.zip.png

スポンサーサイト

| 未分類 | 05:06 | comments:0 | trackbacks:1 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://delfusa.blog65.fc2.com/tb.php/33-6bf23303

TRACKBACK

プログラミング言語Delphiについて

Delphi「Delphi」(デルファイ)は、米国ボーランド|ボーランド社の開発するMicrosoft Windows向け統合開発環境である。プログラミング言語として、教育用として見られる事の多い「Pascal」を大幅に拡張し、オブジェクト指向開発を可能とした「Delphi言語(Delphi6までは

| プログラミング言語 | 2007/02/08 16:48 |

PREV | PAGE-SELECT | NEXT

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。