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

📄 form1.frm

📁 读取SQL数据库后
💻 FRM
📖 第 1 页 / 共 3 页
字号:
'     Dim whichNumber As Integer
'     Dim chr_time, chr_value As String
'     Dim a As Date
'     Dim b As Long
'  If Button = 2 Then
'     MSChart1.TwipsToChartPart X, Y, whichPart, whichSeries, whichNumber, 0, 0
'     If whichNumber >= 1 Then
'     b = Int((data(mhead + whichNumber - 1, 0) - Int(data(mhead + whichNumber - 1, 0))) * 3600)
'     a = TimeSerial(Int(data(mhead + whichNumber - 1, 0)), 0, b)
'     chr_value = data(mhead + whichNumber - 1, 1)
'     If data(mhead + whichNumber - 1, 1) < 1 Then
'     chr_value = "0" & chr_value
'     End If
'
'     If whichNumber - 1 >= 0 Then
'
'      tipmschart1.CreateBalloon Me.MSChart1, 0, "时间:" & a, szBalloon, False, "数值:" & chr_value, etiInfo
'      tipmschart1.SetHandle MSChart1
'
'     End If
'   End If
'  End If
End Sub

Private Sub MSChart1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim whichPart As Integer, whichSeries As Integer
     Dim whichNumber As Integer
     Dim chr_value As String
     Dim a As Date
     Dim b As Integer
     MSChart1.TwipsToChartPart X, Y, whichPart, whichSeries, whichNumber, 0, 0
     MSChart1.AllowSeriesSelection = False
 If whichNumber >= 1 Then
     b = Int((data(mhead + whichNumber - 1, whichSeries - 1) - Int(data(mhead + whichNumber - 1, whichSeries - 1))) * 3600)
     a = TimeSerial(Int(data(mhead + whichNumber - 1, whichSeries - 1)), 0, b)
     chr_value = data(mhead + whichNumber - 1, whichSeries)
     If data(mhead + whichNumber - 1, whichSeries) < 1 Then         '把 .3 改为 0.3
     chr_value = "0" & chr_value
     End If
'     Label2.Caption = "时间:" & a & "  数值:" & chr_value
     If Text1.Visible = False Then
     Text1.Visible = True
     End If
     Text1.Top = Y + MSChart1.Top - 200
     Text1.Left = X + MSChart1.Left + 200
     Text1.Text = "时间:" & a & "  数值:" & chr_value
  End If
End Sub

Private Sub MSChart1_PointSelected(Series As Integer, DataPoint As Integer, MouseFlags As Integer, Cancel As Integer)

'     Dim chr_time, chr_value As String
'     Dim a As Date
'     Dim b As Long
'     b = Int((Data(DataPoint, 0) - Int(Data(DataPoint, 0))) * 3600)
'     a = TimeSerial(Int(Data(DataPoint, 0)), 0, b)
'     chr_value = Data(DataPoint, 1)
'     If Data(DataPoint, 1) < 1 Then
'     chr_value = "0" & chr_value
'     End If
'
'     MsgBox a & "     " & chr_value
End Sub

Private Sub TRV_DblClick()
Dim h As Date
Dim sTemp, ctime, ch, cm, cs As String
Dim c1 As String
Dim time1, time2 As Long
time1 = timeGetTime

  If Not TRV.SelectedItem Is Nothing Then
      '只响应叶节点(没有孩子)
      If TRV.SelectedItem.Children = 0 Then
         trvkey = TRV.SelectedItem.key
         'MsgBox "你选择的是:" & TRV.SelectedItem.key & "  " & TRV.SelectedItem.Text, vbInformation
         ' sqlstr = "select * from xia_dayreport where ttid = '0115002020101' and left(tttime,10) = '2007-08-07' order by tttime"
         '***********************************************************************************
         '*把选中的对应煤矿的所有传感器写入子TREE
         '***********************************************************************************
         If Len(TRV.SelectedItem.key) = 9 Then
            sqlstr = "select ttid,ttname from xia_config where mkid = '" & Right(TRV.SelectedItem.key, Len(TRV.SelectedItem.key) - 2) & "'"
            rs.Open sqlstr, conn, adOpenStatic
            m1 = rs.RecordCount
            rs.Close
                  For j = 1 To m1
                            c1 = j
                            sqlstr = "select top " & c1 & " ttid,ttname from xia_config where mkid = '" & Right(TRV.SelectedItem.key, Len(TRV.SelectedItem.key) - 2) & "'"
                            rs.Open sqlstr, conn, adOpenStatic
                            rs.MoveLast
                            key1 = "K_" & rs.Fields("ttid").Value
                            keyname1 = rs.Fields("ttname").Value
                            Call AddChildNode(TRV.SelectedItem.key, key1, keyname1)
                            rs.Close
                   Next j
         End If
         '***********************************************************************************
         '*把选中的对应传感器的值与时间写入动态数组data()
         '***********************************************************************************
         If Len(TRV.SelectedItem.key) = 13 Then
            sTemp = Right(TRV.SelectedItem.key, 11)
            sKey = Left(sTemp, 9) & "01" & Right(sTemp, 2)
            'sKey = "0115002020106"
            sqlstr = "select tttime,ttvalue from xia_dayreport where ttid = '" & sKey & "' and left(tttime,10) = '2007-08-07' order by tttime"
            rs.Open sqlstr, conn, adOpenStatic
            m = rs.RecordCount
            mcount = m
            mtemp = m
          If m > 0 Then
            ReDim data(m, 1)
            ReDim temp(m, 1)
            rs.MoveFirst
            ctime = Right(rs.Fields("tttime").Value, 8)     '取出最小时间
            mintime = 24 * CDate(ctime)
            minvalue = rs.Fields("ttvalue").Value
            maxvalue = rs.Fields("ttvalue").Value
            
            rs.MoveLast
            ctime = Right(rs.Fields("tttime").Value, 8)     '取出最大时间
            maxtime = 24 * CDate(ctime)
           
            rs.MoveFirst
            For i = 0 To m - 1
                
                ctime = Right(rs.Fields("tttime").Value, 8)
                h = CDate(ctime)
                data(i, 0) = 24 * h                         '取出小时数
                
                data(i, 1) = rs.Fields("ttvalue").Value
                    If data(i, 1) < minvalue Then
                       minvalue = data(i, 1)
                    End If
                    If data(i, 1) > maxvalue Then
                       maxvalue = data(i, 1)
                    End If
                
                rs.MoveNext
            Next i
            rs.Close
            Call drawzx(0, mcount, mcount)
            temp = data
            mhead = 0
            Toolbar1.Buttons.Item(2).Enabled = True
            Toolbar1.Buttons.Item(4).Enabled = True
          Else
            rs.Close
          End If        ' end   If m > 0 Then
         End If      ' end   If Len(TRV.SelectedItem.key) = 13 Then
         
         
         
      End If        ' End   If TRV.SelectedItem.Children = 0 Then
    End If          ' End   If Not TRV.SelectedItem Is Nothing Then
    
 time2 = timeGetTime
 Label2.Caption = time2 - time1 & "毫秒  共有" & m & "条记录"
  trvindex = TRV.SelectedItem.Index

End Sub


Private Sub Toolbar1_ButtonClick(ByVal Button As MSComCtlLib.Button)
Dim n As Integer
    On Error Resume Next
    Select Case Button.key
        Case "绘制折线"
            Call drawzx(mhead, mtemp, mcount)
        Case "多折线"
            Form3.Show
        Case "传感器详细数据"
            biaoge
        Case "打印"
            prt
        Case "帮助"
            '应做:添加 '帮助' 按钮代码。
            MsgBox "添加 '帮助' 按钮代码。"
        Case "退出"
            Unload Form1
        End Select
End Sub



