vb课程设计论文
VB课程设计论文
课程设计任务书学院:xxxxxxxxxx 专业:xxxx 班级:xxxxxxx学号:xxxxxxxxxxxxx 题目:数据库数据的导入与导出一、课程设计时间2012年3月5日~17日(第1、2周),共计2周。
二、课程设计内容将一个文本文件(file01_数据的导入.txt)中的数据导入到Access的某个数据表中,并显示相应的内容;再将数据库的某一个表中的数据导出到一个文本文件中,并显示相应的内容。
要求使用CommonDialog控件和DataGrid 控件。
导入提示:①依据文本文件内容,先在Access数据库中创建出相应的表。
②一方面,用ADO数据控件打开表;另一方面用文件访问技术读取给定的文本文件中的内容,并添加到数据库表中。
三、课程设计要求程序质量:✧贯彻事件驱动的程序设计思想。
✧用户界面友好,修饰适宜,功能明确,操作方便;适当增加1~2项其它功能。
✧代码应规范(适当缩进、必要的注释),以增强程序的可读性。
课程设计说明书:✧课设结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、成绩目录一、需求分析 (4)二、设计分析 (5)三、技术要点 (6)四、总结 (10)五、完整的源程序 (11)六、参考文献 (12)一、需求分析将一个文本文件(file01_数据的导入.txt)中的数据导入到Access的数据表中,并显示相应的内容;再将数据库Access表中的数据导出到一个文本文件中,并显示相应的内容。
要求:①使用CommonDialog控件②使用DataGrid控件。
分析:导入:①依据文本文件内容,先在Access数据库中创建出相应的表;②一方面,用ADO数据控件打开表;③另一方面用文件访问技术读取给定的文本文件中的内容,并添加到数据库表中。
导出:用SQL语句,将数据库的每个字段的记录读取出来,依次写入文本文档中。
毕业设计(论文)-基于vb实用计算器的设计[管理资料]
基于VB实用计算器的设计Design of practical Calculator base on VB作者姓名:学科专业:电子设备技术学院(系部):机电工程系指导教师:2010年12月➢摘要随着科学技术的不断提高,计算机科学日渐成熟 ,它已进入人类社会的各个领域并发挥着越来越重要的作用。
计算器软件系统应该能够为用户提供丰富的手段。
使用计算器运算,、价格便宜、可保存信息等。
这些优点能够极大地提高效率,也是国家的科学化、信息化管理,与世界接轨的重要条件。
本文着重分析计算器的运算法则与代码的关系以及控件数组的创建和使用技巧,并在Microsoft公司出品的一个面向对象的可视化开发工具Visual Basic上,采用VB语言及窗体界面的设计方法,界面设计直接在屏幕上显示出窗口、文本框、按钮等区别类型对象并为每个对象设置属性。
实现了基于Visual Basic ,可视化界面给操作带来很大的方便。
关键词:Visual Basic;计算器;对象;代码➢AbstractWith the continuous improvement of science and technology, computer science increasingly mature, it has access to all areas of human society,and play an increasingly important role.Calculator software system should be able to provide users with a rich means. Use a calculator for mathematical calculations, with an unmatched by other advantages. For example, to find convenient, cheap and save information. These advantages can greatly improve efficiency, is also the country's scientific, information management, an important condition for integration with the world.This article focuses on analysis of algorithms and code calculator relationship and control the creation and use of an array of skills and Microsoft companies produce go in an object-oriented visual development tools, Visual Basic, using the VB language and interface design of form methods, interface design directly on the screen shown window, text boxes, buttons, etc. for each different type of object and object to set properties. Achieved based on Visual Basic software, running on the control design method to design a simple calculator, visual interface to the operator great convenience.Keywords:Visual Basic, Calculator, Object, Code目录摘要 (1)Abstract (2)第一章绪论 (4) (4) (4)系统设计的总体思路 (4)总体方案的设计 (4)第二章VB设计系统 (5)Visual Basic 语言基础 (6)Visual Basic (7)第三章实用计算器的设计 (10) (10) (13) (14)调试运行 (21)保存工程及生成可执行文件 (22)第四章总结 (25)参考文献 (26)致谢 (27)➢第一章绪论✧设计的功能Visual Basic 公司推出的当今最优秀、最流行的可视化快速软件开发工具之一。
vb课程设计题目 设备管理系统本科论文
VB程序设计课程设计课程设计题目设备管理系统目录一、课程设计的目的与要求二、任务描述对系统要实现的功能进行确切的描述。
三、设计详细说明程序的设计思想,所用到的算法、数据结构技巧等四、效果及存在问题说明系统的运行效果(附上界面图形)、存在哪些不足以及预期的解决办法五、总结课程设计的目的与要求1、教学目的使学生在理论课程结束后,通过课程设计能进一步巩固对VB编程机制的理解,真正掌握运用VB进行软件开发的方法和原理,从而锻炼学生开发能力、程序调试的能力,及程序错误处理的能力。
2、教学要求从课程设计的目的出发,通过课程设计的各个环节,达到以下教学要求(1)进一步掌握VB语言程序设计的基本思想和方法;(2)掌握面向对象的可视化程序设计的基本原理及应用;任务描述建立设备数据库表,存储设备的信息,包括设备的名称、数量、型号、规格等信息;能够实现对设备的查询、修改、添加等操作。
设计1、设备管理系统的功能1、查看设备:用来实现对设备的浏览、删除2、查询设备:用来实现对设备的查询3、添加设备:用来实现对设备的添加2、连接数据源利用ADO控件将Access数据源连接到程序中建立Access数据库打开Access,建立名为“设备”的数据库。
在数据库中选择“使用设计器创建表”输入名称、型号、单价、数量、规格、购买日期。
保存命名为“设备管理”。
3、窗体(1)登陆界面From1 代码如下:Private Sub Command1_Click() Form2.ShowEnd Sub(2)查看设备Form2 代码如下:Private Sub Command1_Click()Adodc1.Recordset.MovePrevious ’数据移到上一条If Adodc1.Recordset.BOF ThenAdodc1.Recordset.MoveFirstMsgBox "已经是第一条"End IfEnd SubPrivate Sub Command2_Click()Adodc1.Recordset.MoveNext ’数据移到下一条If Adodc1.Recordset.EOF ThenAdodc1.Recordset.MoveLastMsgBox "已经是最后一条"End IfEnd SubPrivate Sub Command3_Click()Form3.ShowEnd SubPrivate Sub Command4_Click()Form4.ShowEnd SubPrivate Sub Command5_Click()On Error Resume NextIf MsgBox("确定删除该记录?", vbOKCancel, "提示") = vbOK Then Adodc1.Recordset.Delete ’删除正显示的记录Adodc1.Recordset.MoveNext ’显示下一条数据If Adodc1.Recordset.EOF ThenAdodc1.Recordset.MoveLastEnd IfEnd IfEnd SubPrivate Sub Command6_Click()EndEnd SubPrivate Sub Command7_Click()Adodc1.Recordset.MoveFirst ’显示第一条数据End SubPrivate Sub Command8_Click()Adodc1.Recordset.MoveLast ’显示最后一条数据End Sub(3)添加设备Form3 代码如下:Private Sub Command1_Click()Adodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset.Fields(1) = Trim(Text1)Adodc1.Recordset.Fields(2) = Trim(Text2)Adodc1.Recordset.Fields(3) = Trim(Text3)Adodc1.Recordset.Fields(4) = Trim(Text4)Adodc1.Recordset.Fields(5) = Trim(Text5)Adodc1.Recordset.Fields(6) = Trim(Text6) ’将文本框中的值赋值给数据库Adodc1.Recordset.UpdateAdodc1.Recordset.MoveLastMsgBox "该设备已添加"End SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""End SubPrivate Sub Command3_Click()Unload MeForm2.ShowEnd SubForm4 代码如下:Private Sub Command1_Click()Dim check As IntegerAdodc1.RefreshAdodc1.Recordset.MoveFirstM = Trim(Text1)While Adodc1.Recordset.EOF <> TrueIf Adodc1.Recordset.Fields(1) = M ThenText2.Text = Adodc1.Recordset.Fields(2)Text3.Text = Adodc1.Recordset.Fields(3)Text4.Text = Adodc1.Recordset.Fields(4)Text5.Text = Adodc1.Recordset.Fields(5)Text6.Text = Adodc1.Recordset.Fields(6)check = check + 1 ’用循环语句判断文本框中的End If 值是否等于数据库中相应Adodc1.Recordset.MoveNext 的值WendAdodc1.RefreshX = Trim(Text2)While Adodc1.Recordset.EOF <> TrueIf Adodc1.Recordset.Fields(2) = X ThenText1.Text = Adodc1.Recordset.Fields(1)Text3.Text = Adodc1.Recordset.Fields(3)Text4.Text = Adodc1.Recordset.Fields(4)Text5.Text = Adodc1.Recordset.Fields(5)Text6.Text = Adodc1.Recordset.Fields(6)check = check + 1End IfAdodc1.Recordset.MoveNextWendAdodc1.RefreshD = Val(Trim(Text3))While Adodc1.Recordset.EOF <> TrueIf Adodc1.Recordset.Fields(3) = D ThenText1.Text = Adodc1.Recordset.Fields(1)Text2.Text = Adodc1.Recordset.Fields(2)Text4.Text = Adodc1.Recordset.Fields(4)Text5.Text = Adodc1.Recordset.Fields(5)Text6.Text = Adodc1.Recordset.Fields(6)check = check + 1End IfAdodc1.Recordset.MoveNextWendAdodc1.RefreshS = Val(Trim(Text4))Adodc1.Recordset.MoveFirstWhile Adodc1.Recordset.EOF <> TrueIf Adodc1.Recordset.Fields(4) = S ThenText1.Text = Adodc1.Recordset.Fields(1)Text2.Text = Adodc1.Recordset.Fields(2)Text3.Text = Adodc1.Recordset.Fields(3)Text5.Text = Adodc1.Recordset.Fields(5)Text6.Text = Adodc1.Recordset.Fields(6)check = check + 1End IfAdodc1.Recordset.MoveNextWendAdodc1.RefreshG = Trim(Text5)While Adodc1.Recordset.EOF <> TrueIf Adodc1.Recordset.Fields(5) = G ThenText1.Text = Adodc1.Recordset.Fields(1)Text2.Text = Adodc1.Recordset.Fields(2)Text3.Text = Adodc1.Recordset.Fields(3)Text4.Text = Adodc1.Recordset.Fields(4)Text6.Text = Adodc1.Recordset.Fields(6)check = check + 1End IfAdodc1.Recordset.MoveNextWendAdodc1.RefreshR = Trim(Text6)While Adodc1.Recordset.EOF <> TrueIf Adodc1.Recordset.Fields(6) = R ThenText1.Text = Adodc1.Recordset.Fields(1)Text2.Text = Adodc1.Recordset.Fields(2)Text3.Text = Adodc1.Recordset.Fields(3)Text4.Text = Adodc1.Recordset.Fields(4)Text5.Text = Adodc1.Recordset.Fields(5)check = check + 1End IfAdodc1.Recordset.MoveNextWendIf check = 0 ThenMsgBox ("无此设备!")End IfText1.Locked = True ’显示查询结果后,文本框内容不可更改Text2.Locked = TrueText3.Locked = TrueText4.Locked = TrueText5.Locked = TrueText6.Locked = TrueEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text1.Locked = False ’按清除键后,文本框内容不可更改Text2.Locked = FalseText3.Locked = FalseText4.Locked = FalseText5.Locked = FalseText6.Locked = FalseEnd Sub效果及存在问题不能将添加的设备马上显示出来,功能较为简单,不够完善总结通过这次实验周的实践,我感受到了VB设计的趣味性,了解了VB的实用性。
VB课程论文
长沙理工大学《》课程论文CPU信息查询器的实现学院专业计算机班级学号学生姓名指导教师课程成绩完成日期CPU信息查询器的实现学生姓名:指导老师:摘要随着计算机技术的发展,各种程序设计语言层出不穷,是微软最新平台技术,是.Net FrameWork SDK的一种语言,本学期在完成了课程后对有了一定了解,在这次课程论文的程序设计中,我利用了命名空间(namespace)对注册表进行关联,从而简单的完成了对一台计算机CPU信息的查询。
本程序简洁实用,调试通过。
关键词注册表;命名空间;CPU信息;1 需求分析本次课程论文的程序设计是一个简洁实用的CPU查询器,本程序需要在一台计算机上查找到CPU的相关信息,从而展示给用户以方便了解到当前实用的计算机的配置。
本程序对于设计的有求有如下几点:●能够快速的查找到CUP的硬件信息⏹CPU厂商信息⏹CPU信息描述⏹CPU速度⏹CPU标识●用户界面简洁,人机互动性好●消耗资源低,运行速度快且无错误2功能实现对于本程序的需求,在这次程序设计中采用了比较特殊的处理方法,以达到低资源消耗,运行速度快等要求,其特殊之处在于利用了命名空间,它可以跨多个程序集。
在 .NET Framework 中,命名空间在逻辑设计时提供命名方便,而程序集在运行时确定类型的命名范围。
从而快速确定相关信息。
对于CPU信息的处理,本程序采用对注册表的HKEY_LOCAL_MACHINE\SYSTEM键值引用来解决,其中包含了当前所在计算机的各种软硬件信息,从而达到获取CPU的相关信息的功能。
程序功能如图2.1所示:图2.1 程序功能实现2.1利用命名空间声明命名空间 (namespace) 将相关的类型进行分组的逻辑命名方案。
.NET Framework 使用分层命名方案,将类型分为相关功能的逻辑类别,如 技术或远程处理功能。
设计工具可以使用命名空间,使开发人员在他们的代码中浏览和引用类型更为方便。
VB程序设计论文
中南大学本科生课程设计(实践)任务书、设计报告(数据库技术与应用)题目:历史人物管理信息系统****:*******:***学院:艺术学院专业班级:美术0802班学生学号:**********计算机基础教学实验中心2009年5月28日历史人物管理信息系统摘要随着计算机技术的迅速发展,计算机信息管理系统已成为热门话题。
管理信息系统的实施在技术上已逐步成熟。
管理信息系统是以个不断发展的新型学科。
本文介绍了在Visual Basic6.0及SQL Sever 环境下设计开发历史人物管理信息系统,并且如何利用电脑来对历史人物信息进行方便有效的管理。
关键词历史管理信息系统 VB 数据库开发背景计算机已经成为我们学习和工作的得力助手。
今天,计算机的价格已经十分低廉,性能却有了长足的进步。
它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。
一.历史人物管理信息系统开发设计思想人们常说:“历史是真理的母亲”,“历史是生活的镜子”,这些话都充分说明了历史学科的特有功能。
在茫茫历史长河中,历史人物是历史的重要扮演者,只有了解了历史人物,才能了解整个历史。
而通过学习和了解历史人物,则能培养我们的历史意识、历史思维和历史方法,从而提高整个民族的文化素养和历史认同感。
因此,为了让每个人都了解历史人物,了解历史,设计了历史人物管理信息系统。
二.历史信息系统需求分析1.系统需求历史人物管理信息系统的主要功能是录入和查询各历史人物的各项信息,包括历史人物的姓名,年代,国家,简介,图片等等。
让操作人员方便快捷的查阅各种信息2功能需求根据系统需求分析,本系统的功能要求如下:(1)系统管理系统管理的功能是在该系统运行结束后,用户通过“统管理”下的“退出”命令,能正常退出系统,回到Windows环境。
VB课程论文
用VBA实现西藏高速公路建设前期可行性分析数据的录入摘要:由于交通工程可行性评价的需要,采集了铁路、公路和航空的数据之后必须进行数据的输入。
但是直接在Excel中输入会出现很多不便,尤其是数据项目过多时很容易出现错误,而且在有需要输入大量重复文字但是又不是全部重复时,会给数据输入造成很大麻烦。
所以,以VBA为基础对,编写了一个程序来直接实现对Excel的编写,从而增加数据输入的效率。
关键字:VBA;软件设计;数据输入;Excel数据;1 引言在交通工程可行性评价里面,经常需要采集问卷和各种不同的信息,但是基本上都是纸质的或者文档形式的,不便于统计运用。
需要将数据输入到Excel表格进行处理,然后分析。
但是数据输入的过程十分繁琐,而且如果形式不当,则很容易出错,所以本文通过设计一个VB程序来辅助输入调查结果产生的数据。
此软件是在青藏高速公路工程可行性研究的背景下进行的,主要是采集了铁路、公路和航空三个方面的入藏人员的调查数据,需要对其进行用户需求分析,所以设置了问卷调查,对在进行了问卷调查,在后期需要对问卷调查的数据进行录入整理。
2 编程实现原理以及功能在实际调查问卷中会出现单选和多选的项目,所以其基本功能需要复选框和选项按钮来实现。
数据输入是在Excel表格中的VBA实现的,输入数据点击保存后会自动将数据存入Excel表,并且由于输入问卷时各个不同,需要加入自动编号机制。
输入数据时,可能会遗漏数据或者问卷本身缺失数据,此时软件应提示是否缺失数据。
程序实现的基本过程详细叙述如下:2.1 功能界面设置首先是登录界面如下:从图上窗体可看出需要铁路、航空和公路三个方面的数据输入,但本论文实现的是铁路部分功能,其他部分功能的实现另有专人负责。
选择铁路,点击确定命令按钮,进入铁路问卷调查数据输入界面。
然后是铁路问卷调查的界面如下输入数据时,按照问卷的选项进行填写之后,9-11、14、16为复选框选项组成,17为文本输入。
vb课程设计参考论文
vb课程设计参考论文一、教学目标本课程旨在通过学习Visual Basic编程语言,使学生掌握基本的编程概念和技能,能够运用Visual Basic开发简单的应用程序。
具体目标如下:1.知识目标:–理解Visual Basic的基本概念和编程环境。
–掌握变量、数据类型、运算符和表达式的使用。
–学会编写控制结构,如顺序、选择和循环结构。
–了解数组、过程和函数的定义和使用。
–掌握事件驱动编程的基本概念。
2.技能目标:–能够使用Visual Basic开发环境进行程序设计。
–能够编写和运行Visual Basic程序,调试程序错误。
–能够使用Visual Basic实现常见的小程序,如计算器、记事本等。
–能够利用Visual Basic访问和操作数据库。
3.情感态度价值观目标:–培养学生的逻辑思维能力和问题解决能力。
–激发学生对计算机编程的兴趣,培养学生的创新意识。
–培养学生团队合作精神,提高学生沟通与协作能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Visual Basic基本概念和编程环境:介绍Visual Basic的发展历史、特点和应用领域,学习Visual Basic的集成开发环境(IDE)的使用。
2.变量、数据类型、运算符和表达式:学习变量的声明和赋值,掌握数据类型、运算符和表达式的使用。
3.控制结构:学习顺序结构、选择结构和循环结构的使用,掌握条件语句和循环语句的编写。
4.数组、过程和函数:学习数组的声明和操作,掌握过程的定义和调用,了解函数的定义和使用。
5.事件驱动编程:学习事件的概念,掌握事件过程的编写和事件驱动程序的设计。
6.数据库操作:学习Visual Basic中数据库访问技术,掌握数据表的创建、修改和查询。
三、教学方法本课程采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解Visual Basic的基本概念和编程技巧,引导学生掌握关键知识。
vb程序设计论文计算机课程设计论文
- 23 -
南方医学教育 2007 年 3 期
成绩较高,但缺乏实际的编程能力和创新思维。为了 能够综合评价学生,我们改革了考核方式,具体方案 是:10%平时考核+30%上机考核+60%理论考核。
平时考核重点检查学生对英语词汇和概念的掌 握。我们为每一章的内容设计了大量的英语选择题, 每次理论课抽出 5 分钟对学生提问,根据学生回答给 出平时分数。
上机考核配合每章内容设计了一些验证性实验和 设计性实验。验证性实验主要是对教材上现有程序代 码的计算机实现,要求学生在规定时间内完成,目的 是考核学生对书本理论知识的理解。设计性实验是给 出程序的运行结果,要求学生自行设计程序界面,添 加程序代码,并给学生一周的时间完成,目的是考核 学生设计程序和调试程序的能力,培养算法思维和创 新思维。上机实践能加深对程序的理解和掌握,经过 这些训练的学生,基本掌握 VB 的编程技巧,能够根 据实际需要自行开发简单的 Windows 应用程序,程度 较好的学生甚至能开发出一个完整的门诊挂号系统。
4 结束语 总之,加强双语教学研究,提高双语教学质量是 我国推行双语教学改革所面临的迫切任务。目前,关 于 VB 程序设计课程的双语教学还在实践摸索、经验 总结当中,目前尚无一个统一模式,我们应当科学尝 试,排除困难,积极探索出适合自己学校实际情况的 双语教学模式和方法。教学相长,教师和学生都要做 出更多的努力,洒下辛勤的汗水,才能收获甜美的果 实。教师从教学实践中总结出科学规律,采取相应教 学方法并贯穿于教学实践中是提高教学质量的关键环 节。
作者简介:傅蓉 (1979-),女,江西景德镇人,讲师,博士。研究方 向:计算机教学和医学图像处理。
性通用语言开发的,其知识结构和最新的程序设计类 书籍大多源自国外,没有 “双语”根底根本不可能领 会到程序的精髓所在。如果我们在教学过程中采用传 统的中文教学模式,那么我们所传授的知识总是落后 于当前程序设计的最新知识,就很难跟上国际教育发 展的步伐。
VB论文
一.目的和任务设计出记事本程序二.开发环境正文部分:(宋体五号)包含两部分:1. 1.硬件环境(描述开发所用的机器型号及内存配置)2. 2.软件环境(详细描述所用操作系统及数据库的软件(MS Access或者SQL-Server ))Microsoft Visual Basic 6.0三.窗体的详细设计正文部分:(宋体五号)详细描述本人所负责的窗体Form的功能及界面,列出所涉及的窗体层变量的注释部分。
需要有窗体设计界面截图,附加控件及重要属性值设定说明。
四.程序的运行结果和代码:1. 首先运行出记事本程序的界面本窗体代码:Option Explicit 强制所有变量的显式声明Dim findpos As Integer '继续查找文本的起始位置Dim findstr As String '需要查找的字符串Dim TextChanged As Boolean '文件修改标志Dim FileName As String '文件名Private Sub Form_Load()frmNotepad.Caption = "未定标题-" & "记事本"End SubPrivate Sub Form_Resize() '修改文本框大小Text1.Move ScaleTop, ScaleLeft, ScaleWidth, ScaleHeight 自定义坐系标End SubPrivate Sub BackColor_Click()CommonDialog1.ShowColor 显示颜色对话框Text1.BackColor = CommonDialog1.Color text1设为颜色框返回值End Sub显示字体、颜色窗口窗体代码:Private Sub Font_Click()CommonDialog1.ShowFont 显示字体对话框With Text1.FontName = CommonDialog1.FontName 字体类型.FontSize = CommonDialog1.FontSize 字体大小.FontBold = CommonDialog1.FontBold 粗体.ForeColor = CommonDialog1.Color 文本颜色改成vbblack.FontItalic = CommonDialog1.FontItalic 斜体.FontUnderline = CommonDialog1.FontUnderline 下划线.FontStrikethru = CommonDialog1.FontStrikethru 删除线End WithEnd SubPrivate Sub Copy_Click()Clipboard.SetText Text1.SelText '复制文本到剪贴板End SubPrivate Sub Cut_Click()Clipboard.SetText Text1.SelText '复制文本到剪贴板Text1.SelText = "" '清选择的文本在text1中选中的文本被清空TextChanged = TrueEnd SubPrivate Sub Form_Unload(Cancel As Integer)Dim answer As IntegerIf TextChanged Thenanswer = MsgBox(FileName & "文件的文字已经改变。
VB简单小游戏设计论文及毕业设计开题报告
的编写;打飞机运行的代码编写;旋转运行的代码编写;总界面连接各 游戏的代码编写。 公共模块:每个游戏建有公共模块,用于存放经常用到的代码,如算法等,可方便调用。 算法:24 点纸牌算法 关键问题:24 点纸牌算法的编写,个公共模块的建立
打飞机运行的代码编写;旋转运行的代码编写;总界面连接各游戏的代码编写。 公共模块:每个游戏建有公共模块,用于存放经常用到的代码,如算法等,可方便调用。 算法:24 点纸牌算法。
开发平台的选择:Visual Basic 提供了许多现成的对象库和控件,极大地提高了程序员的开 发效率。如果能对 Visual Basic 所提供的控件体系有一个全面而详细的了解,将会大大缩短开 发过程。Visual Basic 能使使用者树立面向对象的编程思想,否则开发出的程序只能停留在几年 前的水平上,虽然许多人声称 BASIC 语言不是面向对象的编程语言,或者至少不如其他语言那样 纯粹,但无庸置疑,使用其他工具的编程效率都低于 Visual Basic。
1/6
VB 简单小游戏设计论文及毕业设计开题报告
2.设计(论文)要解决的问题和拟采用的研究方法
要解决的问题:本系统主要是简单小游戏的设计,主要要解决的以下几方面问题: 界面设计:24 点纸牌的界面设计;拼拼图的界面设计;打飞机的界面设计;旋转的界面设计;总
界面的设计,主要用与连接各个游戏,更方便于用于使用。 各界面设计的原则:24 点纸牌各界面之间的连接代码编写;拼拼图各界面之间的连接代码的编写;
96、97 年国产的游戏产品,当时是单机板的游戏产品出现在市场上,虽然品质和档次不如外 来的产品,但是它也有一定的市场,当时像甲 A 足球,三国类的,具有我国文化特色的这种产品, 在市场上确实出现了一个高潮,国内热衷于游戏的无论是年轻人,还是从业人员,都对我国游戏 文化的前景,当时也是一片乐观。但是到了 98、99 年,国产游戏产品,在没有形成主流产品的 情况之下,就开始走下坡了,因为大环境,国内一些大环境的影响,政策不明朗,包括资金方面, 等等多方面的原因。98、99 年我们产品开始走下坡。一些从事行业的人才,公司纷纷退出了这个 行业,从事其它的行业。当时我们做销售工作的时候,接触的很多人,很多公司,后来到 99 年 的时候,尤其受到外来文化,外来网络产品等等冲击,由于他们竞争力不够,纷纷退出了这个市 场。到 2000 年当网络游戏崭露头角,出现商机的时候,国产的开发团队已经所剩无己了,根本 没有竞争力。2001—2002 年,国内的产品质量和引进产品有较大的差距,不能让我们国内的消费 者喜爱和接受,从我们经验的角度来讲这是经历的一个过程。
VB课程设计报告。
南京工程学院课程设计说明书(论文)题目密码登录课程名称VB课程设计报告院(系、部、中心)能源与动力工程专业建筑环境与设备工程班级暖通091学生姓名刘江淮学号207090822设计地点图书馆指导教师于雷1设计起止时间:2010 年6 月28 日至2010 年7 月 3一、设计任务补全代码,并按要求完成课程设计报告二、系统总体设计方案密码登录是每一个数据库应用程序所必备的一个功能模块,觅得是为了保证系统及数据的安全。
在用户进入某个系统时会弹出如同的对话框。
确认用户输入的权限师傅正确,级点击“确认”的按钮。
当用户输入的密码不正确时,系统将给出提示,如下图所示。
该模块的实现比较通用,在类似数据库应用中都需要用到。
有的系统还根据用户的需要提供了密码更改的功能。
当你需要更改密码的时候会出现如下的对话框。
首先输入原始密码,在输入新密码,确认新密码,然后点击“确认”键即可。
三、程序总体框架图四、系统的调试源代码写完后,对系统进行调试运行,要求变量声明,对可能出现的几种错误,如:编辑时错误、编译时错误、运行时错误、逻辑错误,进行修改,调试,运行,直至系统能正常运行。
五、收获体会Visual basic 语言是以结构化basic语言为基础,以事件驱动为运行机制。
他的诞生标志着元件设计和开发的新时代的开始。
VB具有面向对象可视化设计工具,是事件驱动的编程机制,同时也提供了易学易用的应用程序集成开发环境。
从Basic 语言、Visual basic 语言的学习开始接触到编程,以前有过一段Basic 语言的学习,觉得比较简单。
当时很想自己能够熟练的进行程序编辑,工程上的软件编辑。
随着大一的Visual basic 语言的学习才逐渐发现这理想想要实现的难度。
对我而言学习编程,不仅能够帮自己解决在生活中可能遇到的一些问题;自己设计一些小游戏还可以给自己带来一些乐趣。
同时也为自己在寻找理想工作添加重要的砝码。
所以,我觉得在学习VB是我们要明确学习的目的。
VB程序设计及应用李淑华课程设计
VB程序设计及应用李淑华课程设计一、设计背景Visual Basic(VB)是一种基于GUI(图形用户界面)的编程语言,主要用于Windows操作系统的应用程序开发。
在当今数字化信息时代,软件技术有着广泛的应用领域,为各行各业的创新和发展提供了强有力的技术支持和手段。
因此,VB 程序设计及应用已成为计算机科学及软件工程等领域必修的课程之一。
以VB程序设计及应用李淑华课程设计为例,本文将围绕该课程的设计背景、目的、内容及实现方法,对该课程的设计及应用进行详细的阐述和分析。
二、设计目的VB程序设计及应用课程的教学目的主要包括以下几个方面:1.掌握VB程序设计及应用的基础知识和编程技能;2.培养学生独立思考、解决问题的能力;3.提高学生对计算机科学及软件工程等领域的认识和理解;4.培养学生的编程兴趣,增强学生对软件开发的热爱和创新精神。
三、设计内容VB程序设计及应用课程的设计内容主要包括以下几个方面:1.VB程序设计语言基础:变量、数据类型、操作符、表达式、控制结构、函数、数组、指针等;2.VB程序设计高级应用:面向对象编程(OOP)、继承、多态、界面设计、事件处理、组件开发等;3.VB程序设计实践:实例分析、程序设计、编写、调试和演示;4.VB程序设计扩展:跨平台编译、设计模式、代码优化和安全等。
四、实现方法为达到设计目的,实现设计内容,VB程序设计及应用李淑华课程设计应采取以下教学方法:1.理论授课:教师应重点讲解VB程序设计及应用语言的基础知识、高级应用、实践和扩展等方面,提高学生的编程能力和实际应用水平;2.实例演示:教师应结合实际应用场景,通过实例演示的方式,综合展示VB程序设计的各个方面知识,增强学生的实际操作能力;3.讨论分析:教师应引导学生参与讨论和分析,共同解决具体问题,培养学生独立思考和解决问题的能力;4.实验实践:教师应引导学生参与VB程序设计应用的实践操作,并开展实验课程,提高学生的应用能力和团队合作精神;5.课程设计:教师应指导学生开展VB程序设计及应用课程设计,注重培养学生独立思考、解决问题的能力,增强学生的编程兴趣和创新精神。
VB设计报告
南京工程学院课程设计说明书(论文)题目打字练习课程名称VB语言课程设计院(系、部、中心)专业班级学生姓名学号设计地点图书馆基础教学机房指导教师设计起止时间:201x年x月x日至201x年x月x日目录一、设计任务 (3)二、方法原理 (3)三、总体设计思路 (3)四、程序调试和解决问题 (4)五、完善及存在的问题 (4)六、收获体会 (4)七、意见建议 (4)八、示例截图 (5)九、附录1(代码) (6)十、附录2(主要参考资料) (10)一、设计任务1.题目介绍在计算机及其他数码产品日益普及的今天,人们使用键盘应像用笔写字一样熟练。
进行打字练习时熟悉键盘并提高打字速度的好方法。
本体要求编制一个打字练习游戏程序,使用户在游戏过程中进行打字练习。
2.功能要求(1)启动界面如图1(2)选择难度和速度后,单击“开始”按钮,界面如图1。
若选择简单,则落下字母;若选择复杂,单击开始后出现对话框,如图 2.单击确定,开始练习,落下单词。
(2)若用户在字符落到屏幕底部之前敲击了相应的键盘键,则该字符被“击中”然后消失。
根据程序速度和难度的设置自动进行积分,实时分数时间正确率掉落个数显示在窗体的上部。
积分规则:正确击中一个字母或一个单词,加一分;反之,不得分,亦不扣分。
(4)当游戏者单击“暂停”按钮时,程序停止运行,在单击“开始”按钮,程序继续运行;当单击“退出”按钮时,则弹出对话框(如截图示例3),单击“取消”按钮,程序继续运行,单击“确定”按钮,则弹出对话框(如截图4),此时对话框显示分数,单击“确定”按钮,退出程序。
(5)为了增加视觉效果,每个掉落的字符的颜色随机产生。
二、方法原理根据题目要求,使用控件数组,用标签标题表示字符,键盘事件的处理判断打字正确与否,随机值的产生方法随机产生字符,用Timer控件属性反映时间、控制字符下落速度。
三、总体设计思路首先在窗体上画出三个按钮标题分别为开始、暂停、退出。
画六个标签分别表示已落字母个数、已花时间、得分与正确率。
vb_可视化编程技术课程设计--企业销售合同管理系统
辽宁工业大学可视化编程技术课程设计(论文)题目:企业销售合同管理系统院(系):专业班级:学号:学生姓名:指导教师:姜瑶教师职称:助教起止时间: 2012.11.26至2012.12.9课程设计(论文)任务及评语目录第1章课程设计目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 (1)第2章课程设计内容 (2)2.1 系统功能设计 (2)2.2 系统详细设计 (2)2.3 系统运行与测试 (15)第3章课程设计总结 (16)参考文献 (17)第1章课程设计目的与要求1.1 课程设计目的本课程的课程设计实际是学生学习完《可视化编程技术》课程后,进行的一次全面的综合训练,其目的在于加深对可视化编程技术基本知识的理解,掌握运用VB开发应用程序的基本方法及基本技巧。
1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。
软件:Microsoft Visual Basic 6.0Microsoft Access 20031.3 课程设计的预备知识熟悉Visual Basic 6.0程序设计的基本语法知识及常用技巧。
1.4 课程设计要求按课程设计指导书提供的课题,每个小组设计一个完整的管理系统应用程序。
要求根据规定设计系统的具体要求,按照应用程序的设计步骤和VB的基本知识应用程序的分析与实现。
应根据基本学时分配合理安排设计时间,并独立完成各方面的设计。
选择同一题目的同学,可以共同协作完成一个应用程序的开发任务。
要求书写详细的设计说明书,对有复杂的代码段和程序段的部分,应画出程序流程图,写出全部的代码。
在界面设计中,需画出每个窗体的布局,进行属性说明,杜绝雷同。
第2章课程设计内容2.1系统功能设计2.1.1 系统功能分析主要完成学生成绩的管理,包括:(1)排课管理。
主要完成课程的添加、修改、删除和查询。
VB设计俄罗斯方块论文
前言visual basic继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。
随着21世纪信息社会的到来,计算机在人们的工作和生活中的深入,要求我们越来越多地与计算机打交道,为了使用户在繁忙的日程工作中得到放松,于是出现了各种各样的休闲软件,如聊天工具,游戏等等。
于是我们小组着手设计开始一个这样的游戏软件。
通过这学期来Visual Basic的学习,我初步掌握了Visual Basic语言的最基本的知识,于是在化希耀张兵等老师的指导下动手用Visual Basic编写俄罗斯方块游戏。
无可争议,《俄罗斯方块》是有史以来最伟大的游戏之一。
它是永恒的娱乐经典,但它实际上又和那些传统的经典娱乐方式不同,因为它的本质是电子化的,所以它的确属于现代产物。
《俄罗斯方块》举世闻名的游戏性,在该游戏新鲜出炉时就显得非常直观。
某些与坠落的玩具碎片和它们的形状有关的东西,使得哪怕新手也会很自然地企图把它们排列起来,并加以适当组合,就好似《俄罗斯方块》触动了我们某些内在的感官,使得哪怕是我们当中最杂乱无章的人也要把事情整理妥当。
在曾经发布过的所有游戏中,《俄罗斯方块》还被认为是仅有的一个能够真正吸引广泛人群的作品。
某些批评家也许会声称,《俄罗斯方块》要比过去二十年间出现的任何东西都要浪费人们的时间。
至于我们,则要欣然提名它为GameSpot评选出的历史上最伟大游戏之一。
为了怀念经典,也为了能够给大多的计算机用户在工作之余找到一个休闲、娱乐的一个方式,我们小组开始着手用VB语言开发一个经典的俄罗斯方块游戏。
工程概况1.1 项目名称俄罗斯方块游戏1.2 设计平台VB 全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。
Vb是microsoft公司于1991年退出的windows应用程序开发工具visual意思是“可视化的”。
在它刚推出来时,自身还存在一些缺陷,功能也相对少一些。
2021vb设计论文(精选8篇)范文2
2021vb设计论文(精选8篇)范文 随着科技不断的进步,信息化社会已经趋于成熟,利用信息化手段辅助工业生产、市场营销及日常生活已经成为发展趋势。
VB作为一款简单实用的编程开发工具,被广泛应用于各行各业。
下面是搜索整理的vb设计论文8篇,供大家借鉴参考。
vb设计论文第一篇:VB实现数据库访问的关键技术及其运用 摘要:目前,各种应用程序与应用工具不断被开发出来,并在数据库访问系统当中得到了应用。
这其中VB编程开发技术可以为数据库的应用提供强大的支持,同时还可以对外来的数据库进行操作,适用性比较强。
数据库最大的特点在于高效与合理,而在设计和使用数据库访问技术的时候,需要借助于VB编程开发,这是使用计算机语言进行编程的重要环节。
基于此,本文从数据库访问技术在VB编程开发应用的主要技术出发,探究了数据库访问技术在VB编程开发中的应用,分析了在应用过程当中的注意事项。
关键词:数据库访问技术;VB编程开发; 应用方法; 1数据库访问技术在VB编程开发中的应用 随着技术的不断改革与创新,目前VB技术已经向着灵活性、简单性的趋势不断发展,并以其独特的可扩展性和访问快捷性成为重要的编程方式。
在VB技术在程序开发得到广泛的应用之后,数据的操作和维护变得更加方便。
工作人员可以通过数据库当中的相关空间来实现对数据和信息的管理与操作。
在应用VB编程开发技术的过程当中,相关人员需要相对数据库当中的服务资源进行有效管理,同时还需要对客户的信息与数据进行及时反馈,从而实现数据库系统的交互。
这对于数据库系统的应用效果来说具有重要的影响。
1.1SQLSever服务器技术 SQL数据库的特点在于人们在正常操作服务器的时候,可以使数据库处于正常运行的状态。
比如在企业管理当中应用SQL数据库的时候,需要运行企业的管理器,这时候可以在选择了数据库之后创建报表,完成用户名的创建和登录密码的设置,同时还要完成数据库当中dbscowenr用户的设置。
vb程序设计实验心得(优秀模板3篇)
vb程序设计实验心得(优秀模板3篇)vb程序设计实验心得第1篇数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。
首先,让我的记忆追溯到大二暑假,在老大的指引下,我接触到Microsoft 公司的.NET产品。
那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。
我是一个好奇心很强的人,突然看到了一个号称“.网络是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。
我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。
我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。
很耗费内存空间。
这个时候就是数据库站出来的时候啦,于是我又装上了sql server,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。
通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。
但是这为这学期的课程设计打下了铺垫。
来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。
遇到什么就学什么。
我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。
我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。
其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。
VB课程设计报告(实例样本)
课程设计(论文)任务书学院专业班一、课程设计(论文)题目二、课程设计(论文)工作自10 年6月20日起至08 年 6 月30 日止。
三、课程设计(论文) 地点:四、课程设计(论文)内容要求:1.本课程设计的目的1. 综合Visual Basic相关知识制作简单的可视化应用程序2. 灵活对程序代码进行利用,修改和编写;3. 熟练将Visual Basic所学知识和其它知识相结合2.课程设计的任务及要求1)基本要求:1、目的是进一步培养学生综合应用VB的各种编程知识和技巧进行程序设计的能力。
通过课程设计,学生能达到具备设计功能较为复杂的Windows应用程序的能力。
2、至少多窗体界面(3-5个窗体)3、使用菜单、数组、文件操作、图形操作等制试点。
;4、对运算结果的正、误分析原因。
2)课程设计论文编写要求(1)要按照书稿的规格打印誊写毕业论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)毕业论文装订按学校的统一要求完成3)参考文献:1:《Visual Basic程序设计教程》作者: 刘炳文、许蔓舒编著。
清华大学出版社2:《Visual Basic程序设计教程》(第二版)作者: 刘瑞新等编著,电子工业出版社3:《新编Visual Basic程序设计教程》作者: 梁普选主编,电子工业出版社4)课程设计进度安排内容天数地点查阅资料 2 图书馆系统设计 5 15-701编程与调试 3 15-701检查程序及提问(考核) 1 8-501学生签名:10 年6月20日课程设计(论文)评审意见(1)完成分析(20分):优()、良()、中()、一般()、差();(2)设计过程(40分):优()、良()、中()、一般()、差();(3)完成调试(20分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)格式规范性及考勤是否降等级:是(√)、否()评阅人:职称:讲师10 年6月30日电信计费管理系统一、开发简介(一)背景本学期系统学习了VB程序设计课程,按照惯例,在学期结束时进行VB程序设计课程软件的开发,也就是本次课程设计。
高校VB程序设计课程教学论文
高校VB程序设计课程教学论文摘要在程序设计语言课程教学当中,教师怎样解决程序设计的枯燥、难懂等这一问题,这是作为计算机教师颇感兴趣的课题。
本文就结合实例演示做到激发性教学、使学生在教学过程中能主动学习程序设计的一些具体运用。
关键词:VB实例教学激发性主动性作为语言程序设计领域的前沿软件,VB的开展历史已经很久,相关的技术也比拟成熟,由于其简单易学、功能强大、应用广泛,因此在很多职业院校都开设了这门课程,我校也在计算机信息与管理、计算机网络技术以及电子商务等相关专业开设了这门课程。
正是由于社会办学力量的推动和“程序设计”职业的热衷,现在会VB的人越来越多了,但是我们也应该看到,很多人都局限在“会VB”,而不能灵活的运用,不能用VB完成相应的程序设计,更谈不上从事专业编程工作了。
在这样的情况下,作为高职教师的我们,在教学中怎样才能够吸引同学们努力主动的学习好VB,这是我们值得探讨的问题。
虽然我们学生的起点相对来说较低,但以后所从事的工作大多数也是以程序设计操作员为主的,因此笔者认为我们的主要教学目标,不仅是使学生熟悉VB的基本概念,而且还要能够熟练的掌握一些程序设计的相关技巧和方法,有一定的程序编写思维能力,并且在今后的教学中同学们能够积极主动的探索和学习。
为了到达这个目的,笔者认为以下几个方面是我们在教学中值得开展的:一、注重实例教学对于一项操作性很强的工作,我们是不可以只讲理论的,正如当我们学习游泳的时候,如果教练只是告诉我们每个动作的名称但不告诉我们这些动作怎么完成,我们是不可能学会游泳的。
那么我们在学习VB的过程中也必须结合大量的实例演示,让同学们真正体会到VB的可视化设计和它的实用性。
在最初接触这门课程的时候,我们必须先要详细的介绍各个控件,只有知道每个控件各自的作用以及使用方法以后我们才可以在VB中创造我们自己的程序。
在控件介绍和程序设计中我们必须通过实例的演示来让学生在模仿中学会各个控件的使用和程序的编写。
基于项目化教学的VB课程设计与探讨
“ 目” 中 心 , 以课 堂 为 中心 转 变 为 以 实 际经 验 为 项 为 由
项 目目标 和要求 : 过本项 目学 习 , 生初 步 了 通 学
解 数 据 处 理 的 编 程 解 决 方 案 ,熟 悉 人 机 交 互 程 序 设
Ke rs p ete cig dvl igpat e pat em d l ywod : mj ahn; ee pn r i ; r i o u ct o cc cc e
随 着计 算 机 技 术 的 迅 速 发 展 , 算 机 已经 应 用 到 计
际 的应 用 能 力 。 目化 教 学在 实 施 中有 如 下 特 征 : 项
5 5
2 项 目化教 学 的教 学 设 计
能 进 行 四则 运算 。 () 则 运算 器 进一 步完 善 : 2四 按
项 目化教学 与传统 的教学 法相 比,有很 大 的区
别 , 要 表 现 在 改 变 了 传 统 的 三 个 中 心 , 以 教 师 为 主 由
Wid w 附件 中计算器 的功能进行模仿 , no s 完善设计 。
t a h g meh d t aif h e ur me to r ii gt n wih p a tc klsa d h g r f sin lq ai e c i t o o s tsy t e r q ie n ftan n Me  ̄ t r cia s i ih p oe so a u lt n l ln y
关键词 : 目 项 化教 学 ; 拓展训练 ; 实训模块 中图分 类号 : 7 2 G 1 文献标 志码 : A
On C u s eino B B sdo rjc e c ig o reD s f ae nP oet a hn g V T
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Vb课程设计题目排序演示专业自动化学生姓名王亮学号2012118064指导教师王福林目录一、设计任务 (3)二、总体设计思路 (4)三、画出程序总体框图 (4)四、系统的调试 (6)五、收获体会 (8)六、源代码 (9)七、主要参考资料 (23)一、设计任务(1)程序启动后,显示主界面。
首先单击“产生10个随机数”按钮来产生10个随机数,并显示在10个文本框中;然后选择一种“演示模式”和“排序方式”,其中演示模式可以直接给出排序结果,也可以通过动画动态演示整个排序过程,排序方式可以按从小到大顺序,也可以按从大到小顺序排序。
(2)在主窗口的空白区单击鼠标右键,弹出快捷菜单。
从中选择“排序算法”命令,打开对话框,从中选择一种排序方式,单击不同排序方式时,“算法描述”中简要介绍了这种算法。
单击“确定”按钮返回到主窗口,主窗口中最上方框架控件的标题文字显示当前所选的排序算法。
(3)设置完毕,单击“开始排序”按钮(此按钮在生成数据之前是不可用的),启动排序过程。
若选择了动画方式,红色背景的文本框表示当前正在比较的元素,黄色的代表已排序的元素,2个运动的文本框表示交换过程。
在排序过程中可以调节水平滚动条的位置来控制演示过程的速度。
排序结束后程序以消息框的形式报告数据交换的次数。
可以使用快捷菜单中的“将数据写入文件”命令将排序后的数据保存到“data.txt”中覆盖原有内容。
(4)选择窗口主菜单中的“颜色设置”命令,主窗口扩大,底部显示“颜色设置”框架,可以对“文本背景色”、“文本前景色”、“已排序元素色”和“交换结点色”进行设置。
再选择此命令,窗口恢复到原来的大小。
(5)选择主菜单中的“退出”命令可退出本程序,程序显示消息对话框予以确认。
二、系统总体设计方案三、画出程序整体框图1.快捷菜单排序方法多重窗体窗体编辑器设计界面排序演示模块代码信息提示框编写代码2.启动后的主界面3.确认退出对话框4.颜色设置5.显示交换次数6.“排序算法选择”对话框四、系统的调试1、问题:停止按钮不能使其在开始运行时候停止。
解决:利用了Boolean(逻辑变量)定义了一个使程序停止的变量f,然后又定义了一个Pri vate Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) ,声明sleep函数,可以使程序暂停一段时间,最后用时钟(timer)来设定所需暂停的随机时间(s)。
注意ti mer函数设置时的interval值,以毫秒为单位,1000ms=1s。
2、问题:消息对话框(msgbox)的形式,及msgbox函数的返回值如何的选取,设置。
解决:在对“停止”按钮编码时,一开始未给msgbox赋值,导致程序不起作用,后来赋值后,采用了msgbox函数里的vbyes与vbno,采用了if...then...else...但程序无法退出,最后只对vbno做了代码编制,退出程序则采用了“unload”函数,最后程序终于调试成功。
3、问题:动态演示如何演变,交换次数无法得到。
解决:采用timer函数,以时间来对它进行控制,也可以拖得滚动条来控制它动态演示时的速度。
演示代码:If a(k) > a(j) An d O ptio n1.V alue Th enTex t1(k - 1).B ackC olor = y ans e1 '''''''''''''''交换元素颜色Tex t1(j - 1).B ackC olor = y ans e1DoE vent sCal l Sl eep(1000) 调用了函数sl eeplin shi = a(j)a(j) = a(k)a(k) = lins hijia ohua n = jia ohua n + 1Tex t1(k - 1).T ext = a(k)Tex t1(j - 1).T ext = a(j)Tex t1(k - 1).B ackC olor = y ans e '''''''''''''已经排序的颜色Tex t1(j - 1).B ackC olor = y ans eEnd IfIf a(k) < a(j) And Opti on2.Val ue T henTex t1(k - 1).B ackC olor = y ans e1Tex t1(j - 1).B ackC olor = y ans e1lin shi = a(j)a(j) = a(k)a(k) = lins hijia ohua n = jia ohua n + 1DoE vent sSle ep (1000)Tex t1(k - 1).T ext = a(k)Tex t1(j - 1).T ext = a(j)Tex t1(k - 1).B ackC olor = y ans eTex t1(j - 1).B ackC olor = y ans eEnd IfIf k = 9 The nj = 0k = 0Tim er1.Enab led = F alseMsgBo x F rame1.C apti on & "排序结束" & "共用" & ji aohu an & "次", vb OKOn ly + vbInf orma tion, "系统提示"4、问题:快捷菜单无法弹出。
解决:设计到了窗体编辑器,及弹出菜单所使用的方法PopupMenu。
Private Sub Form_Mous eDown(Button As Integer, Shift As Integer, x As Single, Y As Single)If Button = 2 Then Form1.PopupMenu y oujian '''右键弹出菜单End Sub五、收获体会这是我进入大学以来第一次学习vb,第一次知道了什么是vb,第一次了解到了原来平时我们看到计算机上那些普普通通的小程序需要那么多的代码才能够运行起来,终于发现这其中的奥秘。
学习vb首先就是要对所有常用函数了如指掌,这样在编程的时候才能够很快想到并用对地方,做这个程序设计的一开始,简直是一头雾水,无从下手,后来经过翻书,查找资料,网上资料,等等...终于对所要编的程序有了一定的认识,在同学互相讨论的基础上,终于编出排序演示,但是还存在不足,在动态演示的时候,缺了正在交换文本框的动态形式,但是基本能运行起来,大致的符合了设计任务。
程序中所涉及的内容很多,有比较法排序,插入法排序,冒泡发排序,选择法排序,集合了所有的排序,以前对排序的编程就有点不理解,因为它很绕,真正理解它真的有点困难。
还有一些我们vb书上第七章的一些窗体编辑器,快捷菜单的做法,定时器的编码,这些更加巩固了我对这些知识的理解,通过这几天对vb的深入研究,发现其实慢慢的对vb产生了兴趣,从以前的没兴趣到产生兴趣,这是一种好的现象,兴趣是最好的老师,相信我会越学越好的。
六、源代码模块:Option ExplicitPublic Declar e Sub Sleep Lib "ker nel32" (ByV al dw Millisec onds A s Long)颜色设置:Pr ivate Sub Com bo1_Click()Dim i As Int eg erSel ect Ca se Com bo1.ListIndexCase 0For i = 0 T o 9T ext1(i).Ba ckColor= vbBlu eNext iCase 1For i = 0 T o 9T ext1(i).BackC olor = vbGr eenNext iCase 2For i = 0 T o 9T ext1(i).BackC olor = vb RedNext iCase 3For i = 0 T o 9T ext1(i).BackC olor = vbY ellowNext iEnd Sel ectEnd SubPr ivate Sub Com bo2_Click()Dim i As Int eg erSel ect Ca se Com bo2.ListIndex Case 0For i = 0 T o 9T ext1(i).For eColor= vbBlu eNext iCase 1For i = 0 T o 9T ext1(i).For eC olor = vbGr een Next iCase 2For i = 0 T o 9T ext1(i).For eC olor = vb Red Next iCase 3For i = 0 T o 9T ext1(i).For eC olor = vbY ellow Next iEnd Sel ectEnd SubPr ivate Sub Com bo3_Click() Sel ect Ca se Com bo3.ListIndex Ca se 0yan se = vbBlu eCa se 1yan se = vbGr eenCa se 2yan se = vbRedCa se 3yan se = vbY ellowEnd Sel ectEnd SubPr ivate Sub Com bo4_Click() Sel ect Ca se Com bo4.ListIndex Ca se 0yan se1 = vb BlueCa se 1yan se1 = vbGr eenCa se 2yan se1 = vb RedCa se 3yan se1 = vbY ellowEnd Sel ectEnd Sub退出按钮:Pr ivate Sub Com m and1_Click()If Msg Box("您真的要退出吗?", 4 + 32, "请您确认!") = vb No Then Exit SubEnd IfUnload Form1Unload Form2End Sub产生随机数:Pr ivate Sub Com m and2_Click()Dim i As Int eg erRandom iz e Tim eFor i = 1 T o 10a(i) = Rnd * 200T ext1(i - 1).T ext = a(i)Next iComm and3.Enabled = T r ueComm and4.Enabled = T r ueEnd Sub开始排序直接给出排序结果:Pr ivate Sub Com m and3_Click()Dim i As Int eg er, k A s Singl eIf For m1.Optzhij ie.V alu e Th enIf For m2.Option1.V alue ThenCall bij iao(a)For i = 1 T o 10T ext1(i - 1).T ext = a(i)NextEl seIf For m2.Option2.V alue ThenCall xuanz e(a)For i = 1 T o 10T ext1(i - 1).T ext = a(i)NextEl seIf For m2.Option3.V alue ThenCall char u(a)For i = 1 T o 10T ext1(i - 1).T ext = a(i)NextEl seIf For m2.Option4.V alue ThenCall m aopao(a)For i = 1 T o 10T ext1(i - 1).T ext = a(i)NextEnd IfIf a(1) > a(10) ThenT ext2(0).T ext = a(1)T ext2(1).T ext = a(10)El seT ext2(0).T ext = a(10)T ext2(1).T ext = a(1)End IfFor i = 1 T o 10k = a(i) + kNext iT ext2(2).T ext = k / 10End If----------------------------------------------------------------------------------------- 动态演示结果:If For m1.Optdongtai.V alue Th enIf For m2.Option1.V alue ThenTim er1.Enabled = T r ueEl seIf For m2.Option2.V alue ThenTim er1.Enabled = T r ueEl seIf For m2.Option3.V alue ThenTim er1.Enabled = T r ueEl seIf For m2.Option4.V alue ThenTim er1.Enabled = T r ueEnd IfEnd IfEnd Sub暂停运行命令:Pr ivate Sub Com m and4_Click()Dim i%, n%, s%f = Fal seTim er1.Enabled = FalseTim er1.Inter val = 1000For i = 1 T o ns = n + 1Next iSl eep (n)End Sub默认:Pr ivate Sub Com m and5_Click()Dim i%Com bo1.T ext = "蓝色"Com bo2.T ext = "绿色"Com bo3.T ext = "红色"Com bo4.T ext = "黄色"T ext1(i).Bac kColor = vbBlu eT ext1(i).For eColor = vbGr eenyanse = vbRedyanse1 = vbY ellowNextEnd Sub窗体启动的时候加载的程序:Pr ivate Sub For m_Load()Comm and3.Enabled = FalseComm and4.Enabled = FalseFr am e4.V isibl e = Fal seForm2.Option1.V alue = T r ueEnd Sub快捷菜单:Pr ivate Sub For m_MouseDow n(Button As Int eg er, Shift As Int eg er, X A s Singl e, Y As Singl e) If Button = 2 Then For m1.PopupMenu youj ianEnd Sub速度Pr ivate Sub HScr oll1_Chang e()Tim er1.Inter val = H Scr oll1.Sm allchangeEnd Sub菜单退出的按钮:Pr ivate Sub m nu_end_Click()Unload Form1Unload Form2End Sub显示设置按钮:Pr ivate Sub m nu_set_Clic k()If m nu_set.Ch ecked = T r ue ThenFor m1.Height = For m1.Height + 1650Fr am e4.V i sible = T r uem nu_set.Ch ecked = Fal seElseIf m nu_set.Ch ecked = Fal se ThenFor m1.Height = For m1.Height - 1650m nu_set.Ch ecked = T r ueEnd IfEnd Sub写入数据:Pr ivate Sub shuj uxie_Click()Open App.Path + "\data.txt" For Output As #1For i = 1 T o 10W r ite #1, a(i);Next iClose #1End Sub显示窗体2:Pr ivate Sub suanfa_Click()Form2.ShowEnd Sub时间控件用来动态演示:Pr ivate Sub Tim er1_Tim er()Static k A s Int eg er, j As Int eg er, linshi As Integ er, j iaohuan As Int eg er, i A s Int eg er Dim X As Int eg er, m As Singlef = T r ueIf f = Fal se ThenExit SubEnd IfIf For m2.Option1.V alue Then 比较法排序If k = 0 Thenk = 1j = 2End IfIf j = 11 Thenk = k + 1j = k + 1End IfIf a(k) > a(j) And Option1.V alue Th en 交换元素颜色T ext1(k - 1).Ba ckColor = yan se1T ext1(j - 1).Bac kColor = yanse1DoEv entsCall Sl eep(1000)linshi = a(j)a(j) = a(k)a(k) = linshij iaohuan = jiaohuan + 1T ext1(k - 1).T ext = a(k)T ext1(j - 1).T ext = a(j)T ext1(k - 1).Ba ckColor = yan se 已经排序的元素颜色T ext1(j - 1).Bac kColor = yanseEnd IfIf a(k) < a(j) And Option2.V alue Th enT ext1(k - 1).Ba ckColor = yan se1T ext1(j - 1).Bac kColor = yanse1linshi = a(j)a(j) = a(k)a(k) = linshij iaohuan = jiaohuan + 1DoEv entsSl eep (1000)T ext1(k - 1).T ext = a(k)T ext1(j - 1).T ext = a(j)T ext1(k - 1).Ba ckColor = yan seT ext1(j - 1).Bac kColor = yanseEnd IfIf k = 9 Thenj = 0k = 0Tim er1.Enabled = Fal seMsg Bo x Fr am e1.Caption & "排序结束" & "交换次数为:" & j iaohuan & "次", vbOKOnly + vbInform ation, "系统提示"j iaohuan = 0If a(1) > a(10) ThenT ext2(0).T ext = a(1)T ext2(1).T ext = a(10)El seT ext2(0).T ext = a(10)T ext2(1).T ext = a(1)End IfFor X = 1 T o 10m = a(X) + mNext XT ext2(2).T ext = m / 10End Ifj = j + 1 选择法排序ElseIf For m2.Option2.V alue Th enk = k + 1lin shi = a(k + 1)i = k + 1If Option1.V alue ThenFor j = k + 1 T o U Bound(a)If lin shi > a(j) Thenlinshi = a(j)i = jEnd IfNext jIf a(k) > a(i) ThenT ext1(k - 1).Bac kColor = yan se1T ext1(i - 1).BackCol or = y anse1DoEv entsSl eep (1000)lin shi = a(i)a(i) = a(k)a(k) = linshiT ext1(k - 1).T ext = a(k)T ext1(i - 1).T ext = a(i)j iaohuan = j iaohuan + 1T ext1(k - 1).Bac kColor = yan seT ext1(i - 1).BackCol or = y anseEnd IfEnd IfIf Option2.V alue ThenFor j = k + 1 T o U Bound(a)If lin shi < a(j) Thenlinshi = a(j)i = jEnd IfNext jIf a(k) < a(i) And Option2.V alue Th enT ext1(k - 1).Ba ckColor = yan se1T ext1(i - 1).BackC olor = y anse1DoEv entsSl eep (1000)linshi = a(i)a(i) = a(k)a(k) = lin shiT ext1(k - 1).T ext = a(k)T ext1(i - 1).T ext = a(i)j iaohuan = j iaohuan + 1T ext1(k - 1).BackCol or = y anseT ext1(i - 1).Bac kColor = yan seEnd IfEnd IfIf k = 9 Theni = 0j = 0k = 0Tim er1.Enabled = Fal seMsg Bo x Fr am e1.Caption & "排序结束" & "交换次数为:" & j iaohuan & "次", vbOKOnly + vbInform ation, "系统提示"j iaohuan = 0If a(1) > a(10) ThenT ext2(0).T ext = a(1)T ext2(1).T ext = a(10)El seT ext2(0).T ext = a(10)T ext2(1).T ext = a(1)End IfFor X = 1 T o 10m = a(X) + mNext XT ext2(2).T ext = m / 10End IfElseIf For m2.Option3.V alue Th en 插入法排序i = i + 1For j = 1 T o iIf a(i) < a(j) And Option1.V alue Th enT ext1(i - 1).Bac kColor = yan se1T ext1(j - 1).Bac kColor = yan se1DoEv ent sSl eep (1000)linshi = a(i)For k = i T o j + 1 St ep -1a(k) = a(k - 1)Next ka(j) = lin shij iaohuan = j iaohuan + 1For X = j T o iT ext1(X - 1).T ext = a(X)Next XT ext1(i - 1).Ba ckColor = yan seT ext1(j - 1).Ba ckColor = yan seEnd IfIf a(i) > a(j) And Option2.V alue Th enT ext1(i - 1).Bac kColor = yan se1T ext1(j - 1).Bac kColor = yan se1DoEv ent sSl eep (1000)linshi = a(i)For k = i T o j + 1 St ep -1a(k) = a(k - 1)Next ka(j) = lin shiT ext1(i - 1).Ba ckColor = yan seT ext1(j - 1).Ba ckColor = yan sej iaohuan = j iaohuan + 1For X = j T o iT ext1(X - 1).T ext = a(X)Next XEnd IfNext jIf i = 10 Theni = 0j = 0k = 0Tim er1.Enabled = Fal seMsg Bo x Fr am e1.Caption & "排序结束" & "交换次数为:" & j iaohuan & "次", vbOKOnly + vbInform ation, "系统提示"j iaohuan = 0If a(1) > a(10) ThenT ext2(0).T ext = a(1)T ext2(1).T ext = a(10)El seT ext2(0).T ext = a(10)T ext2(1).T ext = a(1)End IfFor X = 1 T o 10m = a(X) + mNext XT ext2(2).T ext = m / 10End IfElseIf For m2.Option4.V alue Th en 冒泡法排序j = j + 1If j = 10 - k Thenk = k + 1j = 1End IfIf a(j) > a(j + 1)And Option1.V alue ThenT ext1(j - 1).BackCol or = y anse1T ext1(j).BackCol or = y anse1DoEv ent sSl eep (1000)linshi = a(j + 1)a(j + 1) = a(j)a(j) = linshij iaohuan = jiaohuan + 1T ext1(j - 1).T ext = a(j)T ext1(j).T ext = a(j + 1)T ext1(j - 1).Bac kColor = yanseT ext1(j).Bac kColor = yanseEnd IfIf a(j) < a(j + 1)And Option2.V alue ThenT ext1(j - 1).BackCol or = y anse1T ext1(j).BackCol or = y anse1DoEv ent sSl eep (1000)linshi = a(j + 1)a(j + 1) = a(j)a(j) = linshij iaohuan = jiaohuan + 1T ext1(j - 1).T ext = a(j)T ext1(j).T ext = a(j + 1)T ext1(j - 1).Bac kColor = yanseT ext1(j).Bac kColor = yanseEnd IfIf k = 9 Thenk = 0j = 0Tim er1.Enabled = Fal seMsg Bo x Fr am e1.Caption & "排序结束" & "交换次序为:" & j iaohuan & "次", vbOKOnly + vbInform ation, "系统提示"j iaohuan = 0If a(1) > a(10) ThenT ext2(0).T ext = a(1)T ext2(1).T ext = a(10)El seT ext2(0).T ext = a(10)T ext2(1).T ext = a(1)End IfFor X = 1 T o 10m = a(X) + mNext XT ext2(2).T ext = m / 10End IfEnd IfEnd SubPr ivate Sub w enj iandu_Click() 从文件中读取数据Dim i As Int eg erOpen App.Path + "\data.txt" For Input As #1For i = 1 T o 10Input #1, a(i)T ext1(i - 1).T ext = a(i)Next iCom m and3.Enabled = T r ueCom m and4.Enabled = T r ueEnd Sub比较法排序Pr ivate Function bij iao(paixu() As Integ er) A s Int eg er Dim k A s Int eg er, j As Int eg er, linshi As Integ erj iaohuan = 0For k = 1 T o UBound(paixu) - 1If Option1.V alue ThenFor j = k T o UBound(paixu)If paixu(k) > paixu(j) Thenlinshi = paixu(j)paixu(j) = paixu(k)paixu(k) = linshiEnd IfNext jEl seIf Option2.V alue ThenFor j = k T o U Bound(paixu)If paixu(k) < paixu(j) Thenlinshi = paixu(j)paixu(j) = paixu(k)paixu(k) = linshiEnd IfNext jEnd IfNext kEnd Function比较法排序Pr ivate Function m aopao(paixu() As Integ er) A s Int eg er Dim k A s Int eg er, j As Int eg er, linshi As Integ erFor k = 1 T o UBound(paixu) - 1If Option1.V alue ThenFor j = 1 T o UBound(paixu) - kIf paixu(j) > paixu(j + 1) Thenlinshi = paixu(j + 1)paixu(j + 1) = paixu(j)paixu(j) = linshiEnd IfNext jEl seIf Option2.V alue ThenFor j = 1 T o UBound(paixu) - kIf paixu(j) < paixu(j + 1) Thenlinshi = paixu(j + 1)paixu(j + 1) = paixu(j)paixu(j) = linshiEnd IfNext jEnd IfNext kEnd Function选择法排序Pr ivate Function xuanz e(paixu() As Int eg er) A s Int eg er Dim k A s Int eg er, j As Int eg er, linshi As Integ er, m As Int eg er For k = 1 T o UBound(paixu) - 1lin shi = paixu(k + 1)m = k + 1For j = k + 1 T o UBound(paixu)If linshi > paixu(j) Thenlin shi = paixu(j)m = jEnd IfNext jIf paixu(k) > paixu(m) And Option1.V alue Th enlin shi = paixu(m)paixu(m) = paixu(k)paixu(k) = linshiEnd IfIf Option2.V alu e Th enlinshi = paixu(k + 1)m = k + 1For j = k + 1 T o U Bound(paixu)If linshi < paixu(j) Thenlin shi = paixu(j)m = jEnd IfNext jIf paixu(k) < paixu(m) Thenlinshi = paixu(m)paixu(m) = paixu(k)paixu(k) = linshiEnd IfEnd IfNext kEnd Function插入法排序:Pr ivate Function charu(paixu() As Integ er) A s Int eg erDim i As Int eg er, j As Integ er, k A s Int eg er, linshi As Integ erFor i = 1 T o U Bound(paixu)For j = 1 T o iIf paixu(i) < paixu(j) And Option1.V alue Thenlinshi = paixu(i)For k = i T o j + 1 St ep -1paixu(k) = paixu(k - 1)Next kpaixu(j) = linshiElseIf paixu(i) > paixu(j) And Option2.V alue Thenlinshi = paixu(i)For k = i T o j + 1 St ep -1paixu(k) = paixu(k - 1)Next kpaixu(j) = linshiEnd IfNext jNext iEnd Function窗体2的源代码::Option ExplicitPr ivate Sub Com m and1_Click()Form2.V isible = Fal seEnd SubPr ivate Sub Option1_Click()T ext1.T ext = ""T ext1.T ext = "所谓比较法就是:第一轮从a(1)开始,一次讲A(1)与其后的所有元素逐个进行比较,如果其后的某一个元素比A(1)小,则将两者对调,这样第一轮结束后A(1)中保留的是10个元素中最小的值。