【文章內(nèi)容簡(jiǎn)介】
opensheet (w_weihu_teacher_free,w_main,4,layered!)其功能是在主窗口w_main上以平鋪方式層疊打開(kāi)窗口w_weihu_teacher_free,并指定在第四個(gè)菜單(‘窗口’菜單)標(biāo)題下增加一個(gè)以w_weihu_teacher_free命名的菜單。l “教師信息維護(hù)”-“表格瀏覽”的clicked事件的腳本: opensheet (w_weihu_teacher,w_main,4,layered!)其功能是在主窗口w_main上以平鋪方式層疊打開(kāi)窗口w_weihu_teacher,并指定在第四個(gè)菜單(‘窗口’菜單)標(biāo)題下增加一個(gè)以w_weihu_teacher命名的菜單。l “教師信息查詢”的clicked事件的腳本: opensheet (w_lookfor_teacher,w_main,4,layered!)其功能是在主窗口w_main上以平鋪方式層疊打開(kāi)窗口w_lookfor_teacher,并指定在第四個(gè)菜單(‘窗口’菜單)標(biāo)題下增加一個(gè)以w_lookfor_teacher命名的菜單。 菜單“項(xiàng)目信息管理”見(jiàn)王澄澄畢業(yè)論文 菜單“窗口”l 菜單“窗口” - “層疊”的clicked事件的腳本: (Cascade!)其功能是將所有打開(kāi)的窗口以層疊的方式排列。l 菜單“窗口”-“平鋪”的clicked事件的腳本: (Layer!)其功能是將所有打開(kāi)的窗口以平鋪的方式排列。“幫助”l “關(guān)于”的clicked事件的腳本: Open(w_about_keyan) 其功能是打開(kāi)幫助窗口w_about_keyan。5. 數(shù)據(jù)窗口對(duì)象的創(chuàng)建在應(yīng)用程序中,根據(jù)需要共創(chuàng)建了三個(gè)數(shù)據(jù)窗口:l 數(shù)據(jù)窗口d_teacher_insert,選擇Quick Select數(shù)據(jù)源、Freedom形式,連接表Tab_teacher,與窗口w_insert_teacher關(guān)聯(lián)。l 數(shù)據(jù)窗口d_teacher_grid,選擇SQL Select數(shù)據(jù)源,Grid形式,連接表Tab_teacher,與窗口w_lookfor_teacher和w_weihu_teacher關(guān)聯(lián)。l 數(shù)據(jù)窗口d_teacher, 選擇Quick Select數(shù)據(jù)源、Freedom形式,連接表Tab_teacher,與窗口w_weihu_teacher_free關(guān)聯(lián)。6. 窗口對(duì)象w_insert_teacher此窗口功能是實(shí)現(xiàn)教師信息的錄入,由主窗口的“教師信息管理”菜單的“教師信息錄入”調(diào)用。運(yùn)行界面如下:l 窗口w_insert的open腳本(sqlca)()long row_number()row_number=insertrow(,0)l 【保存】按鈕控件的clicked事件用于對(duì)輸入信息進(jìn)行保存,若保存失敗,系統(tǒng)會(huì)給予提示。腳本如下:string vxm,vxmpystring vhmselect to_char()into :vhmfrom dual。if 0 then messagebox(錯(cuò)誤!!!,生成順序號(hào)失敗!) returnend if(1,39。teacher_id39。,vhm)()vxm=(1,39。teacher_name39。)select getpy(:vxm) into :vxmpyfrom dual。if 0 then messagebox(錯(cuò)誤!!!,生成拼音失敗!) returnend if(1,39。teacher_spell39。,vxmpy)if update(,true,false)=1 then //保存修改成功,提交修改 () mit。 () row_number=insertrow(,0)else //保存修改失敗,取消所作的修改 rollback。 //彈出一個(gè)對(duì)話框警告 messagebox(錯(cuò)誤!!!,數(shù)據(jù)保存失敗!)end ifl 【退出】按鈕控件的clicked事件用于關(guān)閉該輸入窗口。在關(guān)閉窗口之前,首先判斷用戶是否對(duì)數(shù)據(jù)窗口中的記錄做了修改而沒(méi)有保存到數(shù)據(jù)庫(kù)中,如果又這樣的記錄,則出現(xiàn)對(duì)話框詢問(wèn)用戶是否保存所作的修改,腳本如下:int MCount //修改后沒(méi)有保存的行數(shù)int UpdateOrNot //是否修改//得到修改后沒(méi)有保存的行數(shù)MCount=()if MCount=0 then //沒(méi)有未保存的修改 close(w_insert_teacher)elseif Mcount0 then //詢問(wèn)是否保存所做的修改UpdateOrNot=MessageBox(保存修改,您修改了數(shù)據(jù)窗口中的數(shù)據(jù),現(xiàn)在是否保存?,Question!,YesNoCancel!) if UpdateOrNot=1 then //保存 if update(,true,false)=1 then //保存修改成功,提交修改 () mit。 close(w_insert_teacher) else //保存修改失敗,取消所作的修改 rollback。 //彈出一個(gè)對(duì)話框警告 messagebox(錯(cuò)誤!!!,數(shù)據(jù)保存失敗!) end if elseif UpdateOrNot=2 then //不保存 rollback。 close(w_insert_teacher) end ifend if7. 窗口對(duì)象w_weihu_teacher 此窗口實(shí)現(xiàn)教師信息的表格瀏覽,由主窗口的“教師信息管理”菜單的“教師信息維護(hù)”的“表格瀏覽”調(diào)用,可對(duì)信息進(jìn)行修改、刪除等操作。 運(yùn)行界面如下: l .數(shù)據(jù)窗口的clicked事件,其功能是單擊標(biāo)題欄時(shí)實(shí)現(xiàn)對(duì)教師信息排序。腳本如下: string col_name //列名 string col_text //列標(biāo)題 int length //列標(biāo)題長(zhǎng)度 if sortway= d then //sortway 實(shí)例變量 sortway= a else sortway= d end if col_text=。 //dwo系統(tǒng)變量 length=len(col_text)。 col_name=left(col_text,length 2) if not isnull(col_name) then if (col_name+sortway)=1 then () end if end ifl 【保存】按鈕控件的clicked事件用于對(duì)修改厚的信息進(jìn)行保存,若保存失敗,系統(tǒng)會(huì)給予提示。腳本如下:if update(,true,false)=1 then //保存修改成功,提交修改 () mit。else //保存修改失敗,取消所作的修改 rollback。 //彈出一個(gè)對(duì)話框警告 messagebox(錯(cuò)誤!!!,數(shù)據(jù)保存失敗!)()end ifl 【刪除】按鈕控件的clicked事件用于刪除當(dāng)前光標(biāo)所在的那條記錄。如果該教師是某項(xiàng)目負(fù)責(zé)人,則根據(jù)參照完整性規(guī)則,該記錄不能被刪除。腳本如下:long current_rownumberint UpdateOrNot //是否刪除 //詢問(wèn)是否確定刪除UpdateOrNot=MessageBox(刪除記錄?,您確定要?jiǎng)h除數(shù)據(jù)窗口中的數(shù)據(jù)?,Question!,YesNo!) if UpdateOrNot=1 then //刪除 current_rownumber=() deleterow(,current_rownumber) if update(,true,false)=1 then //保存修改成功,提交修改 () mit。 else //保存修改失敗,取消所作的修改 rollback。 //彈出一個(gè)對(duì)話框警告 messagebox(錯(cuò)誤!!!,數(shù)據(jù)刪除失敗!) () end if elseif UpdateOrNot=2 then //不刪除 //rollbac