实验3指导书Word文档下载推荐.docx

上传人:b****3 文档编号:16671354 上传时间:2022-11-25 格式:DOCX 页数:22 大小:1.42MB
下载 相关 举报
实验3指导书Word文档下载推荐.docx_第1页
第1页 / 共22页
实验3指导书Word文档下载推荐.docx_第2页
第2页 / 共22页
实验3指导书Word文档下载推荐.docx_第3页
第3页 / 共22页
实验3指导书Word文档下载推荐.docx_第4页
第4页 / 共22页
实验3指导书Word文档下载推荐.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

实验3指导书Word文档下载推荐.docx

《实验3指导书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验3指导书Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。

实验3指导书Word文档下载推荐.docx

(3)组合框控件(ComboBox)设置

①设置列表内容(List)为:

1、2、3、4、5;

②设置风格(Style)为:

2–Dropdown;

(4)“Comand1”设置

①设置标题(Caption)为“设置”;

②将控件调整到适当位置(按住Ctrl+箭头可移动控件、格式菜单有对齐等操作)和适当大小。

(5)“MSFlexGrid1”设置

①将控件调整到适当大小(Height=3135,Width=8535);

②将控件调整到适当位置(按住Ctrl+箭头可移动控件、格式菜单有对齐等操作)。

(6)“Timer1”设置

①设置定时时间间隔(Interval)为1200。

(五)“系统主界面窗体.frm”代码设计

(1)若窗体打开,撰写代码实现如下功能:

①组合框的报警电压上限值默认选择“3”;

②串口初始化;

③读取存储的测量记录并显示。

参考代码如下,实验要求:

必须为每一句代码添加上注释。

PrivateSubForm_Load()

Combo1.ListIndex=2

MSComm1.CommPort=2'

设置串口为COM2

MSComm1.Settings="

9600,n,8,1"

'

传输率为9600bit/s,无奇偶校验位,8位数据,1位停止

MSComm1.RThreshold=1'

接收缓冲区每收到1个字节字符,都会触发执行MSComm控件的OnComm()事件函数

MSComm1.SThreshold=0'

数据发送事件不产生OnComm()事件

MSComm1.InputLen=1'

使用Input()函数时读取接收缓冲区的字符个数,0表示全部读取

MSComm1.PortOpen=True'

打开串口

MSComm1.Output="

6"

向单片机发送字符6表示启动了VB,要求单片机发送当前设置的报警上限值

DBConn.CursorLocation=adUseClient

DBConn.Open"

Provider=Microsoft.Jet.OLEDB.4.0;

DataSource="

&

App.Path&

"

\数据库.mdb;

"

DimqueryStrAsString

queryStr="

select*from测量记录orderby序号desc"

DimrsAsNewADODB.Recordset

Setrs=DBConn.Execute(queryStr)

MSFlexGrid1.Cols=rs.Fields.Count'

设置列数

MSFlexGrid1.Rows=1'

设置行数,目前可以确定的是只有一行

MSFlexGrid1.ColWidth(0)=1600'

设置第1列的宽度

Fori=1Tors.Fields.Count-1'

设置剩余的列的宽度(等距离)

MSFlexGrid1.ColWidth(i)=(MSFlexGrid1.Width-MSFlexGrid1.ColWidth(0))/(rs.Fields.Count-1)

Nexti

Fori=0Tors.Fields.Count-1'

设置第1行的值

MSFlexGrid1.ColAlignment(i)=3'

各列文字居中显示

MSFlexGrid1.TextMatrix(0,i)=rs.Fields(i).Name'

第一行中各列的值为数据库中测量记录表的列名

DoWhileNotrs.EOF'

读取记录,直到指针指向末尾

MSFlexGrid1.Rows=MSFlexGrid1.Rows+1'

增加一行用来存储读取的记录

将读取的记录的值在增加的行中显示

MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows-1,i)=rs.Fields(i).Value

rs.MoveNext'

指针移向下一条记录

Loop

EndSub

(2)撰写代码,实现实时获取电压值并显示。

提示:

类似单片机的串口中断函数,VB的串口控件也有一个串口接收事件函数OnComm(),如:

MSComm1.RThreshold=1‘接收缓冲区每收到1个字节字符,都会触发执行MSComm控件的OnComm()事件函数。

双击串口控件可以建立OnComm()事件函数。

