?

基于VB的通用型成績自動錄入軟件的研究及實踐

2020-09-27 23:02肖冬焱蔣智鋼
電腦知識與技術 2020年23期

肖冬焱 蔣智鋼

摘要:隨著校園信息化建設進度的加快,課程考試結束后將學生的考試成績錄入教務管理系統已經成為各大院校的標準操作。常規的手工錄入成績的方法已經不能滿足大家對工作質量和效率的要求。為了在保證成績錄入正確率的同時,提高工作效率,減輕教師的工作量,本文在教師需求調研以及對學校教務管理系統成績錄入模塊功能分析的基礎上,編寫了通用型成績自動錄入程序,該程序操作簡單、運行穩定,可適用于多種數據錄入環境,具有很高的推廣性。

關鍵詞:成績管理;自動錄入;VB

中圖分類號:TP311? ? ? 文獻標識碼:A

文章編號:1009-3044(2020)23-0004-03

Abstract: With the rapid development of campus information construction, it has become a standard operation for colleges and universities to input students' examination results in the educational administration management system after the course examination. The traditional method of manually entering grades can not meet the requirements of work quality and efficiency. To ensure the accuracy of score entry, reduce the workload of teachers and improve the work efficiency of score upload, a general-purpose automatic score entry program was developed based on the investigation of teachers' needs and the analysis of the function of score entry module of school educational administration management system. The program was easy to use, stable to operate, applicable to a variety of data entry environments, and popularized highly.

Key words: score management; automatic typing; VB

時至今日,校園網已經日益普及,許多學校的日常教學管理工作也基本上都轉變成了網上辦公,如學生課程表的安排、教師授課計劃任務的下發、網上考試的實行、考試成績的管理等,這些改變大大地減少了傳統教學管理中的一些中間環節,提高了管理部門的工作效率;但與此同時也給不同專業的教師帶來了新的挑戰和急需解決的困難。按教務處要求,教師須在考試結束后一周內完成改卷及成績上傳工作,要在較短的時間內完成試卷的批改、平時成績的統計、期末考試成績的匯總及上傳,并且還要保證成績的正確性,這些都給教師造成了很大的壓力。在過去,期末考試結束以后,教師只需要把學生的考卷批改完畢,然后將考試成績登入記分冊后交到教務處即可。由于不少高校的成績管理系統尚不完善[1-2],現在雖已改為網絡辦公,但出于某種考慮,教師依舊得先完成紙質版成績冊的填寫,然后再將其錄入校園網的教務系統中去,這無形中使得教師工作量翻倍,在這個過程中,成績輸入錯位、漏輸以及成績審核煩瑣等情況時有發生。這種成績處理方式不但工作量巨大而且效率低下,導致學生成績管理工作也變得煩瑣困難。因此,有必要開發一個輔助教師高效完成成績錄入的小程序,除了能降低成績錄入出錯的概率外,還應大大減少該工作的勞動量,提高工作效率,有利于保證教務管理部門能夠按計劃按時完成相關工作。

1 系統功能需求分析

開發本系統的目的是解決教師錄入成績過程中存在的3個問題:1)成績錄入速度慢;2)成績錄入容易發生輸錯位置或輸錯等情況;3)成績錄入完成后復核工作的煩瑣。由于網上成績錄入系統的表格中字體較小,教師錄入一段時間后極易出現眼花的情況。因此,哪怕只是復核錄入完畢的成績也不輕松。

軟件的預期目標是:1)快速完成上百乃至上千人成績的自動錄入;2)保證近乎0的錄入出錯率;3)免除成績復核的工序;4)方便易用,不受制于網絡成績錄入系統中網頁元素的限制;5)除了成績錄入還可滿足其他類似數據的錄入需要。

據此,規劃設計系統功能時需滿足:1)使用簡單,教師無須花費時間學習,看見軟件就會使用;2)設計為通用型數據錄入工具,而不是針對特定網頁元素使用[3];3)開發成用戶接受的綠色便攜版。

2 程序設計思路

