第一篇:VB程序设计实训报告
VB编程设计实训报告
一,实训目的:
加深对可视化编程技术基本知识的理解,掌握运用VB开发应用程序的基本方法及基本技巧。
二,实训时间:
2011年10月——2011年11月
三,实训方式:
上机操作
四,实训类容:
这次在杨立雄老师的带领下,利用VB开发工具与数据库SQL开发一个使用的小型管理信息系统。我选择了学籍管理系统。它的功能要求如下:
1,学籍信息输入:实现学生基本情况的输入。包括各个学生的情况,姓名,家庭号码,家庭住址,学号等各个信息。
2,学籍信息管理:本模块实现了信息的修改,删除,查询。还有个人信息。把信息统计这个繁琐的工作简单化,为学生信息的管理方面提高工作效率。
3,学籍信息查询:通过输入学号便可以查询到这个学生的全部信息,包括姓名,性别,出生年月,班级,入学日期,联系电话,奖励和成绩表都一目了然,很大的方便了教工们查询学生信息的过程。
4,统计查询:实现查询全班人数,男女生比例等。
五,实训体会:
这次实训,感觉既有趣又有些辛苦。这还是老师担心我们适应不了所以没教那么多知识,即使这样我们仍学到了比以前上学时更多的知识,而且这些知识有好多都是我们自己去领悟的到的。我也知道有人比我们更累,所以我自觉得还是挺好的。
经过这次的实训,我真真切切的感受到了计算机在我们生活中工作中的运用,这些软件,程序能让我们提高工作的效率,更直观更便捷切入主题。这次我们学习的是数据源的原理及应用的各方面知识,由老师带着我们不断操作。VB能有效的组织,管理和共享数据库信息,能把数据库信息与ADO结合在一起,实现数据库信息的共享。同时,VB概念清晰,简单易学,使用。是适合企业管理人员,数据库管理员使用的首选。我觉得学习了这个,对我们参加工作后制表,创建查询,数据分析和材料演示都有很大的作用,这样,我们能更清楚的了解信息并进行分析。当然,在学习的过程并不是一帆风顺的,在这之中,因为要操作的东西很多,有时错一步,后面的结果都无法显示,而自己的计算机反应慢,根本检查不出来是哪里出了错。这时候,老师都会耐心的过来帮助我,我很感谢杨老师也很感谢学校能安排这么优秀的老师来教我们。
甘述琪计应0901班
第二篇:Java程序设计实训报告
XX学院
JAVA语言程序实训报告
专业: 信息管理与信息系统
班级:
姓名:
学号:
指导老师:
前 言
面向对象程序设计是软件编程技术中的一项非常关键的技术。面向对象程序设计中的继承,封装,多态等很接近于人的语言和思维,更容易让人理解和使用。并且,面向对象程序设计更加符合现代软件大规模开发的需求,有利于软件使用。
Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响,Java语言是面向对象程序设计语言中的代表,发展迅速。随着Internet的飞速发展,Web的广泛应用,而Java语言在Web应用方面所表现出来的强大特征,使得Java语言成为Web开发的主流技术。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
本次实训是配合Java程序设计课程,帮助我们深入学习掌握Java语言,熟练运用这个工具来编写的。通过课程设计各个项目的综合训练,不仅培养学生实际分析问题、编程和动手能力,而且还提高了学生的综合素质。
如今,我们所面临的问题有:不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要,没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。解决的方法就是通过实训和练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,从而弥补这些不足。我们应该明白软件是做出来的,而不是听出来或者看出来的,企业需要能实际开发的人员,而不是只听过、看过但不能做的人。所以Java非常强调:项目一定要让学生动手写出来。
希望同学们在老师的带领下,能够将理论与实践联系起来,把我们课本上所学到的知识运用到实践中,在实践中检验真知。
2014年6月10日
目 录
一.实训目的.....................................................................................二.功能分析.....................................................................................三.系统设计.....................................................................................四.测试数据及运行结果..................................................................五.主要源程序.................................................................................六.实训总结与心得体会..................................................................一.实训目的
1.掌握Java语言的面向对象特征,包括Java语言中类、对象、继承、多态、接口和内部类,图形绘制等重要概念及应用实践。
2.掌握Java语言编程基础,包括数据类型、变量、运算符、字符串、数组、控制结构、访问权限修饰符,基本数据类型的转换,类的定义,对象的创建,通过类的对象调用类中的方法等内容。
3.掌握如何使用Java语言编写图形用户界面,利用Java丰富的图形组件创建交互性较好的用户界面。
掌握面对不同的事件处理进行不同事务处理,及每种事务处理的过程。
4.掌握如何使用不同的布局管理器,方便地设计出各种控件组织方式的界面。
掌握如何创建图形的界面,如何进行图形的绘制,怎样对图像进行处理。5.进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战 经验。学习有用的相关技术,提高自己的学习效率和工作效率。6.巩固Java课程所学基本知识,提高分析、判断和处理实际问题的能力,锻炼自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
7.经过这个学期的学习后,能不能把学习的知识综合串联起来,java的实训项目的制作可以有效的检验这一点。进行综合项目实训可以练习java软件开发的环境和配置,能够把java的面向对象技术、数据结构、图形界面、小应用程序等知识运用到实践中去,从而更好地理解java的各项知识,达到能够应用自如的地步。进行实训的同时还需要查阅大量的文档,可以锻炼同学的自学能力。
二.功能分析
该黑白棋游戏主要可以实现黑白棋的对弈,要求有黑白两色棋子,保存所有已下的棋子,包括在棋盘上的所有棋子和被踢掉的棋子,若落子没有造成踢子,包括所有被这个棋子踢掉的棋子及这个棋子本身。如果踢子,则保存所有被踢的棋子,在游戏的过程中也可以显示对战双方的当前的棋子个数,提醒对战双方的时限。同时,该游戏还具有悔棋的功能。
三.系统设计
1.棋盘界面设计:基于Panel类定义一个面板子类,在其中利用Graphics类的drawLine()方法绘制棋盘格线,利用fillOval()方法绘制棋盘四角的星位。为面板创建监听器,为一个按钮注册ActionEvent事件监听器,实现单击鼠标布子、单机一个重新开局等操作。
2.棋盘功能设计:控制面板类,包含标签、手数、悔棋按钮、重新开始按钮。
3.棋盘界面的实现方法:通过Chesspoint类获得实际棋子的位置。3.棋盘功能的实现方法:利用JFrame将棋子显示出来,Chess对围棋界面外观进行初始化之后即可创建围棋对象。
四.测试数据及运行结果
1.围棋图形用户界面,如图5.1所示:
图5.1 用户界面
2.黑白棋对弈,如图5.2所示:
e.界面左边的对话框提示可选择棋盘大小功能,如图5.3所示:
图5.3 棋盘大小选择界面
五.主要源程序
1.Chess类是此程序的主类之一,用来初始化棋盘的外观: import java.awt.*;import javax.swing.JFrame;
public class Chess extends JFrame { Chessboard qipan = new Chessboard();;
// 初始化外观
public Chess(){
this.setTitle(“围棋程序”);
this.setLayout(new BorderLayout());
this.setSize(qipan.getSize());
public int getWidth(){ return size + controlPanel.getWidth()+ 35;} public int getHeight(){ return size;} //绘制棋盘外观
public Chessboard(){„} public void addNotify(){
super.addNotify();
offscreen = createImage(size, size);
offg = offscreen.getGraphics();} „„ } 3.Chesspoint类用来通过x和y取得黑白棋子的位置: public class Chesspoint { public static int black=0,white=1;int x,y;int color;public Chesspoint(int i,int j,int c){
x=i;
y=j;
color=c;}
public String toString(){
String c=(color==black?“black”:“white”);
return “[”+x+“,”+y+“]:”+c;} 六.实训总结与心得体会
通过这次的实训,我学到了很多:首先,对JAVA识比以前有了更深的了解。在这之前由于种种原因我JAVA学的很不太好。但经过这次的实训,我对JAVA的理解,虽然还有很多都不懂,但我会在今后的实训和学习中加以学习了解,力求弄懂,增强自己对JAVA的理解。其次,在这次的实训中我的动手操作能力有了一点的提高,刚开始的时候JDK的配置,JAVA开发工具的不熟悉,所以开始的时候进程很慢,但付出定有回报,成功的配置了JDK,熟悉了JAVA开发工具,总的说来,自己还是有一定的收获的。因为自己的动手操纵能力得到了提高。最
第三篇:VB实训总结
VB实训总结
时间过得真快,转眼间,一周的实训生活已悄然过去了,然而实训的过程还历历在目。
实训期间,让我学到了很多东西,不仅使我在理论上对VB程序设计有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益非浅。亲身感受到理论与实际的相结合,让我大开眼界。也是对以前所学知识的一个初审吧!这次实训对于我以后学习、找工作也真是受益菲浅,在短短的一周中相信这些宝贵的经验会成为我今后成功的重要的基石。作为一名大二的学生,经过差不多一年半的在校学习,对程序设计有了理性的认识和理解。在校期间,一直忙于理论知识的学习,没有机会也没有相应的经验来参与项目的设计开发。所以在实训之前,程序设计对我来说是比较抽象的,不知道一个完整的程序要怎么完成。
这次我做的项目是人事管理系统,其中包含了登陆、员工资料库、考勤库、工资库、商务信息等几个部分。在实训刚开始的时候,做的只是几个简单的界面,觉得其实还算比较简单的,到第三天,基本部分的代码都编写出来了,但是调试的时候出现了很多问题。而且,有时候由于考虑不周以及粗心的缘故,代码方面也存在很大的误差。老师们教会了我们很多简单实用的技巧。也让我们意识到了要想全面完整的完成一个模块,首先要经行程序设计,全面分析会用到的东西及
考虑可能会出现的情况。所以出现的问题也在老师的指导下,顺利解决了。本程序的编写,有很多不足的地方,可能有些功能不太全面也不太完善,但我觉得自己是认认真真的做了,而且从中学到了很多,以后,我要把自己欠缺的知识点补习好,而且要学会举一反三,融会贯通,最重要的是改掉粗心马虎、考虑不周的习惯。我想我以后会将此程序完善好,争取能够运用到生活中去。
在实训期间带给我不仅仅是一种经验,更是我人生的一笔财富。俗语说:纸上得来终觉浅。没有把理论用于实践是学得不深刻的。当今大学教育是以理论为主,能有机会进行实训,对我来说是受益不浅的。我就快毕业走向社会了,相信这次实习对我日后参加工作有帮助。
一路的艰辛与微笑,虽有所收获,然所学是开始,新的考验和抉择要奋斗不息、砺前行,请不要让我们年轻的时光留下太多遗憾!
第四篇:VB实训心得
为期一周的实训即将结束,通过这次的实训使我们学到了很多,同时也让我们意识到我们要学的更多。本次实训的项目是关于工程测量的程序设计,以小组的形式进行分工合作,我组共3个人,任务是四等水准测量的程序设计。从程序的需求分析、可行性分析、设计到编写、调试、修改、完善、到最后的实训报告,每个人都付出了时间和精力去做好自己的任务并努力地去完善它。
实训的第一天接到任务时我们都觉得有点难度,很有挑战性,毕竟四等水准测量是一个比较系统、完善、功能相对较齐全的计算程序,因此程序编写也十分复杂,工作量较大,编写一定要认真。一个小小的失误都可能使程序出现大的漏洞。而我们只是学了点简单的vb程序编写,没有尝试过这种相对来说比较系统完善的系统。所以在做项目的时候我们倍感压力、更加的团结协作,可即使如此我们还是出现了错误,我们的程序在编写上存在一些漏洞,导致调试时不能正常运行,后经过老师的指导、我们的调整,终于可以完美的运行,这里也耽误了我们很多宝贵的时间,直接导致了我们在项目调试上速度不够快。
本人很荣幸地担任组长一职,与其他组员一起进行任务分配以及协调等。我组做了四等水准测量的计算程序、竖直角计算和视距测量三块内容。在实训过程中,老师对我们亲切认真负责,很有耐心地对我们进行讲解并指导我们解决遇到的难题。老师交会了我们很多简单实用的技巧。也让我们意识到了要想全面完整地完成一个模块,首先要进行程序的设计,全面分析会用到的东西以及考虑可能会出现的情况,理清思绪、写出大致的要点后再上机编写程序以及操作。否则像一开始的我们马上上机编写、想到什么就补什么,不仅浪费时间也乱了之前写好的一些程序。系统分析越准确,设计的系统越精确,可以大大减少后期的修改、维护工作。当然做好做对一个项目固然重要,同时美观程度也是必不可少的,无论是从参观者的角度还是自己看的角度都很重要。
总的来说,这次实训还是比较成功的。最后出来的系统,大家都很有成就感,这是我们一步步设计、一步步完善、辛苦付出后得到的成果。小组合作、帮助队友,无论是团队合作这方面还是个人动手这方面,我们都得到了很好的锻炼。当然实训不仅使我们学到了知识,也帮助我们缩小了实践和理论的差距,通过这次实训让我们更深一步的对vb这门课程的知识有更进一步的渴望,同时对自己的专业,对自己的能力,对自己所学的有正确的认识,并且能在以后的学习工作中不断提高和完善自己。
第五篇:VB综合实训
VB换肤(GUI界面)
第一种方法:后缀为.she文件的皮肤
SkinSharp换肤库不是COM组件,无需进行系统注册,仅以标准dll方式存在。
1.打开vb6开发环境,新建一个工程文件,并存档
2.将一个名为“肤色”的文件夹和一个名为SkinH_VB6.dll的文件拷贝到工程所在的目录
3.外部函数接口api函数原型,把这原形放在通用声明段
Private Declare Function SkinH_AttachEx Lib “SkinH_VB6.dll”(ByVal lpSkinFile As String, ByVal lpPasswd As String)As Long
4.若需要什么样的皮肤(即.she文件)就在相应的事件(比喻在Form_Load())中输入下面的内容:
SkinH_AttachEx App.Path & “/皮肤/vista.she”, “ ”
app.path:系统字串常量,返回工程所在的路径。
皮肤:是跟工程在同一目录下的一个文件夹
vista.she:皮肤文件,可以把网上下载的.she文件放在同目录下用时,只接按上四步骤即可。
第二种方法:ActiveSkin 4.3软件的应用。可以自己更改皮肤
1.安装ActiveSkin 4.3。同其它软件安装一样。
2.汉化该软件。直接运行setup.exe(汉化的安装文件)。点下一步直至完成
3.新建一个VB工程文件,在工具箱灰白色地方右键单击,选择[部件],在部件对话框中勾选ActiveSkin 4.3后单击[应用][确定]
4.在出现的两个控件中选择拖入到窗体上。右键单击,选择[编辑皮肤]即可到ActiveSkin 4.3中编辑皮肤
5.Label控件必须使用该部件给的ab控件来替换。原本的A是不会显示
6.选择相应的事件(如Form_Load())。在该事件中输入:
Skin1.ApplySkin Me.hWnd
7.如果要移植你的程序到别的机器上运行,请编译打包。因为该皮肤需要系统其它文件来支持。所以你可以选择VB-PowerWrap进行VB程序的封装
VB与ACCESS2003数据库连接相关步骤:
第一步:建立连接
1.引用相关组件:Microsoft ActiveX Data Objects 2.0 Library。Microsoft ADO Data Control 6.0 2.在通用声明段申明:Dim mConn As ADODB.Connection 3.在对应的事件(如Form_Click())中:set mConn=New ADODB.Connection或Dim mConn As New ADODB.Connection 4.设置其连接字串(与磁盘上的MDB文件建立连接):
mConn.ConnectionString=“Provider=Microsoft.jet.oledb.4.0;Data Source=” & App.Path & “RSData.mdb” 5.打开连接:mConn.Open 6.测试连接是否成功:if mConn.State=adStateOpen then msgbox “数据库已经连接成功!” else msgbox “数据库连接不成功!” 以上连接方法是在事件里完成,也可以把连接做一个过程,需要连接时直接带参调用也可。如在模块中这样定义
Public conn As New ADODB.Connection Public Function DBConnection(FileName As String)As Boolean
Set conn = New ADODB.Connection conn.ConnectionString = “provider=microsoft.jet.oledb.4.0;” & “data source=” & FileName
conn.Open
If conn.State = adStateOpen Then
DBConnection = True
Else
DBConnection = False
End If End Function 然后回事件中调该函数。其相应代码如下:
Private Sub Command2_Click()
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
If DBConnection(Text1.Text)Then
MsgBox “连接成功!”
Else
MsgBox “连接失败!”
End If End Sub
第二步:从数据库中取出记录,绑定到相对应的控件(Microsoft DataGrid Control 6.0(SP6)(OLEDB))中
1.在通用声明段定义记录对象:
Dim rs As New ADODB.Recordset 2.在相应的事件(如Form_Click())中定义:
Set rs = New ADODB.Recordset Dim sql As String
sql = “select * from 部门表” rs.CursorLocation = adUseClient rs.Open sql, mConn, 1, 3
3.在窗体上从部件中找到Microsoft DataGrid Control 6.0(SP6)(OLEDB)并加载到工具箱上,然后产生一个实体对象,其名称为DataGrid1 Set DataGrid1.DataSource = mRst.DataSource
注意:游标与锁
0=adopenForwardonly:仅向前游标 — 除仅允许在记录中向前滚动之外,其行为类似动态游标。这样,当需要在 Recordset 中单程移动时就可提高性能。
1=adopenkeyset:键集游标 — 其行为类似动态游标,不同的只是禁止查看其他用户添加的记录,并禁止访问其他用户删除的记录,其他用户所作的数据更改将依然可见。它始终支持书签,因此允许 Recordset 中各种类型的移动。
2=adopenDynamic:动态游标 — 用于查看其他用户所作的添加、更改和删除,并用于不依赖书签的 Recordset 中各种类型的移动。如果提供者支持,可使用书签。3=adopenstatic:静态游标 — 提供记录集合的静态副本以查找数据或生成报告。它始终支持书签,因此允许 Recordset 中各种类型的移动。其他用户所作的添加、更改或删除将不可见。这是打开客户端(ADOR)Recordset 对象时唯一允许使用的游标类型。
mRst.CursorLocation = adUseClient:使用由本地游标库提供的客户端游标
mRst.CursorLocation = adUseServer 默认值。使用数据提供者或驱动程序提供的游标。
1=adLockReadOnly 默认值,只读。无法更改数据。
2=adLockPessimistic 保守式记录锁定(逐条)。提供者执行必要的操作确保成功编辑记录,通常采用编辑时立即锁定数据源的记录的方式。
3=adLockOptimistic 开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用 Update 方法时锁定记录。
4=adLockBatchOptimistic 开放式批更新。用于与立即更新模式相反的批更新模式。
第三步:向数据库中写数据(找一个相应的事件,如Command1_Click())
Dim bmid As String,bmmc As String,sql As String Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset bmid = Text1.Text:bmmc = Text2.Text conn.ConnectionString = “provider=microsoft.jet.oledb.4.0;data source=” & App.Path & “rsdata.mdb” conn.Open
On Error GoTo cancel: sql = “insert into 部门表(部门ID,部门名称)values('” + bmid + “','” + bmmc + “')” rs.Open sql, conn
cancel:
If conn.Errors.Count = 0 Then
Else
MsgBox “写数据有问题,主键重复”
End If 除了用SQL语句增加库记录以外,也可以用下面的方法来增加库记录
rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic rs.Open “部门表”, conn, , , adCmdTable rs.AddNew rs.Fields(0)= bmid rs.Fields(1)= bmmc rs.Update 第四步:删除数据库中的一条记录(找一个相应的事件,如Command2_Click())
Private Sub command2_click()Dim sql As String Dim conn As New ADODB.Connection Set rst = New ADODB.Recordset
Dim bmid As String bmid = Trim(DataGrid1.Columns(0))conn.ConnectionString = “provider=microsoft.jet.oledb.4.0;data source=” & App.Path & “rsdata.mdb” conn.Open
sql = “delete from 部门表 where 部门ID='” + bmid + “'” rst.Open sql, conn, 1, 3
sql = “select * from 部门表”
rst.CursorLocation = adUseClient
rst.Open sql, conn, 1, 3 if not rst.eof()then
rst.movenext end if
Set DataGrid1.DataSource = rst.DataSource set rst=nothing set conn=nothing End sub 第五步:更改数据库中的信息(找一个相应的事件,如Command1_Click())Private Sub Command1_Click()Dim sql As String Dim conn As New ADODB.Connection Set rst = New ADODB.Recordset Dim s As String
s = “实验中心”
conn.ConnectionString = “provider=microsoft.jet.oledb.4.0;data source=” & App.Path & “rsdata.mdb” conn.Open
sql = “update 部门表 set 部门名称='” + s + “' where 部门ID='001'” rst.Open sql, conn End Sub
第一步:建立连接
1.引用相关组件:Microsoft ActiveX Data Objects 2.0 Library。Microsoft ADO Data Control 6.0 Dim mConn As ADODB.Connection Private Sub Form_Click()set mConn=New ADODB.Connection或Dim mConn As New ADODB.Connection mConn.ConnectionString=“Provider=Microsoft.jet.oledb.4.0;Data Source=” & App.Path & “Police Information.mdb” mConn.Open if mConn.State=adStateOpen then msgbox “数据库已经连接成功!” else msgbox “数据库连接不成功!” End Sub 以上连接方法是在事件里完成,也可以把连接做一个过程,需要连接时直接带参调用也可。如在模块中这样定义
Public conn As New ADODB.Connection Public Function DBConnection(FileName As String)As Boolean
Set conn = New ADODB.Connection
conn.ConnectionString = “provider=microsoft.jet.oledb.4.0;” & “data source=” & FileName
conn.Open
If conn.State = adStateOpen Then
DBConnection = True
Else
DBConnection = False
End If End Function 然后回事件中调该函数。其相应代码如下:
Private Sub Command2_Click()
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
If DBConnection(Text1.Text)Then
MsgBox “连接成功!”
Else
MsgBox “连接失败!”
End If End Sub