⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmdi.frm

📁 vb串口编程电表读数 vb串口编程电表读数 vb串口编程电表读数 vb串口编程电表读数
💻 FRM
📖 第 1 页 / 共 2 页
字号:
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 + -