PrivateSubMSComm1_OnComm()

SelectCaseMSComm1.CommEvent

CasecomEvReceive

rd$=MSComm1.Input'

只接收1个字符

mv=mv&

rd'

接收的字符串

If(rd="

N"

AndLen(mv)>

=5)Then'

数据格式为0.00N

Label4.Caption="

报警上限值:

Mid(mv,Len(mv)-4,1)&

V"

mv="

EndIf

M"

数据格式为0.00M

Label2.Caption="

电压值:

Mid(mv,Len(mv)-4,4)&

Label3.Caption="

时间:

Now()

insertStr="

insertinto测量记录(测量值,测量时间)values('

'

#"

Now()&

#)"

DBConn.Execute(insertStr)

CaseElse

EndSelect

以上代码要能运行,需要进行如下设置和修改:

(3)撰写代码,实现定时刷新网格控件(MSFlexGrid1)的显示。

通过定时器定时刷新网格控件(MSFlexGrid1)的数据。

定时器通过Interval属性(这里设置Interval的值为1200)定时调用时间函数Timer()。

双击定时器控件可建立Timer()事件。

PrivateSubTimer1_Timer()

MSFlexGrid1.Cols=rs.Fields.Count

MSFlexGrid1.Rows=1

MSFlexGrid1.ColWidth(0)=1600

Fori=1Tors.Fields.Count-1

Fori=0Tors.Fields.Count-1

MSFlexGrid1.ColAlignment(i)=3

MSFlexGrid1.TextMatrix(0,i)=rs.Fields(i).Name

rs.MoveFirst

DoWhileNotrs.EOF

MSFlexGrid1.Rows=MSFlexGrid1.Rows+1

rs.MoveNext

(4)单击设置按钮,撰写代码实现如下功能:

①通过串口发送设置的报警上限值给单片机;

②并给Label4标签赋值;

③弹出提示对话框。

PrivateSubCommand1_Click()

MSComm1.Output=Combo1.Text

Combo1.Text&

MsgBox"

设置成功!

vbOKOnly+vbInformation,"

恭喜"

(五)打开串口调试助手,进行如下操作:

(1)发送数据填写为:

2.67M;

自动发送周期设置为:

2000ms;

勾选“自动发送”。

(4)运行VB上位机程序,观察采集效果;

(5)改变发送数据为“2.79M”,观察采集效果;

(6)改变发送数据为“4.00N”,观察采集效果。

(六)“退出”菜单设计

(1)选择“系统主界面窗体”,进行如下操作:

按键Ctrl+E或选择菜单“工具à

菜单编辑器”打开菜单编辑器;

(2)设置一级菜单“退出(T)”

①在“标题(P)”输入:

退出(&

T);

②在“名称(M)”输入:

退出。

(3)设置二级菜单“返回登陆界面”

①点击“下一个(N)”

②在“标题(P)”输入:

返回登陆界面;

③在“名称(M)”输入:

④选择快捷键为:

Ctrl+F;

⑤点击向右箭头将菜单项下降一个级别。

(4)设置二级菜单“关闭系统”

关闭系统;

Ctrl+G;

⑤点击“确定”按钮完成设定。

(5)若点击菜单项“返回登陆界面”,撰写代码实现如下功能:

①跳出对话框询问是否确定要返回登陆界面,若确定则关闭当前窗体,打开“登陆窗体”。

PrivateSub返回登陆界面_Click()

IfMsgBox("

您确定要返回登陆界面吗?

vbOKCancel,"

请确定!

)=vbOKThen

DBConn.Close

UnloadMe

登陆窗体.Show

EndIf

(6)若点击菜单项“关闭系统”,撰写代码实现如下功能:

①跳出对话框询问是否确定要关闭系统,若确定则关闭系统。

PrivateSub关闭系统_Click()

您确定要退出本系统?

)=vbOKThenEnd

(七)“数据”菜单设计

(2)设置一级菜单“数据(S)”

①选择“关闭系统”菜单项;

②点击“下一个(N)”;

③点击“向左箭头”,将菜单项上升一个级别;

④在“标题(P)”输入:

数据(&

⑤在“名称(M)”输入:

数据。

(3)设置二级菜单“清除测量数据”

清除测量数据;

Ctrl+Q;

⑤点击向右箭头将菜单项下降一个级别;

⑥点击“确定”按钮完成设置。

(4)若点击菜单项“清除测量数据”,撰写代码实现如下功能:

①跳出对话框询问是否确定要清除测量数据,若确定则删除存储的测量数据,并提示清除成功。

PrivateSub清除测量数据_Click()

您确定要清除测量数据吗?

DimdeleteStrAsString

deleteStr="

deletefrom测量记录"

DBConn.Execute(deleteStr)

MsgBox"

清除测量数据成功!

(八)“用户”菜单设计

(2)设置一级菜单“用户(Y)”

①选择“清除测量数据”菜单项;

用户(&

Y);

用户。

(3)设置二级菜单“查看和修改个人信息”

①点击“下一个(N)”;

查看和修改个人信息;

⑤点击向左箭头将菜单项下降一个级别。

(4)设置二级菜单“修改密码”

修改密码;

Ctrl+X;

⑤点击“确定”命令按钮。

(5)若点击菜单项“查看和修改个人信息”,撰写代码实现如下功能:

①弹出窗体“查看和修改个人信息窗体”。

PrivateSub查看和修改个人信息_Click()

查看和修改个人信息窗体.Show

以上代码要能运行必须进行如下设计:

添加“查看和修改个人信息窗体”

(1)窗体文件保存,名字为“查看和修改个人信息窗体.frm”;

(2)“查看和修改个人信息窗体.frm”设置

①设置窗体名((名称))为“查看和修改个人信息窗体”;

②设置窗体标题(Caption)为“查看和修改个人信息窗体”;

③添加窗体背景图片(Picture);

④设置(Height=5725,Width=7500)或拉动窗体到适当大小。

“查看和修改个人信息窗体.frm”控件放置

(1)放置6个标签控件(Label)、3个文本框控件(TextBox)、1个组合框控件(ComboBox)和2个命令按钮(CommandButton)。

“查看和修改个人信息窗体.frm”控件设置

②设置背景样式(BackStyle)为“0-Transparent”;

(2)文本框控件(TextBox)设置

①设置文本内容(Text)都为空;

②将控件调整到适当位置(按住Ctrl+箭头可移动控件)和适当大小。

男、女;

2–DropdownList;

(4)“Comand1”和“Comand2”设置

①设置标题(Caption)分别为“修改”和“取消”;

“查看和修改个人信息窗体.frm”代码设计

①连接数据库,读取登陆用户的信息,并将读取的用户信息填入对应控件。

DimDBConnAsNewADODB.Connection

select*from用户where用户名='

登陆窗体.userName&

Label2.Caption=rs("

用户名"

Text1.Text=rs("

姓名"

If(StrComp(rs("

性别"

),"

男"

vbBinaryCompare)=0)Then

Combo1.ListIndex=0

Else

Combo1.ListIndex=1

Text2.Text=rs("

电话"

Text3.Text=rs("

邮箱"

代开登陆窗体的代码串口,按如下要求进行修改?

思考为什么。

(2)若点击“修改”按钮,撰写代码实现如下功能:

①判断姓名是否为空,若为空则弹出对话框提示;

②将新的用户信息写入数据库,并提示修改成功。

IfText1.Text="

Then

请输入姓名!

vbOKOnly+vbExclamation,"

警告"

Text1.SetFocus

ExitSub

DimupdateStrAsString

updateStr="

update用户set姓名='

Trim(Text1.Text)&

性别='

Trim(Combo1.Text)&

电话='

Trim(Text2.Text)&

邮箱='

Trim(Text3.Text)&

where用户名='

DBConn.Execute(updateStr)

修改成功!

(3)若点击“取消”按钮,撰写代码实现如下功能:

①关闭当前窗体。

PrivateSubCommand2_Click()

(九)若点击“用户”菜单下的菜单项“修改密码”,应该实现什么功能?

请补充完成该部分的设计。

四、实验记录

(1)对所有以上撰写的每一句代码都添加注释后附在实验报告后(把字体弄小点,看得清楚就可以,不要那么多页),可打印。

五、实验提交要求

(1)每次实验课后提交实验做题文件;

(2)撰写实验报告(可打印),内容包括实验目的、实验工具、实验内容(可全部省略,只保留“实验内容”大标题)、实验记录及结果,提交时间为下次实验时;

(3)实验报告提交时间为下一次实验课的时候。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

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

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