////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////// ////////////////////////// /////////////////////////////////////////////////
//
//功能:onmaintuiafter
//
//事件:在文件傳輸後,最終用戶運行時,Maintuiafter事件是在文件傳輸後發送的
//已經在計算機上安裝的安裝。通常
//這是通過添加/刪除程序小程序發生的。
//處理程序安裝中通常會顯示UI,以告知
//最終用戶維護/卸載已成功完成。
//
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////// ////////////////////////// /////////////////////////////////////////////////
功能onmaintuiafter()
字符串sztitle,szmsg1,szmsg2,szoption1,szoption2;
數字BOPT1,BOPT2;
開始
禁用(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;
結尾;
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////// ////////////////////////// /////////////////////////////////////////////////
//
//功能:啟用
//
//事件:當文件傳輸啟動時,發送了移動事件
//在任何文件傳輸操作之前
//執行。
//
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////// ////////////////////////// /////////////////////////////////////////////////
功能onmoving()
字符串szapppath;
開始
//設置徽標合規性申請路徑
// do:如果您的應用程序.exe在targetDir的子文件夾中,則添加子文件夾
szapppath = targetDir;
regdbsetItem(regdb_apppath,szapppath);
regdBsetItem(regdb_apppath_default,szapppath ^ @product_key);
結尾;
// ---包括腳本文件部分---
函數loginsql(sztitle,szsqlsvname,szsqluser,szsqlpassword)
字符串szdlg,sztemp;
數字bdone,nid,nmessage,ntemp;
int hwnddlg;
hwnd hwndcontrol;
開始
szdlg =“ dlg_loginsqlsv”;
//記錄該對話框產生的數據
if(mode = silentmode),然後
sdmakename(szappkey,szdlg,sztitle,nloginsql);
SilentReadData(szappkey,“結果”,data_number,sztemp,nid);
if((nid!= back)&&(nid!= cancel))然後
silentReadData(szappkey,“ szsqlsvname”,data_string,szsqlsvname,ntemp);
SilentReadData(szappkey,“ szsqluser”,data_string,szsqluser,ntemp);
SilentReadData(szappkey,“ szsqlpassword”,data_string,szsqlpassword,ntemp);
endif;
返回nid;
endif;
//確保一般初始化完成
如果(!bsdinit)
sdinit();
endif;
if(ezdefinedialog(szdlg,“”,“”,dlg_loginsqlsv)= dlg_err)然後
返回-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);
如果(nmessage = editox_change),則
ctrlgetText(szdlg,sd_edit_sqlsv_name,szsqlsvname);
endif;
案例SD_EDIT_SQLSV_USER:
nmessage = ctrlgetSubCommand(szdlg);
如果(nmessage = editox_change),則
ctrlgetText(szdlg,sd_edit_sqlsv_user,szsqluser);
endif;
案例SD_EDIT_SQLSV_Password:
nmessage = ctrlgetSubCommand(szdlg);
如果(nmessage = editox_change),則
ctrlgetText(szdlg,sd_edit_sqlsv_password,szsqlpassword);
endif;
案例確定:
nid = next;
bdone = true;
案件回:
nid = back;
bdone = true;
案例DLG_ERR:
sderror(-1,“ sdwelcome”);
nid = -1;
bdone = true;
案例DLG_CLOSE:
sdclosedlg(hwnddlg,nid,bdone);
預設:
//檢查標準處理
如果(sdisstdbutton(nid)&& sddostdbutton(nid))然後
bdone = true;
endif;
末端開關;
結局;
endDialog(szdlg);
釋放式(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,“結果”,data_number,“”,nid);
返回nid;
結尾;
函數exesqlfile(szsqlfilename)
字符串szcmdline;
數字ntemp;
開始
szcmdline = supportDir ^“ osql.exe”;
if(啟動appandwait(supportdir ^“ osql.exe”,szsqlfilename,wait)<0)然後
MessageBox(“ sql安裝文件”,嚴重);
endif;
結尾;
功能modifdbdir()
字符串szinstallfile;
nvlineNumber編號nvresult;
弦Szwindir,svreturnline;
數字SN,nstartpos;
字符串SZ1,SZ2,SZNEWDIR;
數字ntemp;
開始
szinstallfile = targetDir ^“ install // createb.sql”;
//替換db文件的建立路徑
while(nvresult!= end_of_file)
nvresult = filegrep(szinstallfile,“ d:// cycdata //”,svreturnline,nvlinenumber,restart);
// 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(文件)
開始
返回sdexceptions(readonly,file);
結尾;
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////// ////////////////////////// ////////////////////////////////////
//
//功能:onfilereadonly
//
//事件:fileReadonly事件是在文件傳輸期間發送的。
//需要覆蓋或刪除文件。
//
//參數:文件 - 標記為僅讀取的文件的完整路徑。
//
//返回:err_yes-文件應覆蓋或刪除。
// err_no-不應修改文件。
//