赞
踩
(文档类别:编程基础) 2002-2-5
/// // // FUNCTION: OnMaintUIAfter // // EVENT: MaintUIAfter event is sent after file transfer, when end user runs // installation that has already been installed on the machine. Usually // this happens through Add/Remove Programs applet. // In the handler installation usually displays UI that will inform // end user that maintenance/uninstallation has been completed successfully. // /// function OnMaintUIAfter() STRING szTitle, szMsg1, szMsg2, szOption1, szOption2; NUMBER bOpt1, bOpt2; begin 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); return 0; end; /// // // FUNCTION: OnMoving // // EVENT: Moving event is sent when file transfer is started as a result of // ComponentTransferData call, before any file transfer operations // are performed. // /// function OnMoving() STRING szAppPath; begin // Set LOGO Compliance Application Path // TO DO : if your application .exe is in a subfolder of TARGETDIR then add subfolder szAppPath = TARGETDIR; RegDBSetItem(REGDB_APPPATH, szAppPath); RegDBSetItem(REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY); end; // --- include script file section --- function LoginSQL( szTitle,szSqlsvname,szSqluser,szSqlpassword ) STRING szDlg, szTemp; NUMBER bDone, nId, nMessage, nTemp; INT hwndDlg; HWND hwndControl; begin szDlg = "DLG_LoginSQLSV"; // record data produced by this dialog 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; return nId; endif; // ensure general initialization is complete 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); 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 ); //This function sets the caption for old style dialogs or //sets the text in the top banner area of win2k style dialogs SdSetDlgTitle(szDlg, hwndDlg, szTitle); case SD_EDIT_SQLSV_NAME: nMessage = CtrlGetSubCommand( szDlg ); if( nMessage = EDITBOX_CHANGE ) then CtrlGetText( szDlg, SD_EDIT_SQLSV_NAME, szSqlsvname ); endif; case SD_EDIT_SQLSV_USER: nMessage = CtrlGetSubCommand( szDlg ); if( nMessage = EDITBOX_CHANGE ) then CtrlGetText( szDlg, SD_EDIT_SQLSV_USER, szSqluser ); endif; case SD_EDIT_SQLSV_PASSWORD: nMessage = CtrlGetSubCommand( szDlg ); if( nMessage = EDITBOX_CHANGE ) then CtrlGetText( szDlg, SD_EDIT_SQLSV_PASSWORD, szSqlpassword ); endif; case OK: nId = NEXT; bDone = TRUE; case BACK: nId = BACK; bDone = TRUE; case DLG_ERR: SdError( -1, "SdWelcome" ); nId = -1; bDone = TRUE; case DLG_CLOSE: SdCloseDlg( hwndDlg, nId, bDone ); default: // check standard handling if (SdIsStdButton( nId ) && SdDoStdButton( nId )) then bDone = TRUE; endif; endswitch; endwhile; EndDialog( szDlg ); ReleaseDialog( szDlg ); SdUnInit( ); // record data produced by this dialog 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 ); return nId; end; function exeSQLfile( szsqlfilename ) STRING szCmdLine; NUMBER nTemp; begin szCmdLine = SUPPORTDIR ^"osql.exe"; if (LaunchAppAndWait(SUPPORTDIR ^"osql.exe", szsqlfilename,WAIT) < 0) then MessageBox ("不能运行SQL安装文件.",SEVERE); endif; end; function modifdbdir() STRING szinstallfile; NUMBER nvResult,nvLineNumber; STRING szwindir,svReturnLine; NUMBER sn,nStartPos; STRING sz1,sz2,sznewdir; NUMBER nTemp; begin szinstallfile = TARGETDIR ^"installcreatedb.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=""; endwhile; end; // // // FUNCTION: OnFileReadOnly // // EVENT: FileReadOnly event is sent during file transfer when a read-only // file is needs to be overwritten or removed. // // ARGUMENTS: File - full path of file that is marked as read-only. // // RETURN: ERR_YES - the file should be overwritten or removed. // ERR_NO - the file should not be modified. // /// function OnFileReadOnly(File) begin return SdExceptions(READONLY, File); end; // // // FUNCTION: OnFileReadOnly // // EVENT: FileReadOnly event is sent during file transfer when a read-only // file is needs to be overwritten or removed. // // ARGUMENTS: File - full path of file that is marked as read-only. // // RETURN: ERR_YES - the file should be overwritten or removed. // ERR_NO - the file should not be modified. // |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/631872/viewspace-823711/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/631872/viewspace-823711/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。