InstallShield自定義對話方塊淺談(四) (轉)
/*------------------------------------------------------------------------*/
/* */
/* Function: CheckServerDSNInputValid */
/* */
/* Descrip: check the input data is valid. */
/* do not need to check the pwd if empty */
/* Misc: */
/* */
/*------------------------------------------------------------------------*/
function CheckSQLServerDSNInputValid(hwndDlg, bAllowNotSet)
STRING szUserName;
STRING szSQLDB;
STRING szSQLAddr;
STRING szSQLDSN;
begin
if(bAllowNotSet) then
_WinSubEnableControl(hwndDlg, SD_PBUT_CONTINUE, 1);
return 1;
endif;
if((CtrlGetState(DSN_SQLSERVER_DLG, IDC_RADIO_DSN_USER) = BUTTON_UNCHECKED) &&
(CtrlGetState(DSN_SQLSERVER_DLG, IDC_RADIO_DSN_SYSTEM) = BUTTON_UNCHECKED)) then
_WinSubEnableControl(hwndDlg, SD_PBUT_CONTINUE, 0);
return 0;
endif;
:namespace prefix = o ns = "urn:schemas--com::office" />
CtrlGetText(DSN_SQLSERVER_DLG, IDC_EDIT_SQLSERVER_USER_NAME, szDBUserName);
if(StrLength(szDBUserName) = 0) then
_WinSubEnableControl(hwndDlg, SD_PBUT_CONTINUE, 0);
return 0;
endif;
CtrlGetText(DSN_SQLSERVER_DLG, IDC_EDIT_SQLSERVER_DSN, szSQLDSN);
if(StrLength(szSQLDSN) = 0) then
_WinSubEnableControl(hwndDlg, SD_PBUT_CONTINUE, 0);
return 0;
else
if(!SQLValidDSN(szSQLDSN)) then
MessageBox("輸入了無效的資料來源名稱!", INFORMATION);
_WinSubFocuntrol(hwndDlg, IDC_EDIT_SQLSERVER_DSN);
return 0;
endif;
endif;
CtrlGetText(DSN_SQLSERVER_DLG, IDC_EDIT_SQLSERVER_DB, szSQLDB);
if(StrLength(szSQLDB) = 0) then
_WinSubEnableControl(hwndDlg, SD_PBUT_CONTINUE, 0);
return 0;
endif;
CtrlGetText(DSN_SQLSERVER_DLG, IDC_EDIT_DB_ADDR, szSQLAddr);
if(StrLength(szSQLAddr) = 0) then
_WinSubEnableControl(hwndDlg, SD_PBUT_CONTINUE, 0);
return 0;
endif;
_WinSubEnableControl(hwndDlg, SD_PBUT_CONTINUE, 1);
return 1;
end;
#endif // __KDCIS_RUL_
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10794571/viewspace-974718/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Flutter 23: 圖解自定義 Dialog 對話方塊Flutter圖解
- flutter demo (四):對話方塊Flutter
- C++ Qt開發:自定義Dialog對話方塊元件C++QT元件
- 自定義一個簡單的載入對話方塊
- 直播系統程式碼,自定義平臺私聊對話方塊
- C/C++ Qt 自定義Dialog對話方塊元件應用C++QT元件
- 一對一直播app開發,自定義彈出對話方塊的樣式APP
- react.js自定義pc桌面端對話方塊|react仿layer彈窗ReactJS
- Dialog對話方塊
- svelte元件:svelte3自定義桌面PC端對話方塊元件svelte-layer元件
- 登入對話方塊
- 規定對話方塊
- SAP Spartacus 自定義Popover指令,如何實現彈出對話方塊自動關閉功能
- 微信小程式-騷操作,自定義授權對話方塊,且遮蓋層遮住tabBar微信小程式tabBar
- DialogPane對話方塊佈局
- Flutter Widgets 對話方塊-DialogFlutter
- 基於NuxtJS/Vue自定義彈層元件|Vue長按彈窗|Vue全域性對話方塊UXJSVue元件
- 基於React.js網頁版彈窗|react pc端自定義對話方塊元件RLayerReactJS網頁元件
- java Swing詢問對話方塊Java
- 在 Flutter 使用 GetX 對話方塊Flutter
- Qt 對話方塊新增工具欄QT
- 0x7_對話方塊
- 訊息對話方塊 confirm() prompt()
- React中的模式對話方塊React模式
- VUE:點選開啟的對話方塊外面時,對話方塊總是被關閉Vue
- 淺談如何實現自定義的 iterator
- 如何自學qt(4)——對話方塊QT
- JavaFX 如何使用內建的對話方塊Java
- flutter佈局-7-About對話方塊Flutter
- w10系統對話方塊這麼變小_w10系統對話方塊如何縮小
- 淺談如何實現自定義的 iterator 之二
- 建立互動式shell指令碼對話方塊指令碼
- 21.Quick QML-FileDialog、FolderDialog對話方塊UI
- [開發教程]第31講:Bootstrap對話方塊boot
- Electron 開啟儲存檔案對話方塊
- Element-Ui元件(三十八)Dialog 對話方塊UI元件
- 淺談分塊
- [WPF]用HtmlTextBlock實現訊息對話方塊的內容高亮和跳轉HTMLBloC
- C/C++ Qt Dialog 對話方塊元件應用C++QT元件