メイン >> 6. [Code] セクションでの記述

イベント関数について

[Code] セクションでは、インストーラに独自の処理をさせるように記述します。
実行する処理の定義は、イベント毎に記述することになります。

詳しくは、ヘルプ:使い方-パスカル・スクリプト-イベント関数 を参照してください。

イベント(関数)名 イベント内容
InitializeSetup セットアッププログラム実行前に呼び出されます。
使用する変数の初期化などを行います。

ダイアログの初期化については、InitializeWizard 関数で行います。
InitializeWizard セットアッププログラム実行前に呼び出されます。
この関数では、ダイアログに対する処理(作成など)を行います。
DeinitializeSetup セットアッププログラムが終了する前に呼び出されます。
CurStepChanged セットアッププログラムにある3つのステップが切り替わった時に呼び出されます。ステップは以下になります。

・インストール処理が始まる直前
・インストール処理が終わった直後
・インストールが成功し、セットアッププログラムが終了する直前
NextButtonClick 各ダイアログで、「次へ」ボタンが押されたときに呼び出されます。
BackButtonClick 各ダイアログで、「前へ」ボタンが押されたときに呼び出されます。
CancelButtonClick 各ダイアログで、「キャンセル」/「閉じる」ボタンが押されたときに呼び出されます。
ShouldSkipPage 強制表示されるダイアログ以外のダイアログを表示する前に呼び出されます。True を返値に設定するとそのダイアログは表示されずに処理が進みます。
強制表示されるダイアログは以下になります。
・ようこそ ダイアログ
・インストール準備中 ダイアログ
・インストール実行中 ダイアログ
CurPageChanged 各ダイアログが表示されたときに呼び出されます。
CheckPassword セットアッププログラムの実行にパスワードを設定する場合には、このイベント関数を記述します。
NeedRestart インストールが正常に終了した後に、システムの再起動を行う場合には、このイベント関数を記述します。
UpdateReadyMemo インストール情報を表示するダイアログ(インストールの準備ができました) を表示する直前に呼び出されます。インストール情報の内容を変更する場合に記述します。
RegisterPreviousData セットアッププログラムで入力された情報をレジストリに書き込む場合に記述します。
CheckSerial セットアッププログラムで、ユーザー情報を入力させるようにしていて、でシリアル番号も入力項目に含める場合に記述します。
   
InitializeUninstall アンインストールプログラム実行前に呼び出されます。
DeinitializeUninstall アンインストールプログラムの終了直前に呼び出されます。
CurUninstallStepChanged アンインストールプログラムにある3つのステップが切り替わった時に呼び出されます。ステップは以下になります。

・アンインストール処理が始まる直前
・アンインストール処理が終わった直後
・アンインストール成功し、アンインストールプログラムが終了する直前
UninstallNeedRestart アンインストールが正常に終了した後に、システムの再起動を行う場合には、このイベント関数を記述します。

投稿者 yamadas : 2006年08月17日 23:00 固定リンク

変数の記述について

変数の記述書式です。

btn.gif 変数の宣言

変数名 : 変数の型 ;
   
btn.gif 変数型について

パスカルスクリプトなので、パスカルの変数型が使用できます。

・主な変数型
String 文字列型です。
Integer 数値型です。
Boolean 真偽( True / False )型です。
TArrayOfString 文字列型の配列です。
TArrayOfInteger 数値型の配列です。

btn.gif グローバル変数

関数外で変数の宣言をした場合には、グローバル変数として処理されます。
const で宣言した場合には、静的な変数になります。

const
  静的なグローバル変数宣言

var
  グローバル変数宣言

procedure FUNCA()
    :
    :
function FUNCB()
    :
    :
btn.gif ローカル変数

関数内でのみ有効な変数になります。
関数名( procedure, function ) ~ begin の間に変数の宣言を行います。

関数名(procedure / function )()
var
 ローカル変数宣言
begin
 処理
end;

投稿者 yamadas : 2006年08月17日 22:55 固定リンク

関数の記述について

スクリプトで関数を記述する場合、以下のように記述します。

btn.gif procedure

返値無しの関数を記述する場合には、procedure を記述します。

procedure( 引数 )
var
 ローカル変数宣言
begin
 処理
end;

例 )
// グローバル変数
var
 nIndex : integer; 
procedure Initialize ()

begin
  nIndex := 1;
end;

btn.gif function

返値を持つ関数を記述する場合には、function を記述します。
返値については、 「Result := 返値」 の書式で記述します。

function( 引数 ):返値の変数型
var
 ローカル変数宣言
begin
 処理
  Result := 返値;
end;

例 )
function Initialize ( strName :string )
begin
 strName := '初期値';
 Result := strName;
end;


notice0.gif 引数の記述について

引数は、以下の書式で記述します。

関数名( 引数1 : 引数1の変数型 ; 引数2 : 引数2の変数型 ; ・・・ )

また、参照渡し等の記述を行うことができます。

btn.gif 引数を参照渡しする場合( 呼び出し側の変数の値も変わる )
  var 引数 : 引数の型 ;

btn.gif 引数を静的に扱う場合( 変数の値は変わりません )
  const 引数 : 引数の型 ;

notice0.gif 関数の宣言の順番について

関数内で、別の関数を呼び出す場合、呼び出される関数は既に宣言されている必要があります(サポート関数は除く。)。よって、呼び出される関数の記述は、呼び出す関数の記述よりも前に行われている必要があります。

投稿者 yamadas : 2006年08月17日 22:50 固定リンク

条件分岐の記述書式

スクリプトでの条件分岐の記述書式です。

btn.gif if 文

if ( 条件文 ) then
begin
 処理
end else if ( 条件文 ) then
begin
 処理
end else begin
 処理
end;

btn.gif case 文

case ( 変数名 ) of
  値1:
   処理
  値2:
   処理
  値3:
   処理
   :
  else
   処理
end;

値が文字列になる場合には、'' で括る

notice0.gif 条件判定について

if 文やループ文での比較による条件判定は、以下のように行います。
  btn.gif 数値の比較
=, <, >, <> を使って条件判定を行います。

例: nHoge が 5 の場合
if ( nHoge = 5 ) then
begin
  :

  btn.gif 文字列の比較
CompareText, CompareStr を使って条件判定を行います。

例: strHoge が、空文字でない場合
if ( CompareText( strHoge, '' ) <> 0 ) then
begin
  :

※CompareStr を使った場合、大文字小文字を区別する動作になります。

投稿者 yamadas : 2006年08月17日 22:00 固定リンク

繰り返し処理の記述書式

スクリプトでの繰り返し処理の記述書式です。

btn.gif for 文

for 変数 := 値1 to 値2 do
begin
  処理
end;

値1 が 値2 になるまで処理が繰り返し行われます。処理が一度行われる毎に値1 が +1 されます。また、to を downto とすることで、値1 -1 の動きにすることができます。

btn.gif while 文

while ( 条件文 ) do
then
  処理
end;

条件文が真の間は、処理が繰り返し行われます。

btn.gif repeat 文

repeat
   処理
until ( 条件文 );

条件文が真になるまで、処理が繰り返し行われます。


繰り返し処理を途中で抜けるには、 break を使用します。

投稿者 yamadas : 2006年08月17日 21:00 固定リンク