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

📄 formqxls.frm

📁 This is a boiler test system,has been use in factory
💻 FRM
📖 第 1 页 / 共 2 页
字号:
   blxuhao1(j%) = blxuhao(j%)
   If Val(blxuhao1(j%)) = 99 Then Exit For
   num1% = blxuhao1(j%)
   If MaxY < Val(LiangC(1, num1%)) Then MaxY = Val(LiangC(1, num1%))
   If MinY > Val(LiangC(0, num1%)) Then MinY = Val(LiangC(0, num1%))
 Next
'========================
 qxtitle = SysTitle & "参数曲线"
 gridinit
 readata
 zby2 = MaxY: zby1 = MinY
 If zby2 < zby1 Then
   aa = zby1
   zby1 = zby2
   zby2 = aa
 End If
'---------------------------
 If MaxY = -9999 Then
    Exit Sub
 Else
  zbx1 = 0: zbx2 = 24 * 60 / DataJg '横坐标点数2002-08-12
  hzbx1
  disp1
 End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
exit1_Click
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
''''On Error Resume Next
Dim ptd
If y < zby1 Or y > zby2 Then Exit Sub
If x < zbx1 Or x > zbx2 Then Exit Sub
'-------------------------------------
ptd = Picture1.Point(x, y)
For i% = 0 To 7
  If ptd = colorqx(i%) Then Exit For
Next
If i% >= 8 Then
   lablexy.Visible = False
   Exit Sub
End If
num1% = blxuhao1(i%)
ssc$ = AI_Nam(num1%) '
'----------------------
  aa% = Int(x + 0.5)
  xs% = aa% \ (60 / DataJg) '小时
  fen% = DataJg * (aa% - xs% * (60 / DataJg)) '分
  aaa$ = xs% & ":" + Format$(fen%, "00") & " h"
  yy1 = Int(beishu(num1%) * (zby2 + zby1 - y)) / beishu(num1%)
  bbb1$ = yy1 & DanWei(num1%) '+ "℃"
  lablexy.Visible = True
  lablexy.Caption = ssc$ + vbCrLf + " " + aaa$ + vbCrLf + "  " + bbb1$
'--------------------------------
  aax = x
  aay = y + 0.8 * sty
  If aay > zby2 Then
    aax = aax + 0.4 * stx
    aay = aay - 1.6 * sty
  End If
  lablexy.Move aax, aay
End Sub
Private Sub disp1()
 Dim y1, y2 As Single
 If pvtt(0, zbx2) = 0 Then
  ' zbx2 = zbx2 - 2
 Else
  ' zbx2 = zbx2 - 1
 End If
 For qx% = 0 To 7
   If blxuhao1(qx%) = 99 Then Exit For
   For jj% = zbx1 To zbx2
     y1 = pvtt(qx%, jj%)
     y2 = pvtt(qx%, jj% + 1)
     If y1 <> 9899 And y2 <> 9899 Then
       y1 = zby2 + zby1 - y1
       y2 = zby2 + zby1 - y2
       If y1 <= zby2 And y2 <= zby2 Then 'y1,y2为负值 为错误值
       Picture1.Line (jj%, y1)-(jj% + 1, y2), colorqx(qx%)
       End If
     End If
   Next
 Next
End Sub
Private Sub readata()
Dim lp2, lp3 As Integer
Dim ddd(95), lsv1
Dim dd() As String
Dim tt() As String
For i% = 0 To 7 '初始化
  For j% = 0 To 1440
    pvtt(i%, j%) = 9899
  Next
Next
'============================  '2000-07-11
'Open filena3 For Input As #1
'  Do While Not EOF(1)
'   Input #1, zfc$     '打开文件读数据  @1655
'   ddd(lp3) = zfc$
'   lp3 = lp3 + 1
'  '-------
'   If zfc$ = "*" Then
'      lp3 = 0
'      lp2 = Val(Mid$(ddd(0), 2, 2)) * 60 + Val(Mid$(ddd(0), 4, 2))
'      lp2 = lp2 \ DataJg
'      For j% = 0 To 7
'        If blxuhao1(j%) = 99 Then Exit For
'        lsv1 = Val(ddd(2 + ztnum + 10 + blxuhao1(j%))) '时间,1+ztnum 个状态,10个流量累计,ai1,ai2,....
 Set gConn = New ADODB.Connection '定义一个新的数据库连接,建立到数据源的连接
 Set rs = New ADODB.Recordset
 gConn.ConnectionString = "DSN=guolu;UID=sa;PWD=sa"
 gConn.Open
' rs.Open "select  " & bianl & " from wln", gConn, adOpenKeyset, adLockOptimistic
   rs.Open "select wln.当前时间," & bianl & " from wln", gConn, adOpenKeyset, adLockOptimistic
   Do While Not rs.EOF
       For j = 0 To rs.Fields.Count - 1
        If InStr(rs.Fields(0).Value, DATE13) Then
                 pvtt(0, lp2) = rs.Fields(1).Value
                 dd() = Split(rs.Fields(0).Value)
                 tt() = Split(dd(1), "-")
                 lp2 = Val(Mid$(dd(0), 2, 2)) * 60 + Val(Mid$(dd(0), 4, 2))
                 lp2 = lp2 \ DataJg
        End If
     Next j
     rs.MoveNext
 Loop
'Close #1
End Sub
Private Sub gridinit()
MSFlexGrid1.Cols = 6
For lp = 2 To 5
   MSFlexGrid1.colwidth(lp) = 1400   '定义1-3列宽为1200缇(单位)
Next lp
MSFlexGrid1.colwidth(0) = 2750   '定义1-3列宽为1200缇(单位)
MSFlexGrid1.colwidth(1) = 2000   '定义1-3列宽为1200缇(单位)


For i% = 1 To MSFlexGrid1.Cols - 1 '居中对齐
   MSFlexGrid1.ColAlignment(i%) = 3
Next i%

MSFlexGrid1.TextMatrix(0, 0) = "      量   名"
MSFlexGrid1.TextMatrix(0, 1) = "量   程"
MSFlexGrid1.TextMatrix(0, 2) = "下限报警"
MSFlexGrid1.TextMatrix(0, 3) = "上限报警"
MSFlexGrid1.TextMatrix(0, 4) = "单   位"
MSFlexGrid1.TextMatrix(0, 5) = "当前值"
MSFlexGrid1.Col = 0
For i% = 0 To 7
  If blxuhao1(i%) = 99 Then Exit For
  cc1% = blxuhao1(i%)
  MSFlexGrid1.row = i% + 1
  MSFlexGrid1.CellForeColor = colorqx(i%)
  MSFlexGrid1.TextMatrix(i% + 1, 0) = AI_Nam(cc1%)
  MSFlexGrid1.TextMatrix(i% + 1, 1) = LiangC(0, cc1%) & "~" & LiangC(1, cc1%)
  MSFlexGrid1.TextMatrix(i% + 1, 2) = baojing(0, cc1%)
  MSFlexGrid1.TextMatrix(i% + 1, 3) = baojing(1, cc1%)
  MSFlexGrid1.TextMatrix(i% + 1, 4) = DanWei(cc1%)
  MSFlexGrid1.TextMatrix(i% + 1, 5) = PvtAI(cc1%) '当前值
  iik% = iik% + 1
Next
'----------------------------------
 MSFlexGrid1.Width = 10635
 aaa = (iik% - 1) * 220
 MSFlexGrid1.Height = 470 + aaa
 Me.Height = 6000 + aaa
End Sub

Private Sub printqx1_Click()
''''On Error Resume Next
 x% = MsgBox("确实要打印 ?", 36, SysTitle)
 If x% <> 6 Then Exit Sub
 Call PrintQx(1, 2)
End Sub

Private Sub printset_Click()
'''On Error Resume Next
  CommonDialog1.CancelError = True
  CommonDialog1.ShowPrinter  ' 显示 Color 公共对话框。
  If Err = cdlCancel Then Exit Sub

  PrintNum% = CommonDialog1.Copies
  Printfx% = CommonDialog1.Orientation
  Call PrintQx(PrintNum%, Printfx%)
End Sub

Private Sub prinview_Click()
'''On Error Resume Next
 Picture3.Width = Me.Width - 200
 Picture3.Height = Me.Height - 750
 Picture3.Move 10, 10
 If prinview.Caption = "打印预览(&V)" Then
    prinview.Caption = "关闭预览(&V)"
 Else
   prinview.Caption = "打印预览(&V)"
   Picture3.Visible = False
   Exit Sub
 End If

 Picture3.Visible = True
 Picture3.Cls
'---------------------------------------------------------------------------------
 Picture3.Scale (-stx * 2.5 + zbx1, zby1 - 5 * sty)-(zbx2 + stx * 2, zby2 + 8 * sty) '设定标尺
 For p = zby1 To zby2 Step sty
   Picture3.Line (zbx1, p)-(zbx2, p), &HE0E0E0    '画横坐标线
   Picture3.PSet (zbx1 - 1# * stx, p - sty / 6), &HFFFFFF
   If zby2 > 100 Then
     Picture3.Print Format$(zby2 + zby1 - p, "#000") '纵坐标
   Else
     Picture3.Print Format$(zby2 + zby1 - p, "#0.0#") '纵坐标
   End If
 Next p
 Picture3.PSet (zbx1, zby1 - sty * 1), &HFFFFFF
 aa% = Weekday(filena1)
 Picture3.Print "数据日期:" & filena1 & " " & Week1(aa%) '打印日期
'================================
 For q% = zbx1 To zbx2 Step stx
    Picture3.Line (q%, zby1)-(q%, zby2), &HE0E0E0 '&H80000003   '纵坐标线
 Next q%
 For q% = zbx1 To zbx2 Step stx * 4
     Picture3.Line (q%, zby1)-(q%, zby2), &H80000003
     a1% = q% \ 12
     a2% = (q% - a1% * 12) * 5
     Picture3.PSet (q% - 0.4 * stx, zby2 + sty / 5), &HFFFFFF '横坐标值位置
     Picture3.Print Format$(a1%, "00") + ":" + Format$(a2%, "00")
  Next q%
  Picture3.DrawWidth = 2
  Picture3.Line (zbx1, zby2)-(zbx2, zby2), &H80000008
  Picture3.Line (zbx1, zby1)-(zbx2, zby1), &H80000008
  Picture3.Line (zbx1, zby2)-(zbx1, zby1), &H80000008
  Picture3.Line (zbx2, zby2)-(zbx2, zby1), &H80000008
Picture3.DrawWidth = 1
'-------------------------------
 Dim y1, y2 As Single
 For qx% = 0 To 7
   If blxuhao1(qx%) = 99 Then Exit For
   For jj% = zbx1 To zbx2
     y1 = Val(pvtt(qx%, jj%))
     y2 = Val(pvtt(qx%, jj% + 1))
     If y1 <> 9899 And y2 <> 9899 Then
        y1 = zby2 + zby1 - y1: y2 = zby2 + zby1 - y2
        Picture3.Line (jj%, y1)-(jj% + 1, y2), colorqx(qx%)
     End If
   Next
'----------标注--------------2001-12-28
   X1 = zbx1 + stx * 10 * (qx% Mod 2) '2列
   y1 = zby2 + Int(2 + qx% / 2) * sty * 0.8
   Picture3.Line (X1, y1)-(X1 + 2 * stx, y1), colorqx(qx%)
   y1 = y1 - sty / 5
   Picture3.PSet (X1 + 2.5 * stx, y1), &HFFFFFF
   Picture3.Print AI_Nam(blxuhao1(qx%)) & "(" & DanWei(blxuhao1(qx%)) & ")"
 Next
 
 Picture3.FontSize = 16
 Picture3.PSet (zbx1 + 6 * stx, zby1 - sty * 3), &HFFFFFF
 Picture3.Print qxtitle ' = SysTitle & "参数曲线"
 Picture3.FontSize = 9
 Picture3.PSet (zbx2 - 8 * stx, zby2 + sty * 3), &HFFFFFF
 Picture3.Print "打印日期:" & Date$ & "  " & Time$
End Sub

Private Sub Textzb_GotFocus(Index As Integer)
  Textzb(Index).SelStart = 0
  Textzb(Index).SelLength = Len(Textzb(Index).Text)
End Sub

Private Sub Timer1_Timer()
'couni = (couni + 1) Mod 4
'If couni = 1 Then
   'readata'曲线移动
   'zbx2 = 24 * 12 '前48小时
   'zbx1 = 0
   'hzbx1
   'disp1
  For i% = 0 To 7
    If blxuhao1(i%) = 99 Then Exit For
    MSFlexGrid1.TextMatrix(i% + 1, 5) = PvtAI(blxuhao1(i%))
  Next
'End If
End Sub

Private Sub xsfw1_Click()
Textzb(0).Text = zby1
Textzb(1).Text = zby2
Picture2.Visible = True
End Sub

Private Sub xuanx_Click()

  Unload Me
  sel24.Show
End Sub
Private Sub PrintQx(PapeNum%, PapeFx%)
 Printer.ColorMode = 2
 Printer.ForeColor = &H80000008
 Printer.Orientation = PapeFx% '1-纵向打印,2-横向打印
 Printer.PaperSize = vbPRPSA4 'A4打印纸
'---------------------------------------------------------------------------------
 Printer.Scale (-stx * 2.5 + zbx1, zby1 - 4 * sty)-(zbx2 + stx * 2, zby2 + 10 * sty) '设定标尺
 For Pg% = 1 To PapeNum%
 For p = zby1 To zby2 Step sty
   Printer.Line (zbx1, p)-(zbx2, p), &H80000003
   Printer.PSet (zbx1 - 1# * stx, p - sty / 6), &HFFFFFF
   If zby2 > 100 Then
     Printer.Print Format$(zby2 + zby1 - p, "#000") '纵坐标
   Else
     Printer.Print Format$(zby2 + zby1 - p, "#0.0#") '纵坐标
   End If
 Next p
 Printer.PSet (zbx1, zby1 - sty * 3 / 4), &HFFFFFF
 aa% = Weekday(filena1)
 Printer.Print "数据日期:" & filena1 & " " & Week1(aa%) '打印日期
'================================
 For q% = zbx1 To zbx2 Step stx
    Printer.Line (q%, zby1)-(q%, zby2), &H80000003
 Next q%
 For q% = zbx1 To zbx2 Step stx * 4
     Printer.Line (q%, zby1)-(q%, zby2), &H80000003
     a1% = q% \ 12
     a2% = (q% - a1% * 12) * 5
     Printer.PSet (q% - 0.4 * stx, zby2 + sty / 5), &HFFFFFF '横坐标值位置
     Printer.Print Format$(a1%, "00") + ":" + Format$(a2%, "00")
  Next q%
  Printer.DrawWidth = 3
  Printer.Line (zbx1, zby2)-(zbx2, zby2), &H80000008
  Printer.Line (zbx1, zby1)-(zbx2, zby1), &H80000008
  Printer.Line (zbx1, zby2)-(zbx1, zby1), &H80000008
  Printer.Line (zbx2, zby2)-(zbx2, zby1), &H80000008
 Printer.DrawWidth = 1
'-------------------------------
 Dim y1, y2 As Single
 For qx% = 0 To 7
   If blxuhao1(qx%) = 99 Then Exit For
   For jj% = zbx1 To zbx2
     y1 = Val(pvtt(qx%, jj%))
     y2 = Val(pvtt(qx%, jj% + 1))
     If y1 <> 9899 And y2 <> 9899 Then
        y1 = zby2 + zby1 - y1: y2 = zby2 + zby1 - y2
        Printer.Line (jj%, y1)-(jj% + 1, y2), colorqx(qx%)
     End If
   Next
'----------标注--------------2001-12-28
   X1 = zbx1 + stx * 10 * (qx% Mod 2) '2列
   y1 = zby2 + Int(2 + qx% / 2) * sty * 0.8
   Printer.Line (X1, y1)-(X1 + 2 * stx, y1), colorqx(qx%)
   y1 = y1 - sty / 5
   Printer.PSet (X1 + 2.5 * stx, y1), &HFFFFFF
   Printer.Print AI_Nam(blxuhao1(qx%)) & "(" & DanWei(blxuhao1(qx%)) & ")"
 Next

 Printer.FontSize = 16
 Printer.PSet (zbx1 + 8 * stx, zby1 - sty * 2.2), &HFFFFFF
 Printer.Print qxtitle ' = SysTitle & "参数曲线"
 Printer.FontSize = 9
 Printer.PSet (zbx2 - 6 * stx, zby2 + sty * 3), &HFFFFFF
 Printer.Print "打印日期:" & Date$ & "  " & Time$
 Printer.EndDoc
 Next
End Sub

⌨️ 快捷键说明

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