////////////////////////////////////////////////// PERBICURAN ////////////////////////////////////////
//
// Fungsi: onMaintUiAfter
//
// Acara: Acara MaintUiAfter dikirim setelah transfer file, saat pengguna akhir berjalan
// Instalasi yang telah diinstal pada mesin. Biasanya
// Ini terjadi melalui applet Tambah/Hapus Program.
// Di instalasi pawang biasanya menampilkan UI yang akan menginformasikan
// Pengguna akhir bahwa pemeliharaan/uninstallasi telah berhasil diselesaikan.
//
////////////////////////////////////////////////// PERBICURAN ////////////////////////////////////////
Fungsi onMaintUiAfter ()
String sztitle, szmsg1, szmsg2, szoption1, szoption2;
Nomor BOPT1, BOPT2;
mulai
Nonaktifkan (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);
kembali 0;
akhir;
////////////////////////////////////////////////// PERBICURAN ////////////////////////////////////////
//
// Fungsi: Onmoving
//
// Acara: Acara Pindah dikirim saat transfer file dimulai sebagai hasilnya
// Panggilan ComponentTransferData, sebelum operasi transfer file apa pun
// dilakukan.
//
////////////////////////////////////////////////// PERBICURAN ////////////////////////////////////////
fungsi onMoving ()
String szapppath;
mulai
// Atur Jalur Aplikasi Kepatuhan Logo
// untuk melakukan: jika aplikasi Anda .exe ada di subfolder targetDir maka tambahkan subfolder
szapppath = targetDir;
RegdBsetItem (Regdb_apppath, Szapppath);
RegdBsetItem (regdb_apppath_default, szapppath ^ @product_key);
akhir;
// --- Sertakan bagian file skrip ---
Fungsi Loginsql (Sztitle, SzsqlsvName, Szsqluser, Szsqlpassword)
String szdlg, sztemp;
Nomor Bdone, NID, NMessage, Ntemp;
Int hwnddlg;
Hwnd hwndcontrol;
mulai
szdlg = "dlg_loginsqlsv";
// Catat data yang dihasilkan oleh dialog ini
if (mode = silentMode) lalu
Sdmakename (szappkey, szdlg, sztitle, nloginsql);
Silentreaddata (szappkey, "hasil", data_number, sztemp, nid);
if ((nid! = back) && (nid! = batal)) lalu
Silentreaddata (szappkey, "szsqlsvname", data_string, szsqlsvname, ntemp);
Silentreaddata (szappkey, "szsqluser", data_string, szsqluser, ntemp);
Silentreaddata (szappkey, "szsqlpassword", data_string, szsqlpassword, ntemp);
endif;
return nid;
endif;
// Pastikan inisialisasi umum selesai
if (! bsdinit) lalu
Sdinit ();
endif;
if (ezdefinedialog (szdlg, "", "", dlg_loginsqlsv) = dlg_err)
kembali -1;
endif;
// 在用户选择标准按钮前进行循环
bdone = false;
while (! bdone)
nid = waitondialog (szdlg); // 显示对话框
hwndControl = getDlgitem (hwnddlg, sd_edit_sqlsv_name);
SetFocus (hwndcontrol);
Switch (NID)
case 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);
// Fungsi ini menetapkan keterangan untuk dialog gaya lama atau
// Mengatur teks di area spanduk teratas dialog gaya Win2k
Sdsetdlgtitle (szdlg, hwnddlg, sztitle);
case sd_edit_sqlsv_name:
nMessage = ctrlgetSubCommand (szdlg);
if (nMessage = editbox_change) kemudian
CtrlgetText (szdlg, sd_edit_sqlsv_name, szsqlsvname);
endif;
case sd_edit_sqlsv_user:
nMessage = ctrlgetSubCommand (szdlg);
if (nMessage = editbox_change) kemudian
CtrlgetText (szdlg, sd_edit_sqlsv_user, szsqluser);
endif;
case sd_edit_sqlsv_password:
nMessage = ctrlgetSubCommand (szdlg);
if (nMessage = editbox_change) kemudian
CtrlgetText (szdlg, sd_edit_sqlsv_password, szsqlpassword);
endif;
kasing ok:
nid = selanjutnya;
bdone = true;
KASUS KEMBALI:
nid = kembali;
bdone = true;
case dlg_err:
Sderror (-1, "sdwelcome");
nid = -1;
bdone = true;
case dlg_close:
Sdclosedlg (hwnddlg, nid, bdone);
bawaan:
// periksa penanganan standar
if (sdisstdbutton (nid) && sddostdbutton (nid)) kemudian
bdone = true;
endif;
endswitch;
akhirnya;
Enddialog (SZDLG);
Rilisalog (szdlg);
Sduninit ();
// Catat data yang dihasilkan oleh dialog ini
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, "hasil", data_number, "", nid);
return nid;
akhir;
fungsi exesqlfile (szsqlfilename)
String szcmdline;
Nomor ntemp;
mulai
szcmdline = supportDir ^"osql.exe";
if (launchappandwait (supportDir ^"osql.exe", szsqlfilename, tunggu) <0) lalu
MessageBox ("不能运行 SQL 安装文件.", Parah);
endif;
akhir;
function modifdbdir ()
String szinstallfile;
Nomor nvResult, nvlinenumber;
String szwindir, svreturnline;
Number SN, NStartpos;
String Sz1, Sz2, Sznewdir;
Nomor ntemp;
mulai
szinstallfile = targetDir ^"instal // createdb.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, Replace);
sz1 = "";
sz2 = "";
sznewdir = "";
akhirnya;
akhir;
////////////////////////////////////////////////// PERBOLAH//////////////////////////////
//
// Fungsi: OnFileReadonly
//
// Acara: Acara FilereAdonly dikirim selama transfer file saat baca-saja
// File perlu ditimpa atau dihapus.
//
// Argumen: File - Jalur lengkap file yang ditandai sebagai baca saja.
//
// return: err_yes - file harus ditimpa atau dihapus.
// err_no - File tidak boleh dimodifikasi.
//
////////////////////////////////////////////////// PERBICURAN ////////////////////////////////////////
Fungsi OnFileReAdonly (File)
mulai
return sdExceptions (readonly, file);
akhir;
////////////////////////////////////////////////// PERBOLAH//////////////////////////////
//
// Fungsi: OnFileReadonly
//
// Acara: Acara FilereAdonly dikirim selama transfer file saat baca-saja
// File perlu ditimpa atau dihapus.
//
// Argumen: File - Jalur lengkap file yang ditandai sebagai baca saja.
//
// return: err_yes - file harus ditimpa atau dihapus.
// err_no - File tidak boleh dimodifikasi.
//