成績錄入界面的分析。我校教務系統中學生成績管理模塊部分僅涉及學生總成績一個項目,即對于每個學生只需要教師錄入該生的一個分數就可以了;錄入完一個學生的成績后,要轉到下一個學生繼續錄入時只能按鍵盤上的“↓”或者直接使用鼠標點擊進行定位,該錄入系統不支持Enter鍵。此外,由于成績上傳頁面中使用了多個框架頁面,而且,因系統設置的原因,一個教師執教的多個班級的學生名單會同時出現在一個成績表格中,這就意味著該表格有時會長達數百行,于是該框架頁的右側亦會常常顯示一個垂直滾動條,這種復雜的頁面結構使得打算利用網頁元素[4]的定位屬性(如ID、Name、Index等)來實現自動輸入的設想難度過大,加之不同學校使用的教務系統采用的網頁框架也可能存在這樣或者那樣的差別,這將會造成根據某一特定學校的成績錄入系統的網頁特性編寫的軟件在其他地方無法使用,有悖于開發通用性軟件的初衷。有鑒于此,本程序擬利用Visual Basic能夠模擬人對鍵盤操作的特性來實現自動輸入成績的功能,這樣就可以直接忽略目標系統的網頁界面布局及其所使用的網頁元素的限制,既不必對成績錄入網頁的元素進行分析就能實現輸入,亦可適用于更多需要實現自動輸入數據的情況。

教師管理成績的實際情況(包括教師個人習慣)分析。通過調查走訪以及結合自身的實際情況,對教師處理學生成績的具體步驟進行了詳細分析,結果發現,自開學伊始,學校教務系統會向教師下發本學期的教學任務,教師可以從系統中下載其教學任務涉及班級的學生名冊(Excel格式)。在隨后的教學過程中,教師會依據學生名冊對同學的上課情況、平時考核情況以及期末考試等逐一進行記錄,并在學期末時將紙質版記錄上交教務處存檔,同時,還需將相關成績錄入到網上的教務系統中去。在調查中,我們發現大家的使用習慣是,幾乎所有教師都會在教學過程中將與學生相關的各種信息如考勤情況、平時成績、期中測驗分數等信息記入Excel文件中,以便期末考試完畢錄入試卷成績后可以直接獲得課程總成績。另外,注意到教師平時記載學生成績信息的Excel文件中學生名字的順序與上傳成績時的學生名字順序是一一對應的這一特點,這意味著,只要期末考試的試卷成績一輸入該Excel后,即可得到與成績上傳表格中學生順序完全一致的數據源,這為實現成績的高效錄入奠定了基礎。

換行方式的自定義。由于考慮到軟件的通用性,即不僅要滿足我校教務系統中成績上傳的特點,還要滿足其他需要自動錄入數據的情況,故本程序被設計成采用Sendkeys對鍵盤操作進行模擬,也就擺脫了本校系統只能使用箭頭按鍵切換的限制,同時還可以將使用Enter鍵切換的情況也一并考慮進去,使得程序的通用性更好。從程序功能方面來說,只需在軟件界面上增加一個選擇換行方式的按鈕,即可實現對于一個數據錄入完畢后如何切換到下一個數據輸入位置的自定義切換功能,使用者可以根據其所處的具體成績登錄系統環境中使用的換行鍵自行選擇設置,本程序默認采用Enter(回車鍵)實現換行功能。

開發工具的選擇。選擇Microsoft公司的Visual Basic 6.0是因為其與Windows系列操作系統都是同一家公司出品,在兼容性方面具有良好的表現。借助CommonDialog控件的靈活性,可以很輕松地導入成績的數據源。程序界面將遵循簡潔原則進行規劃,直接在界面上提供“第一步”“第二步”等簡要的使用說明,以確保使用者即使是初次使用該程序也可無障礙使用。

軟件運行環境的要求。硬件要求:對電腦硬件配置無特殊要求,目前學校辦公室里的電腦均可正常運行。系統要求:全面兼容Windows系列操作系統,WinXP、Win7等均可正常使用,但需注意的是,由于安全性的問題,Win7及以上系統需“以管理員身份運行”才不會出現未知錯誤。

3 主要功能的代碼實現

3.1 換行功能的自定義

本程序默認換行方式為Enter鍵,因此在進入程序界面時即先行設定“回車鍵”單選按鈕處于選中狀態。具體代碼如下:

Private Sub Form_Load()

Option1.Value = True設定“回車鍵”已被選中

End Sub

若老師使用的成績上傳系統是使用“↑”或“↓”來切換數據輸入位置的,那么,需要在開始執行自動錄入成績前再次確認換行方式的種類,以便保證程序能夠正常運行。相關代碼如下:

If Option1.Value = True Then如果換行方式為Enter鍵

