论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
然后可以选择是否置顶显示,主要代码如下
if (top == 0)
{
this.TopMost = true;
button2.Text = "取消置顶";
top = 1;
}
else
{
this.TopMost = false;
button2.Text = "置顶显示";
top = 0;
}
然后选择是否需要语音点名,然后开始点名。主要代码如下:
Random ra = new Random();
name_3.Text =ds.Tables[0].Rows[ra.Next(0, ds.Tables[0].Rows.Count)][1].ToString();
if (checkBox1.Checked == true)
{
try
{ (转载自中国科教评价网http://www.nseac.com)
svsf = new SpeechVoiceSpeakFlags();
svc = new SpVoiceClass();
svc.SetVolume(Convert.ToUInt16(80));
svc.SetRate(2);
svc.Voice = svc.GetVoices(string.Empty, string.Empty).Item(3);
}
catch
{
MessageBox.Show("语音库不存在,请安装Microsoft Speech SDK 5.1和Microsoft Speech SDK 5.1 Language Pack! ");
checkBox1.Checked = false;
}
mythread = new Thread(Voice);
mythread.Start(); (科教范文网http://fw.ΝsΕΑc.com编辑)
}
2.1 操作流程
3.2.4 出勤统计模块
1.1 设计方法
本功能模块主要为实现对历史出勤情况的一个统计汇总。主要分为学生个人出勤情况统计和班级出勤情况统计。主要工作流程见下图:
1.2 界面设计
点击tabControl1上的出勤统计选项卡,这时出现一个空白界面。然后向此界面上分别添加一个button按钮、dataGridView、groupBox和六个label。再给上述控件设定相应的参数,具体参数见下表:
类型 Name Text
button openfile_3 统计
dataGridView dataGridView4
groupBox groupBox1 班级出勤情况:
label Label6 个人出勤情况:
label Label11 班 级:
label Label12 总人数:
label Label13 出勤总人次:
label Label14 缺席总人次:
label Label15 出 席 率:
这样出勤统计模块的界面就设计好了,如图所示:
1.3 主要程序代码说明
主要用于计算并显示统计结果。
算法示意:
public void dt_3(DataGridView Dgv)
{ int c1,ct,cf=0,cg=1,to=0,cto=0;
string c0=cf.ToString() ,cv=cg.ToString();
DataTable dt3 = new DataTable();
DataColumn dc1 = new DataColumn("姓 名", Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("缺席次数", Type.GetType("System.String"));
DataColumn dc3 = new DataColumn("点名总次数", Type.GetType("System.String")); (科教范文网http://fw.NSEAC.com编辑发布)
dt3.Columns.Add(dc1);
dt3.Columns.Add(dc2);
dt3.Columns.Add(dc3);
for (int ij = 0; ij < row; ij++)
{
ct=c1=0;
DataRow dr = dt3.NewRow();
dr["姓 名"] = reutrnDs().Tables[0].Rows[ij][1];
for (int cc = 3; cc<column;cc++ )
{
if (reutrnDs().Tables[0].Rows[ij][cc].ToString()== c0)
{
c1++;
ct++;
cto++;
}
if (reutrnDs().Tables[0].Rows[ij][cc].ToString() == cv) 大学排名
{
ct++;
to++;
}
}
dr["缺席次数"] = c1;
dr["点名总次数"] = ct;
dt3.Rows.Add(dr);
}
Dgv.DataSource = dt3;
label11.Text += " " + openFileDialog1.FileName.Substring(openFileDialog1.FileName.LastIndexOf("\\") + 1);
label12.Text += " " + row+"人";
label13.Text += " " + to+"人次";
label14.Text += " " + cto+"人次";
float ccf;
ccf= (float)to / ((float)to + (float)cto)*100;
label15.Text += " " +ccf.ToString("F")+"%";
}
测试小结
在测试过程中,确实发现了很多的错误。一部分因为开发环境与实际使用环境不同产生的,比如说图片的效果不对,或者控件的位置出现偏移等等;还有数据库的连接问题,在不同的计算机上因为计算机名的不同导致无法连接数据库,这些问题通过现场的调试基本得到了解决。
使用面向对象的开发工具进行系统开发后,由于其独有的特点,所以调试时与传统的程序开发语言并不完全相同,就本次开发过程中使用的Microsoft Visual Studio 2005来说,例如:在Microsoft Visual Studio 2005的定义当中,面向对象的设计方法使得很多模块的变量封装起来,由此,对象的变量常常是不可见的,定义全局变量一定要在窗体之外的公用模块中,而且要定义为公用。
(转载自中国科教评价网http://www.nseac.com)
参考文献
张忠国. Visual C#中随机数使用实例
关于红叶二级电站生产管理系统开发要求. 红叶二级电站生产管理系统 2008
配网管理系统---需求分析说明书. 红叶二级电站生产管理系统 2008
商小千. 燕山大学里仁学院“两课”社会调查报告 2006
白 春. POS系统在零售行业的应用 2005