📄 frmshowdata.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 + -