///////////////////////////////////////////////// ///////////////////////
//
//関数:onmaintuiafter
//
//イベント:メンテナフターイベントは、エンドユーザーが実行されたときにファイル転送後に送信されます
//マシンにすでにインストールされているインストール。いつもの
//これは、プログラムアプレットを追加/削除することで発生します。
//ハンドラーのインストールでは通常、通知するUIが表示されます
//メンテナンス/アンインストールが正常に完了したことをエンドユーザー。
//
///////////////////////////////////////////////// ///////////////////////
機能onmaintuiafter()
string sztitle、szmsg1、szmsg2、szoption1、szoption2;
番号bopt1、bopt2;
始める
disable(statusex);
bopt1 = false;
bopt2 = false;
szmsg1 = sdloadstring(ifx_sdfinish_maint_msg1);
szmsg2 = "";
szoption1 = "";
szoption2 = "";
sztitle = sdloadstring(ifx_sdfinish_maint_title);
sdfinishex(sztitle、szmsg1、szmsg2、szoption1、szoption2、bopt1、bopt2);
0を返します。
終わり;
///////////////////////////////////////////////// ///////////////////////
//
//関数:オンモービング
//
//イベント:移動イベントは、の結果としてファイル転送が開始されたときに送信されます
//ファイル転送操作の前に、ComponentTransferdata呼び出し
//実行されます。
//
///////////////////////////////////////////////// ///////////////////////
function onmoving()
弦楽szapppath;
始める
//ロゴコンプライアンスアプリケーションパスを設定します
//する:アプリケーション.exeがターゲットディールのサブフォルダーにいる場合、サブフォルダーを追加します
szapppath = targetdir;
regdbsetitem(regdb_apppath、szapppath);
regdbsetitem(regdb_apppath_default、szapppath ^ @product_key);
終わり;
// ---スクリプトファイルセクションを含める---
function loginsql(sztitle、szsqlsvname、szsqluser、szsqlpassword)
文字列szdlg、sztemp;
番号bdone、nid、nmessage、ntemp;
int hwnddlg;
hwnd hwndcontrol;
始める
szdlg = "dlg_loginsqlsv";
//このダイアログによって作成されたデータを記録します
if(mode = silentMode)then
sdmakename(szappkey、szdlg、sztitle、nloginsql);
SilentReadData(szappkey、 "result"、data_number、sztemp、nid);
if((nid!= back)&&(nid!= cancel))then
SilentReadData(szappkey、 "szsqlsvname"、data_string、szsqlsvname、ntemp);
SilentReadData(szappkey、 "szsqluser"、data_string、szsqluser、ntemp);
SilentReadData(szappkey、 "szsqlpassword"、data_string、szsqlpassword、ntemp);
endif;
NIDを返します。
endif;
//一般的な初期化が完了していることを確認してください
if(!bsdinit)then
sdinit();
endif;
if(ezdefinedialog(szdlg、 ""、 ""、dlg_loginsqlsv)= dlg_err)then
return -1;
endif;
//在用户选择标准按钮前进行循环
bdone = false;
while(!bdone)
nid = waitondialog(szdlg); //显示对话框
hwndControl = getDlGitem(hwnddlg、sd_edit_sqlsv_name);
setfocus(hwndcontrol);
スイッチ(nid)
ケースdlg_init:
ctrlsettext(szdlg、sd_edit_sqlsv_name、szsqlsvname);
ctrlsettext(szdlg、sd_edit_sqlsv_user、szsqluser);
ctrlsettext(szdlg、sd_edit_sqlsv_password、szsqlpassword);
hwnddlg = cmdgethwnddlg(szdlg);
sdgeneralinit(szdlg、hwnddlg、style_normal、szsdproduct);
//この関数は、古いスタイルのダイアログのキャプションを設定するか、
// win2kスタイルのダイアログのトップバナーエリアにテキストを設定します
sdsetdlgtitle(szdlg、hwnddlg、sztitle);
ケースSD_EDIT_SQLSV_NAME:
nmessage = ctrlgetSubCommand(SZDLG);
if(nmessage = editbox_change)then
ctrlgetText(szdlg、sd_edit_sqlsv_name、szsqlsvname);
endif;
ケースSD_EDIT_SQLSV_USER:
nmessage = ctrlgetSubCommand(SZDLG);
if(nmessage = editbox_change)then
ctrlgetText(szdlg、sd_edit_sqlsv_user、szsqluser);
endif;
sd_edit_sqlsv_password:
nmessage = ctrlgetSubCommand(SZDLG);
if(nmessage = editbox_change)then
ctrlgetText(szdlg、sd_edit_sqlsv_password、szsqlpassword);
endif;
ケースOK:
nid = next;
bdone = true;
ケースバック:
nid = back;
bdone = true;
ケースDLG_ERR:
sderror(-1、 "sdwelcome");
nid = -1;
bdone = true;
ケースdlg_close:
sdclosedlg(hwnddlg、nid、bdone);
デフォルト:
//標準処理を確認します
if(sdisstdbutton(nid)&& sddostdbutton(nid))then
bdone = true;
endif;
endswitch;
終わり;
enddialog(szdlg);
relietialog(szdlg);
sduninit();
//このダイアログによって作成されたデータを記録します
sdmakename(szappkey、szdlg、sztitle、nloginsql);
SilentWritedata(szappkey、 "szsqlsvname"、data_string、szsqlsvname、0);
SilentWritedata(szappkey、 "szsqluser"、data_string、szsqluser、0);
SilentWritedata(szappkey、 "szsqlpassword"、data_string、szsqlpassword、0);
SilentWritedata(szappkey、 "result"、data_number、 ""、nid);
NIDを返します。
終わり;
関数exeSqlFile(SZSQLFILENAME)
文字列szcmdline;
番号ntemp;
始める
szcmdline = supportdir ^"osql.exe";
if(launchappandwait(supportdir ^"osql.exe"、szsqlfilename、wait)<0)then
messagebox( "不能运行sql安装文件"、severe);
endif;
終わり;
関数modifdbdir()
文字列szinstallfile;
番号nvresult、nvlineNumber;
String Szwindir、Svreturnline;
番号Sn、nstartpos;
文字列SZ1、SZ2、SZNEWDIR;
番号ntemp;
始める
szinstallfile = targetdir ^"install // createdb.sql";
//替换db文件的建立路径
while(nvresult!= end_of_file)
nvresult = filegrep(szinstallfile、 "d:// cycdata //"、svreturnline、nvlineNumber、再起動);
// filedeleteline(szodbcregfile、nvlineNumber、nvlineNumber);
sn = strlength(svreturnline);
nstartpos = strfind(svreturnline、 "d:// cycdata //");
strsub(sz1、svreturnline、0、nstartpos);
strsub(SZ2、Svreturnline、nstartpos+11、sn-nstartpos-11);
sznewdir = sz1+targetdir ^sz2;
fileinsertline(szinstallfile、sznewdir、nvlineNumber、置き換え);
sz1 = "";
sz2 = "";
sznewdir = "";
終わり;
終わり;
///////////////////////////////////////////////// //////////////////////
//
//関数:onfilereadonly
//
//イベント:FileReadonlyイベントは、読み取り専用の場合にファイル転送中に送信されます
//ファイルは上書きまたは削除する必要があります。
//
//引数:ファイル - 読み取り専用としてマークされたファイルのフルパス。
//
//返品:err_yes-ファイルを上書きまたは削除する必要があります。
// err_no-ファイルを変更しないでください。
//
///////////////////////////////////////////////// ///////////////////////
onfilereadonly(file)onfilereadonly
始める
return sdexceptions(readonly、file);
終わり;
///////////////////////////////////////////////// //////////////////////
//
//関数:onfilereadonly
//
//イベント:FileReadonlyイベントは、読み取り専用の場合にファイル転送中に送信されます
//ファイルは上書きまたは削除する必要があります。
//
//引数:ファイル - 読み取り専用としてマークされたファイルのフルパス。
//
//返品:err_yes-ファイルを上書きまたは削除する必要があります。
// err_no-ファイルを変更しないでください。
//