SendKeys "{ENTER}", True

Else如果換行方式為“↓”鍵

SendKeys "{DOWN}", True

End If

3.2 數據文件選擇功能

為了使程序具有更好的操作體驗,故沒有指定使用者必須將成績以固定的文件名進行保存,而是以CommonDialog控件提供文件選擇功能,允許用戶可以操作程序打開其保存在電腦上任意位置的數據文件。代碼如下:

CommonDialog1.Filter = "All Files (*.*)|*.*|CSV Files(*.csv)|*.csv"

' 指定缺省的過濾器

CommonDialog1.FilterIndex = 2

' 顯示“打開”對話框

CommonDialog1.ShowOpen

' 顯示選定文件的名字

strf = CommonDialog1.FileName將獲取的數據文件名賦值給變量strf

3.3 數據錄入功能

在獲得行數和列數的具體數值后,使用For…Next語句完成數據的輸入,并在全部數據錄入結束后彈出對話框對用戶給予提示。

For i = 1 To xs ‘學生人數即行數

For j = 1 To ts ‘考題數目即列數

KSCJ = cj(i, j)

SendKeys KSCJ, True

Sleep 500執行下一操作前等待500毫秒

If Option1.Value = True Then

SendKeys “{ENTER}”, True

Else

SendKeys “{DOWN}”, True

End If

Sleep 500

Next

Next

Sleep 1000執行下一操作前等待1000毫秒

MsgBox “成績全部錄入完畢!”, vbSystemModal, “溫馨提示”

4 軟件的實際運用

運行程序后,軟件界面如圖所示(圖1),界面第一行是關于“第一步”的文字說明,界面中間提供了一個圖示,簡要地介紹了成績錄入界面的情況,以行數表示需要錄入成績的同學數,以列數代表一個同學有幾項成績需要錄入,可以是一份試卷中的每個題目的分數,也可以是平時成績、實驗成績、期末成績等,具體可由授課教師根據自己的實際情況自行設置。例如,只需要錄入一個總成績,那么在程序界面的“考題數目”處輸入“1”就好,因為一個成績對應一列,至于“學生人數”那里就是有多少人的成績就輸入多少。

另外,如果教師在教務系統中錄入完一個成績后,是通過按Enter(回車鍵)切換到下一位同學,那么,在“換行方式”那里就不必設置了;如果是需要按鍵盤上的“↑↓←→”來切換的話,那么就需要把“換行方式”區域中的“下箭頭”選中就可以實現相應的功能?;驹O置完成后,點擊“開始”按鈕,會彈出一個打開文件的對話框,使用者只需到自己保存之前成績的文件夾里面找到成績文件即可,本程序默認支持CSV格式,其支持Excel編輯且體積更小,以相同的1000個數據為例,若保存為Excel格式,體積為47.5KB,而CSV格式只需4.77KB,二者相差約10倍。程序讀入數據完畢后會彈出提示“數據文件讀取完畢,請在5秒內將光標切換到成績上傳系統的起始輸入單元格中”,點擊“確定”按鈕后,教師只需迅速把光標放到成績錄入的地方,然后靜待程序自動完成成績的錄入,待成績全部輸入結束后,會彈出對話框提示“成績全部錄入完畢!”,此時,若無須繼續錄入,老師點擊“退出”按鈕關閉程序即可(圖2)。

經實際應用測試,本程序錄入100個分數僅需102秒,約平均每秒輸入1個分數,且出錯率為0。本軟件自身體積小巧,采用ASPack V2.12壓縮打包后體積僅26.5 KB。此外,由于Visual Basic與Windows系統均為同一家公司開發,所以,該程序支持在Windows 系統中直接拷貝使用,相當方便。

參考文獻:

[1] 張妮妮. 高校成績管理工作的問題及對策[J]. 知識窗(教師版), 2019(11): 105.

[2] 于雯, 李輝. 高等醫學院校學生成績管理存在的問題、原因與對策[J]. 當代教育實踐與教學研究, 2019(21): 82-83.

[3] 張金沙, 金笛, 石劭紅. 基于VBA成績自動上傳系統的開發[J]. 電腦知識與技術, 2016, 12(32): 80-82.

[4] 李光飛, 王德東, 樓然苗. 教務成績輔助錄入系統的設計與實現[J]. 電腦知識與技術, 2015, 11(32): 60-61, 68.

【通聯編輯:謝媛媛】

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合