VB6编程步骤-全部
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB6编程步骤
题目要求
1.新建工程,在工程中新建2个窗体和1个模块,窗体命名为frmMain和frmConfig,添加Excel操作专
用模块。
2.执行菜单命令“工具-选项-编辑器格式”,设置标准文本的字体格式为自己喜欢的格式,执行菜单命令
“工具-选项-编辑器”,“要求变量声明”前打勾
3.设置工程1的属性,修改启动对象为Sub Main,在module1中添加Sub Main过程,并输入代码:
frmMain.Show vbModal。在frmMain上添加一个退出按钮,设置其合适的大小和字体,双击该按钮,输入“Unload Me”。
4.在frmMain窗体上放置“参数设定”按钮,修改合适的外观属性,双击该按钮,输入代码“frmConfig.show
vbmodal”
5.参数设定编程方法:
(1)在module1模块中,定义保存参数的自定义变量
Public Type mSetData ' 自定义数据类型:设置参数,用于保存到磁盘文件中
TH As Single ' 温度高限
TL As Single ' 温度低限
RHH As Single ' 湿度高限
RHL As Single ' 湿度低限
End Type
Public mAlarm As mSetData ' 用自定义类型mSetData 定义设置参数变量mAlarm
Public sAppPath As String ' 字符串,存放应用程序所在的路径
(2)在module1模块中创建一个初始化过程Init,代码如下
Sub Init()
sAppPath = "E:\软件技术基础\TR" '应用程序路径
Open sAppPath & "\Para.a" For Random As #1 Len = Len(mAlarm) ' 打开随机方式访问文件Get #1, 1, mAlarm ' 读取文件内容到变量中
Close #1 '关闭文件
End Sub
在sub Main 中调用Init 过程
Sub main()
Init ' 初始化,读取原设置参数
frmMain.Show vbModal ' 启动主窗体,有模式窗体
End Sub
(3)设置frmConfig窗体的界面。如图所示
上述四个文本框的名字,从上到下依次为:txtTempH,txtTempL,txtRHH,txtRHL
双击该窗体空白处,在Form_Load事件中输入代码,如下
Private Sub Form_Load() '调入旧参数并显示在界面上
Me.txtRHH = mAlarm.RHH
Me.txtRHL = mAlarm.RHL
Me.txtTempH = mAlarm.TH
Me.txtTempL = mAlarm.TL
End Sub
双击该窗体上的“确定”按钮,代码如下:
Private Sub cmdOK_Click() '把界面上输入的新参数保存在变量中
mAlarm.TH = Me.txtTempH
mAlarm.TL = Me.txtTempL
mAlarm.RHH = Me.txtRHH
mAlarm.RHL = Me.txtRHL
'变量保存在文件中
Open sAppPath & "\Para.a" For Random As #1 Len = Len(mAlarm)
Put #1, 1, mAlarm
Close #1
Unload Me
End Sub
6.下位机数据的模拟采集
(1)定义变量存放下位机的数据
Public Type mData ' 自定义数据类型:下位机数据,用于保存到磁盘文件中
T(1 To 2) As Single ' 温度
RH(1 To 2) As Single ' 湿度
End Type
Public mD(1 To 4) As mData ' 用自定义类型mData定义下位机数据变量
(2)在frmMain窗体上放置一个定时器控件,命名为:tmrCaiji,其Ennabled 属性设为True,并设Interval属性为1000,双击定时器,完成代码如下所示:
Private Sub tmrCaiji_Timer()' 采集定时器,模拟产生下位机的数据
For i = 1 To 4
mD(i).T(1) = 30 + Rnd * 20: mD(i).T(2) = 50 + Rnd * 20 ' 随机数 Rnd在0~1
之间
mD(i).RH(1) = 60 + Rnd * 20: mD(i).RH(2) = 30 + Rnd * 20
Next i
End Sub
7.下位机数据更新到界面上,并作报警处理
放置一个定时器,命名为:tmrUpdate,其Ennabled 属性设为True,并设Interval属性为1000,
双击定时器,完成代码如下所示
Private Sub tmrUpdate_Timer() ' 更新界面定时器
For i = 1 To 4 ' 显示温度,并格式化为显示1位小数
Me.lblTemp1(i) = Format(mD(i).T(1), "#0.0"): Me.lblTemp2(i) = Format(mD(i).T(2), "#0.0") Rnd
Me.lblRH1(i) = Format(mD(i).RH(1), "#0.0"): Me.lblRH2(i) = Format(mD(i).RH(2), "#0.0")
Next i
For i = 1 To 4
If mD(i).T(1) >= mAlarm.TH Then ' 温度高于报警值上限
Me.lblTemp1(i).BackColor = vbRed ' 背景变红
ElseIf mD(i).T(1) < mAlarm.TL Then ' 温度低于报警值下限
Me.lblTemp1(i).BackColor = vbCyan '背景变青色
Else ' 温度正常
Me.lblTemp1(i).BackColor = vbGreen ' 背景变绿色
End If
Next i
End Sub
8.绘制曲线
(1)放置按钮“开始绘图”,命名为cmdDraw,输入下列代码:
Private Sub cmdDraw_Click()
Me.tmrDraw.Enabled = Not Me.tmrDraw.Enabled ' 每单击一次,切换一次定时器启动/停止命令
If Me.tmrDraw.Enabled = True Then Me.cmdDraw.Caption = "暂停绘图" Else Me.cmdDraw.Caption = "开始绘图"
End Sub
(2)在frmMain窗体上放置图片框控件picturebox,设置背景为深蓝,命名为picD,在图片框左侧和下侧放置lablel控件,作为坐标刻度指示。,界面如图所示