📄 frmmdi.frm
字号:
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub COM1_Click()
COM1.Checked = True
COM2.Checked = Not COM1.Checked
COM3.Checked = Not COM1.Checked
COM4.Checked = Not COM1.Checked
With StatusBar1.Panels
.Item(2).Text = "COM1"
End With
B_COMPORT = 1
mydata.comnumber = 1 '直接与表通讯缺省使用的COM
End Sub
Private Sub COM2_Click()
COM2.Checked = True
COM1.Checked = Not COM2.Checked
COM3.Checked = Not COM2.Checked
COM4.Checked = Not COM2.Checked
With StatusBar1.Panels
.Item(2).Text = "COM2"
End With
B_COMPORT = 2
mydata.comnumber = 2 '直接与表通讯缺省使用的COM
End Sub
Private Sub COM3_Click()
COM3.Checked = True
COM1.Checked = Not COM3.Checked
COM2.Checked = Not COM3.Checked
COM4.Checked = Not COM3.Checked
With StatusBar1.Panels
.Item(2).Text = "COM3"
End With
B_COMPORT = 3
mydata.comnumber = 3 '直接与表通讯缺省使用的COM
End Sub
Private Sub COM4_Click()
COM4.Checked = True
COM1.Checked = Not COM4.Checked
COM2.Checked = Not COM4.Checked
COM3.Checked = Not COM4.Checked
With StatusBar1.Panels
.Item(2).Text = "COM4"
End With
B_COMPORT = 4
mydata.comnumber = 4 '直接与表通讯缺省使用的COM
End Sub
' 声明变量
Private Sub MDIFORM_Load()
Dim j As Byte
ChDir App.path '总是将工作路径设为当前路径
mypath = App.path + "\setinf.res"
Myfile = Dir(mypath, vbNormal)
If Myfile = "" Then
With mydata
For j = 0 To 3
.int_power(j) = "000000.00"
Next
For j = 0 To 15
.diselec(j) = 1
Next
.detime1 = "03"
.detime2 = "01"
.qlpass_old = "123456"
.bcpass_old = "123456"
.qlpass_new = ""
.bcpass_new = ""
.autoday(0) = "0": mydata.autoday(1) = "25"
.bh = "123456Z02AA"
.comnumber = 1
.BOUTRATE = 1200
.dbcs = "001600"
.jubh = "000000000000"
.chbh = "000000000000"
.times = 2
.timetabel(0) = 2
.timetabel(1) = 23
.timetabel(2) = 0
.timetabel(3) = 1
.timetabel(4) = 12
.timetabel(5) = 30
For n = 2 To 11
.timetabel(3 * n) = 3
Next
.Datapath = App.path
End With
Open mypath For Binary Shared As #1
Put #1, 1, mydata
Close #1
Else
mydata.Datapath = mypath
Open mypath For Binary Shared As #1
Get #1, 1, mydata
Close #1
End If
B_COMPORT = mydata.comnumber '直接与表通讯缺省使用的COM
If B_COMPORT = 1 Then
COM1.Checked = True
Else
COM2.Checked = True
End If
WRITE_DATA.Checked = False
Toolbar1.Buttons(11).Enabled = False
Dim i As Integer
For i = 1 To 8
StatusBar1.Panels.Add
Next i
With StatusBar1.Panels
.Item(1).Width = 1300
.Item(1).Text = "当前通讯口"
.Item(2).Width = 1100
.Item(2).Text = "COM" + CStr(B_COMPORT)
.Item(3).Width = 1100
.Item(3).Text = "波特率"
.Item(4).Width = 1100
.Item(4).Text = CStr(mydata.BOUTRATE) + "bit"
.Item(5).Width = 3800
.Item(5).Bevel = sbrNoBevel '空白
.Item(6).Width = 1500
.Item(6).Text = Date$
.Item(7).Width = 1000
.Item(7).Text = myweekday
.Item(8).Width = 1300
.Item(8).Text = Time$
End With
end_s = True
End Sub
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim msg ' 声明变量。
' 设置信息文本。
msg = "你确实要关闭程序吗?"
' 如果用户单击 No 按钮,则停止QueryUnload。
If MsgBox(msg, vbQuestion + vbYesNo, Me.Caption) = vbNo Then Cancel = True
Unload frm_msg
Open mypath For Binary Shared As #1
Put #1, 1, mydata
Close #1
End Sub
Private Sub ABOUT_F_Click()
frmAbout.Show
End Sub
Private Sub BRAUD_Click()
frm_gbcommand.Show
frm_gbcommand.SetFocus
End Sub
Private Sub mnuSETUP_Click()
Dim ReturnValue
Dim Z As Byte, Y As String
On Error Resume Next
ReturnValue = Shell(mydata.path, 1)
If ReturnValue <> "" Then
AppActivate ReturnValue ' 激活丕希设置程序
Else
'寻找丕希设置程序"
FrmMDI.CMDialog1.FileName = "multiratetable.exe"
On Error Resume Next
CMDialog1.ShowOpen
If Err = 32755 Then 'User chose Cancel.所以取消此操作。
On Error GoTo ErrHandler
End If
mydata.path = FrmMDI.CMDialog1.FileName
Myfile = FrmMDI.CMDialog1.FileName
Z = InStr(1, Myfile, "\", 1)
Do While Z <> 0
Myfile = Mid(Myfile, Z + 1)
Z = InStr(1, Myfile, "\", 1)
Loop
If Myfile <> "multiratetable.exe" Then GoTo line_100
ReturnValue = Shell(mydata.path, 1) '运行丕希设置程序
If ReturnValue <> "" Then
AppActivate ReturnValue ' 激活丕希设置程序
Else
line_100:
mydata.path = ""
Err.Number = 100
OnErrStatement ("运行兼容功能程序")
End If
ErrHandler: ' 用户按了“取消”按钮
Exit Sub
End If
End Sub
Private Sub NO_BRAUD_Click()
frm_set.Show
frm_set.SetFocus
End Sub
Private Sub READ_DATA_Click()
frm_readdata.Show
frm_readdata.SetFocus
End Sub
Private Sub READ_STATUE_Click()
Frm_readstat.Show
Frm_readstat.SetFocus
End Sub
Private Sub WRITE_DATA_Click()
Toolbar1.Buttons(13).Enabled = Not Toolbar1.Buttons(13).Enabled
WRITE_DATA.Checked = Not WRITE_DATA.Checked
End Sub
Private Sub Toolbar1_ButtonClick(ByVal TButton As Button)
Select Case TButton
Case "参数设置"
If end_s Then
frm_set.Show
frm_set.SetFocus
End If
Case "广播设置"
If end_s Then
frm_gbcommand.Show
frm_gbcommand.SetFocus
End If
Case "读状态 "
If end_s Then
Frm_readstat.Show
Frm_readstat.SetFocus
End If
Case "读电量 "
If end_s Then
frm_readdata.Show
frm_readdata.SetFocus
End If
Case "写记录 "
If end_s Then
Frm_writedata.Show
Frm_writedata.SetFocus
End If
Case "兼容功能"
If end_s Then
mnuSETUP_Click
End If
End Select
End Sub
Private Sub mnuOptions_Click()
' 切换选中的选项与 .Visible 属性相匹配。
mnuOptionsToolbar.Checked = Toolbar1.Visible
End Sub
Private Sub mnuOptionsToolbar_Click()
' 切换工具栏的 visible 属性。
Toolbar1.Visible = Not Toolbar1.Visible
' 更改选定来适合当前状态。
mnuOptionsToolbar.Checked = Toolbar1.Visible
' 调用重新调整大小过程。
End Sub
Private Sub mnuWindowArrange_Click()
' 对任何已经最小化的子窗体排列图标。
FrmMDI.Arrange vbArrangeIcons
End Sub
Private Sub mnuWindowCascade_Click()
' 层叠子窗体。
FrmMDI.Arrange vbCascade
End Sub
Private Sub mnuWindowTile_Click()
' 平铺子窗体。
FrmMDI.Arrange vbTileHorizontal
End Sub
Private Sub Timer1_Timer()
With StatusBar1.Panels
.Item(8).Text = Time$
.Item(6).Text = Date$
.Item(7).Text = myweekday
End With
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -