【正文】
rollback。+trim()+39。+trim()+39。+trim()+39。+trim()+39。+trim()+39。++39。++39。 messagebox(提示 !!!,數(shù)據(jù)保存成功 !!!) else//保存修改失敗,取消所作的修改 rollback。 退出: close(w_borrow): 還書界面: 前一條: //定義參數(shù)當前行行數(shù) integer row_current //數(shù)據(jù)窗口向前滾動一條記錄 row_current=() //如果已經(jīng)到達第一條記錄,則彈出一個對話框警告 if row_current=1 then MessageBox(警告 ,已經(jīng)是最前一條記錄 ) end if string s_readerid string lookforcondition g_rownumber=() //得到當前行記錄的讀者種類,賦值給變量 s_readerid=GetItemstring(dw_2,g_rownumber,1) //將讀者對應的讀者種類信息,顯示在 dw_1 上 //得到過濾條件 lookforcondition=readerid = +39。 //彈出一個對話框警告 messagebox(錯誤 !!!,數(shù)據(jù)保 存失敗 ) end if string bid G_RowNumber=() do until G_RowNumber=0 bid=(G_RowNumber,4) //bid=char(bid) //bid=39。++39。++39。++39。++39。++39。++39。++39。++39。++39。++39。++39。++39。++39。++39。 if m0 then messagebox(提示 ,您欠費 +string(m)+元 ) else deleterow(dw_1,g_rownumber) end if end if ////string(xiangcha*) 刷新: () () 保存: if update(dw_1,true,false)=1 then //保存修改成功,提交修改 () mit。 G_RowNumber=G_RowNumber 1 loop //loop //39。+string(s_readerid)+39。++39。++39。+trim()+39。+trim()+39。+trim()+39。+trim()+39。+trim()+39。 //彈出一個對話框 警告 messagebox(錯誤 !!!,數(shù)據(jù)保存失敗 ) end if close(w_books) elseif UpdateOrNot=2 then //不保存 rollback。 messagebox(提示 !!!,數(shù)據(jù)更新成功 !!!) else //保存修改失敗,取消所作的修改 rollback。 // messagebox(提示 !!!,數(shù)據(jù)更新成功 !!!) //else // //保存修改失敗,取消所作的修改 // rollback。 //將數(shù)據(jù)庫中保存的口令和用戶輸入的口令作比較 IF G_PWD=CORRECT_PSWD THEN //輸入正確,打開主窗口 OPEN(W_MAIN) CLOSE(W_LOGIN) ELSE //不正確,在 3 次以內(nèi)可重新輸入,超過 3 次結束程序 IF G_INPUT_TIME 3 THEN MESSAGEBOX(警告 ,輸入用戶口令的次數(shù)太多! ) CLOSE(W_LOGIN) ELSE MESSAGEBOX(警告 ,輸入的用戶口令有誤,請重新輸入 ) END IF END IF end if close(w_start) (W_login) 啟動界面設計 OPEN 事件代碼如下: prog++ =prog =string(prog)+% if prog=100 then timer(0) =false open(w_login) end if w_start 3 .4 屏幕保護界面 (w_screen) 菜單設計 菜單項代碼如下: opensheet (w_login_re,w_main,6,layered!) opensheet (w_change_password,w_main,6,layered!) opensheet (w_user,w_main,6,layered!) close(w_main) opensheet (w_readers,w_main,6,layered!) opensheet (w_readers_grid,w_main,6,layered!) opensheet (w_readers_find,w_main,6,layered!) opensheet (w_books,w_main,6,layered!) opensheet (w_books_grid,w_main,6,layered!) opensheet (w_books_find,w_main,6,layered!) opensheet (w_borrow,w_main,6,layered!) opensheet (w_return,w_main,6,layered!) opensheet (w_borrow_find,w_main,6,layered!) opensheet (w_store,w_main,6,layered!) opensheet (w_kucun,w_main,6,layered!) (CASCADE!) (LAYER!) close(w_about) close(w_books) close(w_books_find) close(w_books_grid) close(w_borrow) close(w_borrow_find) close(w_change_password) close(w_kucun) close(w_login) close(w_login_re) close(w_readers) close(w_readers_find) close(w_readers_grid) close(w_return) close(w_user) opensheet (w_about,w_main,6,original!) 重新登錄界面如下: 確定按鈕代碼如下: string correct_pswd if = then //pop a message box messagebox(PayAttention!,The user name cant be null) //sle_1 get the focus () elseif = then //pop a message box messagebox(PayAttention!,The password cant be null) //sle_2 get the focus () else G_INPUT_TIME =G_INPUT_TIME+1 G_USER = G_PWD = //取出數(shù)據(jù)庫用戶口令表格中對應用戶的口令 SELECT user_PWD ,purview INTO :CORRECT_PSWD,:G_right FROM USER_info WHERE user_id=:G_USER or username=:G_USER。 3 .1 建立應用對象 設置 SQLCA的屬性以及數(shù)據(jù)庫的連接參數(shù) 應用對象 OPEN 事件腳本如下: // Profile guoshusheng = ODBC = False = ConnectString=39。 借書信息,包括數(shù)據(jù)項有:借書信息編號、讀者編號、讀者姓名、書籍編號、書 籍名稱、借書日期、備注等。 二、系統(tǒng)設計 總體設計 結構結構設計主要包括運行模式選擇、操作系統(tǒng)選擇、數(shù)據(jù)庫管理系統(tǒng)選擇、系統(tǒng)功能結構設計。 本系統(tǒng)的主要功能如下: 有關讀者基本信息的輸入,包括讀者編號、讀者類別、讀者姓名、讀者性別、工 作單位、家庭住址、電話號碼、電子郵件、辦證 日期、備注等。該系統(tǒng)本著簡單、實用、方便的宗旨,為管理人員、讀者提供快捷有效的軟件平臺,從而,提高圖書管理工作效率,節(jié)省大量人力和時間,提高了圖書館的信息化程度。 圖書信息的查詢、修改,包括書籍編號、書籍名稱、書籍類別、作者姓名、出版社 名稱、出版日期、書籍價格、書籍類別、登記日期、備注信息等。 ? 用戶界面設計 用戶運行該系統(tǒng)時,首先出現(xiàn)一個登錄窗口,提示輸入用戶名或編號、密碼,輸入正確進入系統(tǒng)主窗口,如圖:( 21) 圖 21 主窗口的上部是菜單和工具欄,系統(tǒng)中的受所有功能通過選擇菜單項或單擊工具欄中的圖標即可。 ? 數(shù)據(jù)庫概念設計 根據(jù)上面設計,規(guī)劃出的實體有:讀者信息實體、書籍信息實體、借閱信息實體、用戶實體、讀者信息實體。PWD=sql39。 CLOSE(W_CHANGE_PASSWORD) END IF END IF OPEN 事件代碼如下: //將全局變量 輸入用戶名和口令的次數(shù)賦初值 0 G_INPUT_TIME=0 //定義變量 Environment l_env int l_ScrWidth,l_ScrHeight //關閉窗口刷新 setRedraw(false) //取得屏幕的高度和寬度 GetEnvironment(l_env) l_ScrWidth=PixelsToUnits(,XpixelsToUnits!) l_ScrHeight=PixelsToUnits(,YpixelsToUnits!) //移動窗口到屏幕中間 Move((l_scrwidth )/2,(l_scrheight )/2) //打開窗口刷新 setredraw(true) 用戶管理界面如下: 添加按鈕代碼如下: //insert a row in the end of dw_1 g_RowNumber=(0) //dw_1 get the focus () //到當前行 (G_RowNumber) //the first column get the focus (1) 刪除按鈕代碼如下: //得到當前記錄 G_RowNumber=() //將當前記錄中的員工號取出賦值給全局變量 emp_no deleterow(dw_1,g_rownumber) int a a=MessageBox(提示 ,確實要刪除嗎 ?,Question!, YesNoCancel!, 3) if a=1 then ( Clicked!) else () end if 保存按鈕代碼如下: if update(dw_1,true,false)=1 then //保存修改成功,提交修改 () mit。 //彈出一個對話框警告 messagebox(錯誤 !!!,數(shù)據(jù)更新失敗 !!!) end if 添加: //insert a row in the end of dw_1 g_RowNumber=(0) //dw_1 get the focus () //到當前行 (G_RowNumber) //the first column get the focus (1) 刪除: //得到當前記錄 G_RowNumber=() //將當前記錄中的員工號取出賦值給全局變量 emp_no