【摘 要】在計算機(jī)飛速發(fā)展的今天,信息技術(shù)已深入到各個領(lǐng)域,教師任課情況是一項較復(fù)雜的管理工程,包括任課班級、任課學(xué)時的統(tǒng)計、全體任課教師的工作量排序等,人工統(tǒng)計費(fèi)時費(fèi)力,本人經(jīng)過實踐經(jīng)驗總結(jié)編制了教師任課管理系統(tǒng)軟件,該軟件的應(yīng)用大大地提高了工作效率。
【關(guān)鍵詞】教師任課 管理系統(tǒng) 開發(fā)應(yīng)用
【中圖分類號】TP311.5 【文獻(xiàn)標(biāo)識碼】A 【文章編號】1674-4810(2012)09-0175-02
一 問題的提出
以往在教學(xué)管理方面,全校課程總表的形成、教師理論教學(xué)工作量的匯總、排序等工作,都是由人工挑選、人工錄入、人工匯總、人工排序完成的;班級越多工作量越大,既費(fèi)力又費(fèi)時。
通過本人編制的此軟件解決了以上難題。同時具有管理科學(xué)、監(jiān)控全面、督進(jìn)教學(xué)、提高工作效率等現(xiàn)實意義。從初形到完善歷時兩年,運(yùn)行三個學(xué)期。目前該軟件運(yùn)行良好,比較穩(wěn)定。
二 開發(fā)思路
1.界面設(shè)計
一個好的運(yùn)行軟件,應(yīng)有好的運(yùn)行界面,給人以一種賞心悅目的感覺,使操作者有興趣操作,這也是收到良好效果的一種途徑,此軟件界面具有從左上角到右下角動態(tài)展開效果。代碼如下:
第一,在form1的load事件中加入如下代碼:
Public F_hei,F(xiàn)_wid,I
F_hei = Thisform.Height
F_wid = Thisform.Width
Thisform.Height = 0
Thisform.Width = 0
I = 0
第二,在timer1的timer事件中加入如下代碼:
If I >= F_hei
Thisform.Timer1.Enabled = .F.
Return
Endif
Thisform.Height = I
Thisform.Width = I * F_wid / F_hei
I = I + 10
第三,將timer1中的interval屬性設(shè)為30。
2.功能設(shè)計
第一,錄入設(shè)計。一個好的軟件除了有好的界面外,功能也是最主要的,其一就是“錄入工序越簡單越好”。本系統(tǒng)采取了帶上條記錄中有用信息及采用了選項的處理辦法,大大減輕了錄入人員的工作量。首先,對錄入的項目采用了初始化辦法,這樣,只要錄一次初始庫信息,其他地方錄入只要進(jìn)行選擇就可以了。
其代碼如下:
thisform.grid1.readonly=.f.
thisform.grid1.setfocus
go bott
jys=教研室
rkjs=任課教師
rkkm=任課科目
rkbj=任課班級
xq=星期
zxs=周學(xué)時
zs=周數(shù)
appe blan
repl 教研室 with jys
repl 任課教師 with rkjs
repl 任課科目 with rkkm
repl 任課班級 with rkbj
repl 星期 with xq
repl 周學(xué)時 with zxs
repl 周數(shù) with zs
Thisform.Refresh()
第二,查詢設(shè)計。主要是查詢每天每節(jié)任課教師人員及任課班級情況。
以查詢星期一第一節(jié)任課教師為例,查詢程序如下:
SELECT教研室,任課教師,任課班級,任課科目,星期,第幾節(jié);
into cursor ls from jsrkqk where 星期=’一’.and. 第幾節(jié)=’一’
brow
本地方處理辦法主要是:利用SQL語言從錄入庫中提取符合條件的信息。
第三,形成課程總表設(shè)計。設(shè)計思路:分別提取每天每節(jié)任課教師信息分別存放到各自的數(shù)據(jù)表中,然后將每天第一節(jié)橫向連接、第二節(jié)橫向連接、第三節(jié)橫向連接、第四節(jié)橫向連接、第五節(jié)橫向連接、第六節(jié)橫向連接;最后,將連接的表再縱向連接,就形成了總課表。(由于代碼較長代碼省略)
第四,工作量排序匯總設(shè)計:
其程序如下:
yn = MESSAGEBOX(\"是否開始排序?\",4+32,\"信息窗口\")
IF yn = 6
close data
sele * from jsrkqk into tabl jsrkqkgzl
alter tabl jsrkqkgzl alter colu 周學(xué)時 n(4)
alter tabl jsrkqkgzl alter colu 周數(shù) n(4)
repl all 授課總學(xué)時 with 周學(xué)時*周數(shù)
sele distinct 教研室,任課教師,任課班級,任課科目,授課總學(xué)時;
from jsrkqkgzl;
order by 任課教師;
into table gzl
sele * from gzl;
order by 任課科目;
into table gzl1
close data
select 教研室,任課教師,任課科目,sum (授課總學(xué)時) as 授課總學(xué)時;
into table xsgzl;
from gzl1;
group by 任課教師
close data
use xsgzl
select * from xsgzl;
order by 授課總學(xué)時 desc;
into table gzlxs
close data
use gzlxs
copy to 授課總學(xué)時 xl5
if fcount()=4
alter table gzlxs ADD 名次 n(2)
repl all 名次 with recno()
endif
sele sum(授課總學(xué)時) as 總學(xué)時 from gzlxs into tabl mm
zxs=總學(xué)時
sele gzlxs
appe blan
appe blan
repl 教研室 with ’總學(xué)時’
repl 授課總學(xué)時 with zxs
COPY TO 工作量排序.xls TYPE XL5
brow
dele file *.bak
endif
三 適用面設(shè)計
為拓展軟件的實用面,在設(shè)計時加入了使用單位信息框,此信息是在安裝時錄入的并且進(jìn)入到了計算機(jī)的注冊表中,然后從注冊表中提取此信息,存放到了單位信息框。
其程序如下:
#DEFINE HKEY_CURRENT_USER -2147483647
#DEFINE ERROR_SUCCESS 0
kk=tsj(HKEY_CURRENT_USER ,\"Software\\Microsoft\\MS Setup (ACME)\\User Info\",\"DefCompany\")
save to D:\\jsrkqk\\uuuu
FUNCTION tsj
PARAMETERS hKey, Subkey ,cs,w,k
nHandle=0
DECLARE INTEGER RegOpenKey IN Win32API INTEGER hKey,STRING SubKey, INTEGER @nHandle
nResult=RegOpenKey(hkey,SubKey,@nHandle)
DECLARE INTEGER RegQueryValueEx IN Win32API ;
INTEGER nHKey,STRING lpszValueName, INTEGER dwReserved,INTEGER @lpdwType,STRING @lpbData, INTEGER @lpcbData
cDataBuffer=SPACE(256)
nBufferSize=LEN(cDataBuffer)
nType=1
nResult=RegQueryValueEx(nHandle,cs,w,k,@cDataBuffer,@nBufferSize)
RETURN cDataBuffer
為了安裝后,使自編的運(yùn)行程序進(jìn)入“開始-程序-菜單”欄使用了如下命令:
copy file jsrkqk.exe to c:\\Windows\\startmenu\\programs\\教師任課情況.exe
這樣,安裝后進(jìn)入“開始-程序-菜單”選擇“教師任課情況”即刻啟動。
〔責(zé)任編輯:高照〕