ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:1.30MB ,
资源ID:8206166      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8206166.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(可视化程序设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

可视化程序设计.docx

1、可视化程序设计 可视化程序设计实习论文计算机与信息学院题 目: 火车订票系统 学 生: 王自闯 (组长) 胡瑞,吴宗伟 (成员) 专 业:信息与计算科学 班 级: 11计算A1 指导教师: 张世明 日 期: 2013 年 7 月 1 日 一、 项目简介此项目主要按生活实用性为主分为多个板块,包括网上注册,修改密码,订单查询,个人信息查询与修改,列车与车票管理,退票管理,相应的改签,其中为避免窗体过多而造成的打开窗体的数量过多,列车与车票管理又分为车票预定,余票查询,列车时刻查询,客车代售点四大块,其中列车时刻查询又分为三个板块,车次查询,票件查询,车次经过车站查询,此项目窗体有静态窗体有动态窗

2、体,而且还有相应的语音提示,使整个画面达到了静态画面,动态显示,语音提醒的三位一体!二、 成员分工胡瑞 页面设计 建立数据库 页面美化 录音 吴宗伟:窗体设计 数据库的录入 搜集图片 录音三、 项目亮点此项目的亮点在于1:特殊窗体(不规则窗体)的设计 2:不规则button空间的设计 3窗体的滑动,淡出淡出,由中心向四边展开的效果的特效展示 4: 12个圆圈无规则运动的动画特效。 5: 闪烁窗体(flashwindow)的实现 6:窗体的动态移动效果 7: GDI图像的绘制 8: 流动字幕渐显效果的实现 9:label中字体的在label控件中的移动(并非label中top属性或right属性

3、的移动) 10:利用tag属性实现textbox中字体颜色的动态改变 11: 三个combox相应items属性的绑定 12:数据库四大语句 select,insert,update,delete对数据库的操作 12:父窗体向子窗体的传值(庞大的窗体传值网络) 13:验证码的实现14:窗体提示音的加入 15 利用特定文本控件实现对数据库信息的查找与绑定16:利用datagriedview实现对两个表特定信息的显示 17 实现数据库图片信息的存放于读取 18 toolTip和errorProvider对控件输入信息的提醒与判断出现感叹号提示。 19: picturebox中图片的变换四、 操作说

4、明(结合截图) 主界面设计 主界面是程序的入口主要包括注册,登录,忘记密码与密码找回等信息。同时还有订票,退票,余票查询的窗体的快捷入口 主界面如图:忘记密码(找回密码,密码修改)是同一个窗体,此窗体可以实现窗体的动态移动且此窗体为不规则窗体(这里是椭圆形窗体)注册界面的设计主要是录入用户的基本信息,详细信息,联系方式三方面的主要内容,此窗体的相应的下一步控件为不规则控件,点击后通过此控件获取tabcontrol的相应的index的值 相应的截图如下:下面是登陆界面,登录界面的设计窗体的效果是自左向右打开的,有一种滑动的效果,此窗体主要包括车票预定窗体,个人信息查询与修改窗体,密码修改窗体,退

5、票查询窗体,改签窗体,密码修改窗体,同时在窗体pictruebox中实现文字的动态显示,主要是利用timer控件对字符串的字节一个一个的抓取并显示,相应的截图如下:密码修改窗体主要是通过相应控件的绑定实现的此外窗体的动态效果是12个圆圈的随机动态移动此窗体主要是用到控件传值中的用户名,通过用户名把其他的个人信息都呈现出来,相应的截图如下:当用户点击车票预定后,下面就进入到程序的核心,也就是最主要的功能实现,由于这里的窗体若一个一个的实现窗体的数量就会过于庞大,所以就把订票功能的核心放在一个tabcontrol里面,在此窗体最上面有一个label,label中的文本信息在只在label中移动,这

6、里并不是此label的right属性或top属性来实现,用的是measurestring函数,picture中的图片利用timer可以动态改变相应的主界面截图为:相应的功能显示如下图:在订票按钮中共有两个遍历与两个操作,此时需要引入第三方控件来存放遍历的的车次信息,如查找到相应出发站目的站的信息,就把车次信息写入到listbox中,然后再用select语句对listbox中的车次信息一个一个的查找,在呈现在datagridview里面,然后在datagridview选择适合自己的车次信息,相应的车次信息是存放在两个表中的,这就需要用一个datagridview来显现两个表中的信息,这正是此中的

7、关键所在(在实习体会中会有专门的说明)在订票的button中还有进行相应的插入操作,在这里用结构体对datagridview的选中行进行标示,然后将结构体的信息插入到用户订票信息中,因而订票button中的遍历和相应的选择,插入操作是很关键的。此外在选择相应的车次时,若出发车次无填写,则可以在动车,z字头,T字头上选择当点击之后,只会将对应的车次信息显示出来,若出发车次的textbox对话框有填写,则根据车次优先的原则,若点击不相符的选项,仍以填写的车次信息为主。下面是退票管理的窗体,退票管理的窗体是主要是GDI绘图操作与闪烁窗体的实现,相应的截图如图所示:窗体的的闪烁由于截图是静态的,没有显

8、示出来,此窗体的背景有的是渐变画刷,主要是白色到绿色的垂直变化,下面的退票,票务,改签所对应的图画为路径颜色的渐变主要使用的是brush的surround属性来设置其相应的颜色,图中相应的字体与相应圆圈的定位也是遇到的比较难做的地方,这里运用的是g.drawstring方法,定位为圆的圆心位置,退票和改签是两个圆形特殊控件,窗体背景和相应团的绘制主要运用的是GDI制图。下面是点击退票的效果:点击退票时会出现messagebox对话框,点击“是”的时候,将会在数据库中删除对应的票,这里主要是运用票的编号对数据库中用户订票进行操作,这里订单编号以时间为编号,来避免订单编号的重复,同时订单编号推定之

9、后,相应在datagridview里面删除此行,相应的代码为:DataRowView drv = dataGridView1.SelectedRows0.DataBoundItem as DataRowView;drv.Row.Delete();改签为可以更改相应的车次信息与时间信息若点击改签,则将会吧形影的信息保存到数据库,操作代码如下:adapter.Update(ds, 用户订票信息);这里是此订票系统的核心,下面是其他订票信息的介绍:相应的功能与查询条件与订票管理差不多,这里不再多累赘!列车时刻表的设计主要分为三个部分,车次查询,票价查询,车次经过车站查询相应的截图为:这三个界面主要来

10、说一下车次经过车站查询,其他两个不再过多累赘。相应的截图为:若输入相应的地点之后,所有经过此车站的信息都会显现出来,方便用户查找相应的代码如下: while (dr.Read() int i = 2; for (i = 2; i = 14; i += 4) if (dr.GetString(i) = comboBox11.Text) listBox5.Items.Add(dr.GetString(1); 以下是列车代售点的查询,列车代售点主要是运用comebox之间的绑定,添加的相应的items项将随着第一个comebox选择的不同而改变,截图如下:try string str = serve

11、r=(local);Integrated Security=SSPI;database=火车票订票系统; SqlConnection con = new SqlConnection(str); con.Open(); SelectString = select * from 客票代售点; string tj4 = 省/直辖市 = + comboBox3.Text + ; string tj5; string tj6; if (comboBox4.Text = =请选择=) tj5 = 1 = 1; else tj5 = 市/区 = + comboBox4.Text + ; if (comboB

12、ox5.Text = =已无选择=) tj6 = 1 = 1; else tj6 = 县 = + comboBox5.Text + ; SelectString = SelectString + where + tj4 + and + tj5 + and + tj6; SqlDataAdapter adapter = new SqlDataAdapter(SelectString, con); adapter.Fill(ds5, 客票代售点); this.dataGridView5.DataSource = ds5.Tables客票代售点; catch (Exception ex) Messa

13、geBox.Show(ex.Message); 五、 项目改进1.在项目改进上,此系统有许多需改进的地方,比如说增加返程车次,此系统主要是只考虑单程车次的情况,这对于订票系统来说,是不够完美的地方2.改签可以包括时间改签和车次改签,但也可以同时改签两方面的内容,在这点上是没做到最符合生活实际。3.火车订票系统有动态旅程规划,也需要用到动态规划有向图和无向图有关算法,这方面是数据结构方面的知识,由于这方面设计起来项目过大,这方面未涉及,这也是项目需改进的地方。4.火车订票必定连带着货物服务,行包服务等方面的查询,对于这点也是要更改的地方。5.对于此系统,本来想设计友情提示的旅程规划,加入天气信息

14、(主要运用web项目对网页中的天气信息对字符串进行动态抓取),结过项目设计是对类的使用不够灵活,此方面的设计只好作罢,因而这就是下一步应该努力的方向6.项目的实用性主要是给用户提供便利的方便性,此系统主要是自己订票,不可以给其他人代订,实用性仅限于个人,这也是项目改进的入口。六、 实习体会此次项目编程最大的收获有两方面:一是一个datagridview显示两个表中特定的字段信息,二是:数据库中图片的存放。Datagridview中两个表信息的存放遇到的问题最大,首先想到是的对两个表实现对等链接这一种方法未实现,另外是两个表之间的左外连接,或者右外连接,结果都没有达到预期的目的。于是上网查找了很

15、多资料,找到了下面的代码SelectString = select 车次车站与时间查询.车次,车站1 出发站,车站2 目的站,(select 商务座 from 车次票价查询 where 车次车站与时间查询.车次=车次票价查询.车次) as 商务座. string tj4 = 车次车站与时间查询.车次 = + listBox1.Itemsm + ; SelectString = SelectString + where + tj4; SqlDataAdapter adapter = new SqlDataAdapter(SelectString, con); adapter.Fill(ds2,

16、车次车站与时间查询); this.dataGridView1.DataSource = ds2.Tables车次车站与时间查询;分析上面代码,主要的关键在于(select 商务座 from 车次票价查询 where 车次车站与时间查询.车次=车次票价查询.车次) as 商务座 其他都是按照这种方式进行查找,这样dataset只用填充一个表就可以查找到两个表中的信息。代码的实现比自然连接的效果更好。另外是数据库中图片的存储:数据库中图片的存储有两种方式。一种是文件路径的存储,一种是将图片以二进制形式进行存储,然后在对二进制读取。对于这种方式有其中的转换,先将二进制流转化成文件流,再将文件流转化成

17、Image图片流。然而对于这种方式,始终在文件流转化成图像流处出现问题,查找了很多资料仍然没有解决问题,因而就改变思路,转化为将图片路径存放到数据库中,然后在进行读取,这种方法有缺陷,若程序copy到其他电脑上,路径变了,相应的图片便读取不出来,这是路径存取和数据库二进制存取的主要优缺点,但是此程序可以把二进制数据存取进去,主要是运用路径存取,这样做欠佳!此窗体之间存在着复杂的窗体传值包括子窗体向父窗体传值,这里主要是运用用户名来进行有关的操作,具体的操作为用panel并将其设置为透明,将相应的控件覆盖。通过本次的编程对数据库的操作有了更深的掌握,包括数据库的select,insertUpda

18、te delete 数据库的遍历(datareader),相应控件sqlconnetion,sqlcommand,sqldatadapter 另外通过此次编程,真正懂得“看起来容易做起来难”,火车票订票系统后台的操作是相当复杂的,在此程序中简化操作为一个车次为4个车站,若设计返程,相应的代码行数将会加倍,这里采用单向思维。做起来的时候,要考虑车次信息,要考虑座位信息还要考虑时间为题,三者的融合是最难的,因而相应的代码考虑起来只能用单因素变量来实现。另外此次编程也让我意识到其实编程最重要的不是程序代码,二是模型和思想,模型对了,思想考虑周全了,相应的代码实现起来不是难事,此外编程中还要运用到其他类似的如图片处理等方面的内容,对待程序来说,相应的图片处理技术等学科也要了解一点,这样才能使自己的程序不仅仅收获实用价值,还能达到美学价值。对于此次编程,我知道我的程序中还有许多需要改进的地方,还有很多不完美的地方,这都是我今后努力的方向,此外C#还有重要的版块如API和类与对象,此程序只用到了简单的API,对类和对象只是简单地结构体,所以未曾加入到类和对象强大的功能中去,所以今后努力的方向是要达到程序的声,图,实用性三者的完美结合,这样程序才能更上一层楼。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1