'Public Sub drawzx(ByVal head As Integer, ByVal length As Integer, ByVal all_len As Integer)
'Dim ttdata() As Double
''Dim secdata(10, 1) As Double
'ReDim ttdata(length - 1, 1)
'For i = 0 To length - 1
'    ttdata(i, 0) = Data(head + i, 0)
'    ttdata(i, 1) = Data(head + i, 1)
'Next i
'setxianshi ("ze")
'
''For i = 0 To 10
''    secdata(i, 0) = i + 0.5
''    secdata(i, 1) = i / 2 + 0.1
''Next i
'
''Dim mydata(20, 1) As Double
'Dim j As Integer
'
''波形图外观设置
'With MSChart1
'    .TitleText = "速度 m/min"
'    .Plot.Axis(VtChAxisIdX).AxisTitle.Text = "时间"
'    .Plot.Axis(VtChAxisIdY).AxisTitle.Text = "数值"
''    '设置图线的外观
'    .Plot.SeriesCollection(1).Pen.Width = 1        '30
'    .Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid
''    '设置XY轴
'    .Plot.Axis(VtChAxisIdX).ValueScale.Auto = True
'    .Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
'    '// 设置最大值
''    .Plot.Axis(VtChAxisIdX).ValueScale.Maximum = maxtime
''    If maxvalue > 1 Then
''    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = Round(maxvalue * 1.5, 0)
''    End If
''    If maxvalue > 0.1 Then
''    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = Round(maxvalue * 1.5, 1)
''    End If
''    If maxvalue > 0.01 Then
''        .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = Round(maxvalue * 1.5, 2)
''    End If
''
'
'    If maxvalue > 100 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = Round(maxvalue * 1.5)
'    ElseIf maxvalue > 75 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 100
'    ElseIf maxvalue > 50 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 75
'    ElseIf maxvalue > 30 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 50
'    ElseIf maxvalue > 20 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 30
'    ElseIf maxvalue > 10 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 20
'    ElseIf maxvalue > 5 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 10
'    ElseIf maxvalue > 3 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 5
'    ElseIf maxvalue > 1 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 3
'    ElseIf maxvalue > 0.5 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 1
'    ElseIf maxvalue > 0.3 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 0.5
'    ElseIf maxvalue > 0.1 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 0.3
'    ElseIf maxvalue > 0.05 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 0.1
'    ElseIf maxvalue > 0.03 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 0.05
'    ElseIf maxvalue > 0.01 Then
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 0.03
'    Else
'    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = maxvalue * 1.5
'    End If
'
'
'
'
''    '// 设置最小值
'    .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0
''    .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = mintime
'    '//
'    '.Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 6 'X轴主要网格数量
'    .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 5 'Y轴主要网格数量
'   ' .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 'X轴次要网格数量
'   ' .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 'Y轴次要网格数量
'    .Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted
'    .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted
''    MSChart1.ColumnCount = 2
''    MSChart1.RowCount = 380
'    MSChart1.Plot.AutoLayout = False
'    MSChart1.Plot.UniformAxis = False
'    MSChart1.chartType = VtChChartType2dXY              '设置图形为二维散点图
'    MSChart1.ChartData = ttdata '数据
'
'End With
'End Sub
'
'
'Public Sub setxianshi(i As String)
'If i = "grid" Then
'VSPrinter1.Visible = False
'cmmset.Visible = False
'MSChart1.Visible = False
'VSFG1.Visible = True
'VSFG1.Top = 840
'VSFG1.Left = 2640
'End If
'If i = "ze" Then
'VSPrinter1.Visible = False
'cmmset.Visible = False
'MSChart1.Visible = True
'VSFG1.Visible = False
'MSChart1.Top = 840
'MSChart1.Left = 2640
'End If
'If i = "prt" Then
'VSPrinter1.Visible = True
'cmmset.Visible = True
'MSChart1.Visible = False
'VSFG1.Visible = False
'VSPrinter1.Top = 840
'VSPrinter1.Left = 2640
'End If
'
'
'End Sub
'
Private Sub TRV_KeyDown(KeyCode As Integer, Shift As Integer)
If MSChart1.Visible = True Then
'     TRV.Nodes(trvindex).Selected = True
     If KeyCode = 38 Then                              '放大图形
        mtemp = Int(mtemp * 0.9)
        mhead = mhead + Int((mtemp * 0.1) / 2)
    End If

    If KeyCode = 37 Then                              '左移图形
       mhead = mhead + 20
    End If
    
    If KeyCode = 39 Then                              '左移图形
       mhead = mhead - 20
    End If
    
    If KeyCode = 40 Then
       mtemp = Int(mtemp * 1.1)
       mhead = mhead - Int((mtemp * 0.1) / 2)
    End If
    
    
      If mtemp < 20 Then
         mtemp = 20
      End If
      If mhead + mtemp > mcount Then        '如头+长大于总长
         mhead = mcount - mtemp
      End If
      If mhead < 0 Then        '如头+长大于总长
         mhead = 0
      End If
      If mtemp > mcount Then
         mtemp = mcount
      End If
          Call drawzx(mhead, mtemp, mcount)
'         Label3.Caption = mhead & "," & mtemp & "," & mcount
  End If
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -