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

📄 frmshowdata.frm

📁 16 relay output channels and 16 isolated digital input channels LED indicators to show activated
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frmShowData 
   Caption         =   "Fast DI data displaying"
   ClientHeight    =   4185
   ClientLeft      =   60
   ClientTop       =   630
   ClientWidth     =   7185
   LinkTopic       =   "Form1"
   ScaleHeight     =   4185
   ScaleWidth      =   7185
   Begin VB.TextBox txtData 
      Height          =   3495
      Left            =   0
      MultiLine       =   -1  'True
      ScrollBars      =   2  'Vertical
      TabIndex        =   0
      Top             =   0
      Width           =   5535
   End
   Begin VB.Menu mnuNext 
      Caption         =   "&Next! 1000"
   End
   Begin VB.Menu mnuPrevious 
      Caption         =   "&Previous! 1000"
      Enabled         =   0   'False
   End
End
Attribute VB_Name = "frmShowData"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Const glSegmentSize As Long = 1000
Private glStartPosition As Long

'Show data to text control
Private Function ShowData(ByRef lBuffer() As Long, lSegStart As Long, lSegSize As Long) As Long
Dim l As Long, ll As Long, lPtr As Long, lPtrEnd As Long
Dim sText As String * 9216
Dim sFormat As String, sHexValue As String

  On Error GoTo TerminateShow
  
  lPtr = lSegStart
  lPtrEnd = lSegStart + lSegSize
  txtData.Text = ""
  Do
    sText = ""
    For l = 0 To 9216 / 9 - 1
    
      'Format Hex data with leading "0" string
      sFormat = "00000000"
      sHexValue = Hex(lBuffer(lPtr))
      sFormat = Left(sFormat, Len(sFormat) - Len(sHexValue)) + sHexValue

      sText = RTrim(sText) + sFormat + Chr(9)
      lPtr = lPtr + 1
      If lPtr >= lPtrEnd Then GoTo EndConversion
        
    Next l
    txtData.Text = txtData.Text + sText
  Loop
  
EndConversion:

  txtData.Text = txtData.Text + sText
  ShowData = lSegSize
  Exit Function
  
TerminateShow:
  txtData.Text = txtData.Text + sText
  ShowData = lPtr - lSegStart
End Function

Private Sub Form_Load()
Dim l As Long

  mnuNext.Caption = "&Next" + Str(glSegmentSize) + "!"
  mnuPrevious.Caption = "&Previous" + Str(glSegmentSize) + "!"
  
  'Show first data index on Title bar
  frmShowData.Caption = "Fast DI data displaying (start: 0)"
  
  'Showing data on text control
  l = ShowData(glDataBuf, 0#, glSegmentSize)
  glStartPosition = glSegmentSize
 
  'Menual item setting
  If l < glSegmentSize Then
    mnuNext.Enabled = False
  End If
  
End Sub

Private Sub Form_Resize()
  txtData.Height = frmShowData.ScaleHeight
  txtData.Width = frmShowData.ScaleWidth
End Sub

Private Sub mnuNext_Click()
Dim l As Long
     
  l = ShowData(glDataBuf, glStartPosition, glSegmentSize)
  frmShowData.Caption = "Fast DI data displaying (start: " + Str(glStartPosition) + ")"
  
  glStartPosition = glStartPosition + glSegmentSize
  
  If l < glSegmentSize Then
    mnuNext.Enabled = False
  End If
  
  If mnuPrevious.Enabled = False Then
    mnuPrevious.Enabled = True
  End If
  
End Sub

Private Sub mnuPrevious_Click()
Dim l As Long

  glStartPosition = glStartPosition - glSegmentSize
  
  l = ShowData(glDataBuf, glStartPosition - glSegmentSize, glSegmentSize)
  frmShowData.Caption = "Fast DI data displaying (start: " + Str(glStartPosition - glSegmentSize) + ")"
  
  If glStartPosition = glSegmentSize Then
    mnuPrevious.Enabled = False
  End If
  
  If mnuNext.Enabled = False Then
    mnuNext.Enabled = True
  End If
  
End Sub

⌨️ 快捷键说明

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