- 相关推荐
VB+教学辅助系统(一)
摘 要
20世纪以来,社会生产力迅速发展,科学技术突飞猛进,人们进行信息交流的深度与广度不断增加,信息量急剧增长,传统的信息处理与决策的手段已不能适应社会的需要,信息的重要性和信息处理问题的紧迫性空前提高了,面对着日益复杂和不断发展,变化的社会环境,特别是企业间日趋剧烈的竞争形势,一个人、一个企业要在现代社会中求生存,求发展,必须具备足够的信息和强有力的信息收集与处理手段。
对于学校教师来来说,大量教师教学课程若可以利用计算机技术将平时教学的内容结合信息技术的方便快捷性,将大大提高工作效率提高学生学习积极性.同样教学水平的信息话也是衡量一个社会进步也否的重要指标.这就迫切需要利用计算机技术来帮助学校管理者来处理教师日常教学信息的信息化管理.教学辅助系统是管理信息系统的一个典型用例.
管理信息系统是一个集信息技术、经济管理理论、统计学与运筹学、数据库技术为一体的综合性系统,是一个资金技术密集型、劳动密集型、智力密集型的项目。我国拥有广阔的市场和丰富的人才资源,有几十年的技术积累和经验积累,有一定的后发优势。管理信息系统的创新工作既不能妄自菲薄,更不能夜郎自大。要抓住当前网络经济兴起的有利时机,以实现我国信息技术和信息产业的跨越式发展,更好地发挥信息产业对国民经济增长的拉动作用。
开发学校教师管理系统的过程就是要实现数据处理方式由人工管理向计算机管理的转变,它在计算机技术和教师管理实践活动两者之间架设桥梁。
关键字:教学辅助系统,管理信息系统,数据库,计算机管理
引言
对于学校教师来来说,大量教师教学课程若可以利用计算机技术将平时教学的内容结合信息技术的方便快捷性,将大大提高工作效率提高学生学习积极性.
1.1背景
1.1.1教学辅助系统
如今随着教育事业的发展,教师教学内容的增多,如何才能让教师减少压力,同时又增加学生的学习积极性,我们想到了教学辅助系统,采用本系统,教师可以将讲课内容输入系统,采用计算机处理的方式,让学生自主的学习.
1.2 开发教学辅助系统的目的与原则
本教学辅助系统的主要目的是服务与中小学,各高校的教师,方便其讲课,其原则是做到,界面友好人性,操作简单,可靠.
1.3开发环境介绍
1.3.1开发平台
本教师管理系统的开发平台为微软windows xp visual basic 6.0 以及微软的Access作为操作数据库.
数据库设计工具——ACCESS数据库管理系统
Microsoft Access介绍:
使用 Microsoft Access,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。 如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。 如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。 如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,Microsoft Access 将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。 如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。
系统设计
2.1 系统分析
本教学辅助系统采用计算机专业的VB课程为内容主要由以下几大模块构成.
vb基础(vb概述,窗口控件和菜单,工程的管理,开发应用程序)
语言参考(关键字,函数,数据类型,伪指令,运算符)
API函数
经典事例
2.2 系统流程和操作方式设计
系统界面设计
3.1系统界面设计
主界面设计
代码设计:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private BigStyle As String
Private SmallStyle As String
Private RTB1_BackCorlor As Integer
Private AddCode As Boolean
Private EditCode As Boolean
Dim Temptitle As String
Private Sub Cmdcancel_Click()
RTB1.BackColor = GetSetting(App.EXEName, "Corlor", "BackCorlor", RTB1.BackColor)
Frame5.Visible = False: Frame6.Visible = False: TreeView1.Visible = True
RTB1.Locked = True
EditCode = False
AddCode = False
Toolbar1.Buttons(7).Image = 5: Toolbar1.Buttons(8).Image = 6
Toolbar1.Buttons(7).Caption = "全选": Toolbar1.Buttons(8).Caption = "复制"
Toolbar1.Buttons(7).Tag = "Tool_SelAll": Toolbar1.Buttons(8).Tag = "Tool_Copy"
Menu_Plaste.Enabled = False: Menu_Clear.Enabled = False
End Sub
Private Sub Cmdfix_Click()
Frame5.Visible = False: Frame6.Visible = False: TreeView1.Visible = True
Dim adoprimaryrs As New ADODB.Recordset
If Cbostyle.Text = "" Then
MsgBox "类别不能为空", vbCritical + vbApplicationModal, "错误"
Exit Sub
End If
If TxTTitle.Text = "" Then
MsgBox "标题不能为空", vbCritical + vbApplicationModal, "错误"
Exit Sub
End If
If RTB1.Text = "" Then
MsgBox "内容不能为空", vbCritical + vbApplicationModal, "错误"
Exit Sub
End If
Select Case True
Case AddCode
i = ExistRecord("code", "标题", Trim(TxTTitle.Text))
If i Then
MsgBox "该代码标题已存在,请重新修改代码标题", vbCritical + vbApplicationModal, "错误"
TxTTitle.SelStart = 0
TxTTitle.SelLength = Len(Trim(TxTTitle.Text))
Exit Sub
End If
Case EditCode
Dim adoprimarycmd As New ADODB.Command
adoprimarycmd.ActiveConnection = StrConnect
adoprimarycmd.CommandText = "delete * from code where 标题='" & Trim(Temptitle) & "'"
adoprimarycmd.Execute
Set adoprimarycmd = Nothing
End Select
adoprimaryrs.CursorLocation = adUseClient
adoprimaryrs.Open "select * from code", StrConnect, adOpenKeyset, adLockOptimistic, adCmdText
adoprimaryrs.MoveLast
adoprimaryrs.AddNew
adoprimaryrs.Fields("大类别") = Trim(BigStyle)
adoprimaryrs.Fields("小类别") = Trim(Cbostyle)
adoprimaryrs.Fields("标题") = Trim(TxTTitle)
adoprimaryrs.Fields("内容") = RTB1.Text
adoprimaryrs.Update
Set adoprimaryrs = Nothing
RTB1.BackColor = GetSetting(App.EXEName, "Corlor", "BackCorlor", RTB1.BackColor)
Call ShowTree(BigStyle)
RTB1.Locked = True
EditCode = False
AddCode = False
Toolbar1.Buttons(7).Image = 5: Toolbar1.Buttons(8).Image = 6
Toolbar1.Buttons(7).Caption = "全选": Toolbar1.Buttons(8).Caption = "复制"
Toolbar1.Buttons(7).Tag = "Tool_SelAll": Toolbar1.Buttons(8).Tag = "Tool_Copy"
Menu_Plaste.Enabled = False: Menu_Clear.Enabled = False
RTB1.Font.Size = GetSetting(App.EXEName, "Font", "FontSize", RTB1.Font.Size)
RTB1.BackColor = GetSetting(App.EXEName, "Corlor", "BackCorlor", RTB1.BackColor)
End Sub
'Private Sub Command1_Click()
'Dim str As String: Dim rst1 As New ADODB.Recordset: Dim rst2 As New ADODB.Recordset
'str = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\WinApi.mdb;"
'rst1.Open "select * from winfun", str, adOpenKeyset, adLockOptimistic
'rst2.Open "select * from funclass", str, adOpenKeyset, adLockOptimistic
'rst1.MoveFirst
'For i = 1 To rst1.RecordCount
' rst1.Fields("声明") = GetFthFld2("funclass", "name", rst1.Fields("函数"), "fullname")
' rst2.Update
' rst1.MoveNext
'Next
'End Sub
Private Sub Form_Load()
Me.Top = 0: Me.Left = 0
Frame5.Visible = False: Frame6.Visible = False: TreeView1.Visible = True
StatusBar1.Panels(1).Text = " " & Format(Date, "long date") & " " & Time & " "
RTB1.FileName = App.Path & "\data\about.dat"
RTB1.Font.Size = GetSetting(App.EXEName, "Font", "FontSize", RTB1.Font.Size)
RTB1.BackColor = GetSetting(App.EXEName, "Corlor", "BackCorlor", RTB1.BackColor)
StrConnect = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\VB.mdb;"
StrTempConnect = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\winapi.mdb;"
BigStyle = "VB基础"
Call ShowTree(BigStyle)
End Sub
Private Sub ShowTree(ByVal TempBigStyle As String)
Dim nodex As Node
Dim nodey As Node
Dim adoprimaryrs1 As New ADODB.Recordset
Dim adoprimaryrs2 As New ADODB.Recordset
a = "aa"
b = "bb"
c = "cc"
If TempBigStyle = "API函数" Then
'*************************************************
adoprimaryrs1.CursorLocation = adUseClient
adoprimaryrs1.Open "select 函数 from winfun order by 函数", StrTempConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
'*************************************************
TreeView1.LineStyle = tvwRootLines
TreeView1.Nodes.Clear
Set nodex = TreeView1.Nodes.Add(, , a, TempBigStyle, 2, 1)
If adoprimaryrs1.RecordCount <> 0 Then
adoprimaryrs1.MoveFirst
Else
Exit Sub
End If
Do Until adoprimaryrs1.EOF
TempSmallStyle = adoprimaryrs1.Fields("函数").Value
Set nodey = TreeView1.Nodes.Add(a, tvwChild, b, TempSmallStyle, 3, 3)
b = b + "1"
adoprimaryrs1.MoveNext
Loop
adoprimaryrs1.Close
Set adoprimaryrs1 = Nothing
Else
'*************************************************
adoprimaryrs1.CursorLocation = adUseClient
adoprimaryrs2.CursorLocation = adUseClient
adoprimaryrs1.Open "select distinct 小类别 from Code where 大类别='" & TempBigStyle & "'", StrConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
'*************************************************
TreeView1.LineStyle = tvwRootLines
TreeView1.Nodes.Clear
Set nodex = TreeView1.Nodes.Add(, , a, TempBigStyle, 2, 1)
If adoprimaryrs1.RecordCount <> 0 Then
adoprimaryrs1.MoveFirst
Else
Exit Sub
End If
Do Until adoprimaryrs1.EOF
TempSmallStyle = adoprimaryrs1.Fields("小类别").Value
Set nodey = TreeView1.Nodes.Add(a, tvwChild, b, TempSmallStyle, 3, 3)
If adoprimaryrs2.State = 1 Then
adoprimaryrs2.Close
End If
adoprimaryrs2.Open "select 标题 from Code where 大类别='" & TempBigStyle & "' and 小类别='" & TempSmallStyle & "'", StrConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
If adoprimaryrs2.RecordCount <> 0 Then
adoprimaryrs2.MoveFirst
End If
Do Until adoprimaryrs2.EOF
Set nodey = TreeView1.Nodes.Add(b, tvwChild, c, adoprimaryrs2.Fields("标题"), 4, 4)
c = c + "1"
adoprimaryrs2.MoveNext
Loop
b = b + "1"
adoprimaryrs1.MoveNext
Loop
adoprimaryrs1.Close
adoprimaryrs2.Close
Set adoprimaryrs1 = Nothing
Set adoprimaryrs2 = Nothing
End If
TreeView1.Nodes(1).Expanded = True
End Sub
Private Sub Form_Resize()
If Me.WindowState = maximized Then
Me.Width = 12000
Me.Height = 9000
End If
End Sub
Private Sub Menu_BackCorlor_Click()
CommonDialogCorlor.ShowColor
RTB1.BackColor = CommonDialogCorlor.Color
SaveSetting App.EXEName, "Corlor", "BackCorlor", RTB1.BackColor
End Sub
Private Sub Menu_Clear_Click()
SendKeys "{del}"
End Sub
Private Sub Menu_Plaste_Click()
SendKeys "^V"
End Sub
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Temptitle = TreeView1.Nodes.Item(TreeView1.SelectedItem.Index)
If BigStyle = "API函数" Then
RTB1.Text = "别名:" & GetFthFld22("winfun", "函数", Trim(Temptitle), "别名") & Chr(10) & Chr(13)
RTB1.Text = RTB1.Text & "库名:" & GetFthFld22("winfun", "函数", Trim(Temptitle), "库名") & Chr(10) & Chr(13)
RTB1.Text = RTB1.Text & "声明:" & GetFthFld22("winfun", "函数", Trim(Temptitle), "声明") & Chr(10) & Chr(13)
RTB1.Text = RTB1.Text & "参数表:" & GetFthFld22("winfun", "函数", Trim(Temptitle), "参数表") & Chr(10) & Chr(13)
Else
RTB1.Text = GetFthFld2("code", "标题", Trim(Temptitle), "内容")
RTB1.SelStart = 0
End If
End Sub
Private Sub Menu_About_Click()
StrMsg = "本软件是作者的毕业设计,为免费软件欢迎大家使用." & Chr(13) & _
"" & Chr(13) & _
"" & Chr(13) & _
"" & Chr(13) & _
"" & Chr(13) & _
""
MsgBox StrMsg, vbOKOnly + vbInformation
End Sub
Private Sub Menu_Add_Click()
Frame5.Visible = True: Frame6.Visible = True: TreeView1.Visible = False
Call SelFldtoCbo("code", "小类别", BigStyle, Cbostyle)
Label4.Caption = "(添加)"
TxTTitle.Text = ""
RTB1.Text = ""
On Error GoTo ERR:
If ExistRecord("code", "标题", TreeView1.Nodes.Item(TreeView1.SelectedItem.Index)) = True Then
Cbostyle.Text = TreeView1.Nodes.Item(TreeView1.SelectedItem.Parent.Index)
Else
If ExistRecord("code", "小类别", TreeView1.Nodes.Item(TreeView1.SelectedItem.Index)) = True Then
Cbostyle.Text = TreeView1.Nodes.Item(TreeView1.SelectedItem.Index)
End If
End If
ERR:
RTB1.Locked = False
RTB1.BackColor = RGB(255, 255, 255)
AddCode = True
Toolbar1.Buttons(7).Image = 16: Toolbar1.Buttons(8).Image = 17
Toolbar1.Buttons(7).Caption = "粘贴": Toolbar1.Buttons(8).Caption = "清除"
Toolbar1.Buttons(7).Tag = "Tool_Plaste": Toolbar1.Buttons(8).Tag = "Tool_Clear"
Menu_Plaste.Enabled = True: Menu_Clear.Enabled = True
End Sub
Private Sub Menu_API_Click()
Label1.Caption = "API函数"
BigStyle = "API函数"
For i = 1 To Toolbar1.Buttons.Count
Toolbar1.Buttons(i).MixedState = False
Next i
Toolbar1.Buttons(4).MixedState = True
Call ShowTree(BigStyle)
End Sub
Private Sub Menu_Author_Click()
ShellExecute Me.hwnd, "open", "", App.Path, 1, 0
End Sub
Private Sub Menu_Basic_Click()
Label1.Caption = "VB基础"
BigStyle = "VB基础"
For i = 1 To Toolbar1.Buttons.Count
Toolbar1.Buttons(i).MixedState = False
Next i
Toolbar1.Buttons(2).MixedState = True
Call ShowTree(BigStyle)
End Sub
Private Sub Menu_Big_Click()
RTB1.Font.Size = RTB1.Font.Size + 1
SaveSetting App.EXEName, "Font", "FontSize", RTB1.Font.Size
End Sub
Private Sub Menu_Consult_Click()
Label1.Caption = "语言参考"
BigStyle = "语言参考"
For i = 1 To Toolbar1.Buttons.Count
Toolbar1.Buttons(i).MixedState = False
Next i
Toolbar1.Buttons(3).MixedState = True
Call ShowTree(BigStyle)
End Sub
Private Sub Menu_Copy_Click()
SendKeys "^C"
End Sub
Private Sub Menu_Del_Click()
On Error GoTo ERR:
If ExistRecord("code", "标题", Temptitle) = True Then
If MsgBox("你真的要删除此记录吗?", vbYesNo + vbExclamation, "警告") = vbYes Then
Dim adoprimarycmd As New ADODB.Command
adoprimarycmd.ActiveConnection = StrConnect
adoprimarycmd.CommandText = "delete * from code where 标题='" & Trim(Temptitle) & "'"
adoprimarycmd.Execute
Set adoprimarycmd = Nothing
RTB1.Text = ""
Call Form_Load
End If
Else
MsgBox "你必须先选择要删除的标题", vbOKOnly + vbCritical, "删除错误"
End If
Exit Sub
ERR:
MsgBox "你必须先选择要删除的标题", vbOKOnly + vbCritical, "删除错误"
End Sub
Private Sub Menu_Edit_Click()
On Error GoTo ERR:
If ExistRecord("code", "标题", TreeView1.Nodes.Item(TreeView1.SelectedItem.Index)) = False Then
MsgBox "你必须先选择要修改的标题", vbOKOnly + vbCritical, "错误"
Exit Sub
End If
Frame5.Visible = True: Frame6.Visible = True: TreeView1.Visible = False
Label4.Caption = "(修改)"
Call SelFldtoCbo("code", "小类别", BigStyle, Cbostyle)
RTB1.Locked = False
RTB1.BackColor = RGB(255, 255, 255)
Cbostyle.Text = TreeView1.Nodes.Item(TreeView1.SelectedItem.Parent.Index)
TxTTitle.Text = Temptitle
EditCode = True
Toolbar1.Buttons(7).Image = 16: Toolbar1.Buttons(8).Image = 17
Toolbar1.Buttons(7).Caption = "粘贴": Toolbar1.Buttons(8).Caption = "清除"
Toolbar1.Buttons(7).Tag = "Tool_Plaste": Toolbar1.Buttons(8).Tag = "Tool_Clear"
Menu_Plaste.Enabled = True: Menu_Clear.Enabled = True
Exit Sub
ERR:
MsgBox "你必须先选择要修改的标题", vbOKOnly + vbCritical, "错误"
End Sub
Private Sub Menu_Example_Click()
Label1.Caption = "经典事例"
BigStyle = "经典事例"
For i = 1 To Toolbar1.Buttons.Count
Toolbar1.Buttons(i).MixedState = False
Next i
Toolbar1.Buttons(5).MixedState = True
Call ShowTreck
End Select
End Sub
数据库的设计
4.1数据库设计
1.code信息表:
v
2.winfun表设计:
4.2 数据库概念和发展
关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。20世纪70年代以后开发的数据库管理系统产品几乎都是基于关系的。在数据库发展的历史上,最重要的成就就是关系模型。 关系数据库系统与非关系数据库系统的区别是:关系系统只有“表“这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。
结构化查询语言SQL(Structured Query Language)是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的、功能极强的关系数据库语言。目前已成为关系数据库的标准语言
4.3系统测试与评价
测试在软件开发过程中一直都是备受关注的,即使在传统的软件工程中,也有一个明确、独立的测试阶段。随着软件危机的频频出现以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。Extreme Programming更是把测试推到了极限的位置,一切软件开发活动都要从首先编写测试代码开始。
总 结
教学辅助系统是一个典型的信息管理系统,其主要通过软件工程方面的选择课题、需求分析、总体设计、选用工具、程序模块、系统测试等几个步骤来实现。开发本系统的过程中,首先要对教师日常教学,授课进行系统调研,熟悉学校教师的讲课内容,顺序的流程、步骤;其次在系统需求分析过程中,要透过现象看本质,敏锐观察到学校教师管理中存在的各种问题,并在总体设计把握好对问题的分析、理解,进而解决问题;选用开发工具要选用自己最熟悉、应用较多的开发工具,本系统开发选用MS Visual Basic 6.0,其具有语言简单、功能强大、组件众多的优点。程序模块的编制中,重点把握系统内部完整性、功能性、实用性、便捷性,使其能够协调统一、运行无误。运行结果证明,本教学复制系统极大提高了工作效率,节省了人力和物力,最终满足学校管理、学校员工工作的需要,同时也成为现代化学校管理的标志
参考文献
1陈明 . 软件工程学教程 .科技出版社,2002
2 萨师煊,王珊 . 数据库系统概论 . 第三版 . 高等教育出版社,2000
3 飞思科技产品研发中心 . visual basic 6.0数据库应用开发 .电子工业出版社,2003
4 飞思科技产品研发中心 . visual basic 6.0开发者手册 . 电子工业出版社, 2002
5 申旻 . visual basic 6.0高手突破 . 清华大学出版社,2002,302
6 Steve Teixeira,Xaviver Pacheco著,龙劲松,王瑜,谢尚书译 . visual basic 6.0开发人员指南 . 机械工业出版社 .2003
7 乔林 .参透Delphi/Kylix . 中国铁道出版社 .2003
8 李维 .Inside 深入核心 VCL 架构剖析 . 电子工业出版社 .2004
9 张立科编写组 .Windows API 函数参考手册 .人民邮电出版社 .2002
严蔚敏,吴伟民 .数据结构 .第二版 .清华大学出版社 .2001
10 王珍玲 。实用软件工程教程 高等教育出版社 2004
11 (英)Ian Sommerville 机械工业出版社 2003
12 美Cantu,U. 王辉等译visual basic 6.0 从入门到精通 电子工业出版社 2003
13 李维 面向对象开发实践之路(visual basic 6.0版)(BORLAND资深顾问著名visual basic 6.0专家李维最新力作) 电子工业出版社 2005.4
14 秦斌 等 visual basic 6.0数据库系统开发与应用 中国水利水电出版社 2006 .1
15 刘艺 visual basic 6.0面向对象编程思想 机械工业出版社 2003
16.visual basic 程序设计第二版 谭浩强 清华大学出版社 2003
17. visual basic6.0 程序设计教程. 胡同森 赵剑锋等. 浙江科学技术出版社,2002.1
18.软件工程学教程 (第二版) 周苏 王文 著 科学出版社 2003
19.Visual Basic 6.0 程序设计与开发技术 求是科技 人民邮电出版社 2004.9
【VB+教学辅助系统(一)】相关文章:
汽车换档智能辅助决策系统的设计03-18
铁路客运营销辅助决策系统的应用03-10
故障工单全程管控辅助系统的探索11-22
谈铁路客运营销辅助决策系统的应用03-21
探析铁路客运营销辅助决策系统的应用03-19
浅析铁路客运营销辅助决策系统的应用03-20
探析账务处理系统中辅助核算功能的应用03-18
浅析多媒体辅助翻译教学03-19