?? classmedata.cls
字號:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "ClassDPMEData"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Private Type T_Platform
CurrentFileNo As Long '當前文件號
ns As Currency '當前記錄納秒表產生的記錄時刻,單位微秒
Date As String '當前記錄的日期
FileName() As String
UnitNo As Integer '子臺號
ADdT As Currency 'AD轉換間隔,單位微秒
SampleNum As Integer '采樣點數
'TimeScope(1 To 2) As Currency '記錄時間范圍,單位:微秒。
'1:為第一條之啟動時刻,2:為最后一條記錄啟動時刻的納秒時鐘加上該記錄的時間窗寬度。
WaveNum As Long '礦震記錄總數
ColorNo As Long '子臺顏色
ZoomPara As Single
LinkChNo As Integer '連接于比本通道更低一級增益的信號通道編號(注意:是單元號)
'等于零時表示無低增益通道被同時使用
End Type
Dim MEFileName As String
Dim FileName() As String
Dim DATAFileNo As String
Dim FileHead As String
Dim FileHead1 As String
Dim EventNo As Integer
Dim Rec_nS As Currency
Dim GDate As String
Dim ADFreNo, SampleNum, GainNo(4), DelayNo, TrigLevelNo As Integer
Dim Platform As T_Platform
Dim WaveNum As Long
Dim DATADirection As Integer
Dim wavedata() As Long
Public Property Get TotalRecordNum() As Long
Dim tempFile As String
Dim n As Long
Dim WaveNum As Long
On Error GoTo ErrTrap
'用Dir$計算文件數
tempFile = Dir("D:\data\*.dat")
n = 0
If tempFile = "" Then GoTo NoFile
n = 1
Do
ReDim Preserve FileName(1 To n) As String
FileName(n) = tempFile
tempFile = Dir$
'Debug.Print FileName(n)
n = n + 1
Loop
'End If
NoFile:
WaveNum = n
TotalRecordNum = WaveNum
Exit Property
ErrTrap:
If Err = 5 Then
GoTo NoFile
Else
TotalRecordNum = -1
End If
End Property
Public Property Get TotalRecordNum2() As Long
Dim tempFile As String
Dim n As Long
Dim WaveNum As Long
On Error GoTo ErrTrap
'用Dir$計算文件數
tempFile = Dir("D:\data2\*.dat")
n = 0
If tempFile = "" Then GoTo NoFile
n = 1
Do
ReDim Preserve FileName(1 To n) As String
FileName(n) = tempFile
tempFile = Dir$
'Debug.Print FileName(n)
n = n + 1
Loop
'End If
NoFile:
WaveNum = n
TotalRecordNum2 = WaveNum
Exit Property
ErrTrap:
If Err = 5 Then
GoTo NoFile
Else
TotalRecordNum2 = -1
End If
End Property
Public Property Get TotalRecordNum3() As Long
Dim tempFile As String
Dim n As Long
Dim WaveNum As Long
On Error GoTo ErrTrap
'用Dir$計算文件數
tempFile = Dir("D:\data3\*.dat")
n = 0
If tempFile = "" Then GoTo NoFile
n = 1
Do
ReDim Preserve FileName(1 To n) As String
FileName(n) = tempFile
tempFile = Dir$
'Debug.Print FileName(n)
n = n + 1
Loop
'End If
NoFile:
WaveNum = n
TotalRecordNum3 = WaveNum
Exit Property
ErrTrap:
If Err = 5 Then
GoTo NoFile
Else
TotalRecordNum3 = -1
End If
End Property
Public Property Get TotalRecordNum4() As Long
Dim tempFile As String
Dim n As Long
Dim WaveNum As Long
On Error GoTo ErrTrap
'用Dir$計算文件數
tempFile = Dir("D:\data4\*.dat")
n = 0
If tempFile = "" Then GoTo NoFile
n = 1
Do
ReDim Preserve FileName(1 To n) As String
FileName(n) = tempFile
tempFile = Dir$
'Debug.Print FileName(n)
n = n + 1
Loop
'End If
NoFile:
WaveNum = n
TotalRecordNum4 = WaveNum
Exit Property
ErrTrap:
If Err = 5 Then
GoTo NoFile
Else
TotalRecordNum4 = -1
End If
End Property
Public Property Let DirectionDATA(Direct As Integer)
'Direct=1 代表X方向
'Direct=2 代表Y方向
'Direct=3 代表Z方向
DATADirection = Direct
End Property
Public Sub GetWaveDATA(Direction As Integer, Rec_nS As Currency, wavedata() As Long)
Dim i As Long
Dim Counter As Long
Dim Point As Long
Dim j As Long
Dim WDATA() As Long
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
Line Input #DATAFileNo, FileHead
ADFreNo = Val(Mid$(FileHead, 2, 1))
SampleNum = Val(Mid$(FileHead, 16, 3))
GainNo(1) = Val(Mid$(FileHead, 30, 1))
GainNo(2) = Val(Mid$(FileHead, 44, 1))
GainNo(3) = Val(Mid$(FileHead, 58, 1))
GainNo(4) = Val(Mid$(FileHead, 72, 1))
DelayNo = Val(Mid$(FileHead, 86, 1))
TrigLevelNo = Val(Mid$(FileHead, 100, 1))
Counter = 0
Do While Not EOF(DATAFileNo)
Counter = Counter + 1
ReDim Preserve WDATA(4, 1 To Counter) As Long
Input #DATAFileNo, Point, WDATA(1, Counter), WDATA(2, Counter), WDATA(3, Counter), WDATA(4, Counter)
Loop
ReDim Preserve wavedata(1 To Counter) As Long
For i = 1 To Counter
wavedata(i) = WDATA(Direction, i)
Next i
Close #DATAFileNo
End Sub
Public Sub LoadFileParas(DATAFile As String)
Dim Counter As Long
Dim i As Long
Dim Point As Long
Dim j As Long
Dim WDATA() As Long
Dim EventNum As Long
MEFileName = DATAFile
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
Line Input #DATAFileNo, FileHead
ADFreNo = Val(Mid$(FileHead, 2, 1))
SampleNum = Val(Mid$(FileHead, 16, 3))
DelayNo = Val(Mid$(FileHead, 86, 1))
TrigLevelNo = Val(Mid$(FileHead, 100, 1))
Counter = 0
Do While Not EOF(DATAFileNo)
Counter = Counter + 1
ReDim Preserve WDATA(4, 1 To Counter) As Long
Input #DATAFileNo, Point, WDATA(1, Counter), WDATA(2, Counter), WDATA(3, Counter), WDATA(4, Counter)
Loop
ReDim Preserve wavedata(1 To Counter) As Long
For i = 1 To Counter
wavedata(i) = WDATA(DATADirection, i)
Next i
Close #DATAFileNo
End Sub
Public Property Get RecordDate() As String
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
RecordDate = GDate
Close #DATAFileNo
End Property
Public Property Get CurrentEventNo() As Integer
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
CurrentEventNo = EventNo
Close #DATAFileNo
End Property
Public Property Get UnitNo() As Integer
UnitNo = Platform.UnitNo
End Property
Public Property Get RecorduS() As Currency
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
RecorduS = Rec_nS
Close #DATAFileNo
End Property
Public Property Get CurrentADFreNo() As Integer
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
Line Input #DATAFileNo, FileHead
ADFreNo = Val(Mid$(FileHead, 2, 1))
CurrentADFreNo = ADFreNo
Close #DATAFileNo
End Property
Public Property Get SampleLength() As Long
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
Line Input #DATAFileNo, FileHead
SampleNum = Val(Mid$(FileHead, 16, 3))
SampleLength = SampleNum * 1024
Close #DATAFileNo
End Property
Public Property Get CurrentTrigNo() As Integer
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
Line Input #DATAFileNo, FileHead
TrigLevelNo = Val(Mid$(FileHead, 100, 1))
CurrentTrigNo = TrigLevelNo
Close #DATAFileNo
End Property
Public Property Get CurrentDelayNo() As Integer
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
Line Input #DATAFileNo, FileHead
DelayNo = Val(Mid$(FileHead, 86, 1))
CurrentDelayNo = DelayNo
Close #DATAFileNo
End Property
Public Property Get CurrentGain1() As Integer
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
Line Input #DATAFileNo, FileHead
GainNo(1) = Val(Mid$(FileHead, 30, 1))
CurrentGain1 = GainNo(1)
Close #DATAFileNo
End Property
Public Property Get CurrentGain2() As Integer
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
Line Input #DATAFileNo, FileHead
GainNo(2) = Val(Mid$(FileHead, 44, 1))
CurrentGain2 = GainNo(2)
Close #DATAFileNo
End Property
Public Property Get CurrentGain3() As Integer
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
Line Input #DATAFileNo, FileHead
GainNo(3) = Val(Mid$(FileHead, 58, 1))
CurrentGain3 = GainNo(3)
Close #DATAFileNo
End Property
Public Property Get CurrentGain4() As Integer
DATAFileNo = FreeFile
Open MEFileName For Input As #DATAFileNo
Input #DATAFileNo, EventNo, Rec_nS, GDate
Line Input #DATAFileNo, FileHead
GainNo(4) = Val(Mid$(FileHead, 72, 1))
CurrentGain4 = GainNo(4)
Close #DATAFileNo
End Property
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -