?? frmoutputanalog.frm
字號:
VERSION 5.00
Begin VB.Form frmOutputAnalog
BorderStyle = 3 'Fixed Dialog
Caption = "輸出模擬量數據"
ClientHeight = 5148
ClientLeft = 2760
ClientTop = 3756
ClientWidth = 9660
BeginProperty Font
Name = "宋體"
Size = 9
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Icon = "frmOutputAnalog.frx":0000
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MDIChild = -1 'True
ScaleHeight = 5148
ScaleWidth = 9660
ShowInTaskbar = 0 'False
Begin VB.TextBox txtEndAcqSeg
Alignment = 2 'Center
Height = 264
Left = 7572
MaxLength = 3
TabIndex = 9
Text = "125"
Top = 4776
Width = 444
End
Begin VB.Frame Frame3
Caption = "共xx個不同頻率數據段"
ForeColor = &H80000002&
Height = 4272
Left = 7164
TabIndex = 17
Top = 60
Width = 2436
Begin VB.ListBox lstAcqSeg
Height = 4008
Left = 60
TabIndex = 2
Top = 204
Width = 2304
End
End
Begin VB.ComboBox cmbFileType
Enabled = 0 'False
Height = 276
ItemData = "frmOutputAnalog.frx":014A
Left = 5340
List = "frmOutputAnalog.frx":015A
Style = 2 'Dropdown List
TabIndex = 8
Top = 4776
Width = 1188
End
Begin VB.Frame Frame2
Caption = "模擬量通道列表"
ForeColor = &H80000002&
Height = 4272
Left = 3840
TabIndex = 14
Top = 60
Width = 3360
Begin VB.ListBox lstAnalogChnsSelected
Height = 4008
Left = 72
TabIndex = 1
Top = 204
Width = 3216
End
End
Begin VB.TextBox txtOutFileName
Height = 264
Left = 840
TabIndex = 7
Top = 4776
Width = 4428
End
Begin VB.CommandButton cmdCancel
Caption = "&C 取消"
Height = 336
Left = 8880
TabIndex = 11
Top = 4740
Width = 672
End
Begin VB.CommandButton cmdOutput
Caption = "&O 輸出"
Height = 336
Left = 8112
TabIndex = 10
Top = 4740
Width = 672
End
Begin VB.Frame Frame1
Caption = "模擬量通道列表"
ForeColor = &H80000002&
Height = 4272
Left = 48
TabIndex = 12
Top = 60
Width = 3360
Begin VB.ListBox lstAnalogChns
Height = 4008
Left = 72
TabIndex = 0
Top = 204
Width = 3216
End
End
Begin VB.Frame Frame4
Height = 468
Left = 48
TabIndex = 19
Top = 4224
Width = 9552
Begin VB.CheckBox chkOutputAcqSegInfor
Caption = "輸出不同采樣頻率的數據段信息"
Height = 252
Left = 1868
TabIndex = 4
Top = 156
Value = 1 'Checked
Width = 2868
End
Begin VB.CheckBox chkOutputSwitchDefInfor
Caption = "輸出開關量通道定義信息"
Height = 252
Left = 7188
TabIndex = 6
Top = 156
Width = 2292
End
Begin VB.CheckBox chkOutputAnalogDefInfor
Caption = "輸出模擬量通道定義信息"
Height = 252
Left = 4792
TabIndex = 5
Top = 156
Value = 1 'Checked
Width = 2340
End
Begin VB.CheckBox chkOutputCfgInfor
Caption = "輸出配置文件信息"
Height = 252
Left = 72
TabIndex = 3
Top = 156
Value = 1 'Checked
Width = 1740
End
End
Begin VB.Label Label4
AutoSize = -1 'True
Caption = "結束數據段"
Height = 180
Left = 6624
TabIndex = 18
Top = 4824
Width = 900
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "選擇"
ForeColor = &H8000000D&
Height = 180
Left = 3456
TabIndex = 16
Top = 252
Width = 360
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "放棄"
ForeColor = &H8000000D&
Height = 180
Left = 3456
TabIndex = 15
Top = 2256
Width = 360
End
Begin VB.Line Line6
BorderColor = &H80000005&
X1 = 3240
X2 = 3876
Y1 = 4320
Y2 = 4320
End
Begin VB.Line Line5
BorderColor = &H80000003&
X1 = 3276
X2 = 3912
Y1 = 4308
Y2 = 4308
End
Begin VB.Line Line4
BorderColor = &H80000005&
X1 = 3228
X2 = 3864
Y1 = 156
Y2 = 156
End
Begin VB.Line Line3
BorderColor = &H80000003&
X1 = 3264
X2 = 3900
Y1 = 144
Y2 = 144
End
Begin VB.Line Line2
BorderColor = &H80000005&
X1 = 3216
X2 = 3852
Y1 = 2196
Y2 = 2196
End
Begin VB.Line Line1
BorderColor = &H80000003&
X1 = 3252
X2 = 3888
Y1 = 2184
Y2 = 2184
End
Begin VB.Image imgDeselect
Height = 384
Left = 3444
Picture = "frmOutputAnalog.frx":0186
ToolTipText = "放棄所有通道"
Top = 3336
Width = 384
End
Begin VB.Image imgDeselect1
Height = 384
Left = 3444
Picture = "frmOutputAnalog.frx":05C8
ToolTipText = "放棄當前通道"
Top = 2796
Width = 384
End
Begin VB.Image imgSelectAll
Height = 384
Left = 3444
Picture = "frmOutputAnalog.frx":0A0A
ToolTipText = "選擇所有通道"
Top = 1356
Width = 384
End
Begin VB.Image imgSelect1
Appearance = 0 'Flat
Height = 384
Left = 3432
Picture = "frmOutputAnalog.frx":0E4C
ToolTipText = "選擇當前通道"
Top = 804
Width = 384
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "輸出文件"
Height = 180
Left = 60
TabIndex = 13
Top = 4812
Width = 720
End
End
Attribute VB_Name = "frmOutputAnalog"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim iAnalogChnSelected() As Integer ' 被選擇的通道對應于待選通道列表的序號,用于放棄選擇
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdOutput_Click()
If lstAnalogChnsSelected.ListCount = 0 Then
MsgBox "沒有模擬量通道被選中", vbInformation + vbOKOnly, "操作提示"
Exit Sub
End If
Dim iMousePointer As Integer
iMousePointer = mdiMain.MousePointer ' 保存鼠標形狀
mdiMain.MousePointer = vbHourglass ' 11 Hourglass (wait).
Dim i As Integer
For i = 1 To txtEndAcqSeg.Text
rComtradeAcqSegInfor(i).blSelected = True ' 輸出否
Next i
OutputAnalogData Trim$(txtOutFileName.Text), cmbFileType.ListIndex ' 輸出模擬量數據
mdiMain.MousePointer = iMousePointer ' 恢復鼠標形狀
End Sub
Private Sub Form_Load()
txtOutFileName.Text = sGetExtOrNameOfFile(rComtradeFileHeadInfor.sCfgFileName, False) + "_AN.TXT" ' 當前數據文件名稱
cmbFileType.ListIndex = 0
Dim chns As Integer
ReDim iAnalogChnSelected(1 To rComtradeFileHeadInfor.lTotalAnalogChs) ' 被選擇的通道對應于待選通道列表的序號,用于放棄選擇
lstAnalogChns.Clear
' 模擬量通道總數
For chns = 1 To rComtradeFileHeadInfor.lTotalAnalogChs
lstAnalogChns.AddItem Trim$(rComtradeAnalogInfor(chns).sChannelName) + "(通道:" + Format(rComtradeAnalogInfor(chns).iChannelID, "0") + ",相序:" + rComtradeAnalogInfor(chns).sPhaseName + ")"
rComtradeAnalogInfor(chns).blSelected = False ' 默認為否
iAnalogChnSelected(chns) = 0 ' 被選擇的通道對應于待選通道列表的序號,用于放棄選擇:無對應
Next chns
' 數據段列表
Frame3.Caption = "共" + Format(rComtradeFileHeadInfor.iNumberOfAcqSeg, "0") + "個不同采樣頻率數據段"
txtEndAcqSeg.Text = rComtradeFileHeadInfor.iNumberOfAcqSeg ' 輸出結束數據段
lstAcqSeg.Clear
For chns = 1 To rComtradeFileHeadInfor.iNumberOfAcqSeg
lstAcqSeg.AddItem FormatWithLeftSpace(chns, "0", 2) + Space(2) + FormatWithLeftSpace(rComtradeAcqSegInfor(chns).fPointsPerSec, "0.000", 10) + Space(2) + FormatWithLeftSpace(rComtradeAcqSegInfor(chns).lEndPointOffset, "0", 6)
rComtradeAcqSegInfor(chns).blSelected = False ' 輸出否
Next chns
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim chns As Integer
For chns = 1 To rComtradeFileHeadInfor.lTotalAnalogChs
rComtradeAnalogInfor(chns).blSelected = False ' 默認為否
Next chns
For chns = 1 To rComtradeFileHeadInfor.iNumberOfAcqSeg
rComtradeAcqSegInfor(chns).blSelected = False ' 輸出否
Next chns
End Sub
Private Sub imgDeselect_Click()
lstAnalogChnsSelected.Clear ' 放棄所有通道
' 清除選擇記錄
Dim chns As Integer
For chns = 1 To rComtradeFileHeadInfor.lTotalAnalogChs
rComtradeAnalogInfor(chns).blSelected = False
iAnalogChnSelected(chns) = 0 ' 記錄對應關系:無對應
Next chns
End Sub
Private Sub imgDeselect1_Click()
If lstAnalogChnsSelected.ListIndex < 0 Then
MsgBox "請先選擇右邊列表框中對應的通道", vbInformation + vbOKOnly, "操作提示"
Exit Sub
End If
rComtradeAnalogInfor(iAnalogChnSelected(lstAnalogChnsSelected.ListIndex + 1)).blSelected = False ' 放棄對應通道的選擇
' 刪除指定的通道對應單元,方法:前移后面的單元,覆蓋指定單元
Dim chns As Integer
For chns = 1 To lstAnalogChnsSelected.ListCount - 1
If chns >= lstAnalogChnsSelected.ListIndex + 1 Then
iAnalogChnSelected(chns) = iAnalogChnSelected(chns + 1) ' 被選擇的通道對應于待選通道列表的序號,用于放棄選擇
End If
Next chns
iAnalogChnSelected(lstAnalogChnsSelected.ListCount) = 0 ' 無對應
' 放棄當前通道
lstAnalogChnsSelected.RemoveItem lstAnalogChnsSelected.ListIndex
End Sub
Private Sub imgSelect1_Click()
If lstAnalogChns.ListIndex < 0 Then
MsgBox "請先選擇左邊列表框中對應的通道", vbInformation + vbOKOnly, "操作提示"
Exit Sub
End If
' 檢查重復通道
If rComtradeAnalogInfor(lstAnalogChns.ListIndex + 1).blSelected = True Then Exit Sub ' 該記錄已被選擇
' 增加
rComtradeAnalogInfor(lstAnalogChns.ListIndex + 1).blSelected = True ' 該記錄被選擇
lstAnalogChnsSelected.AddItem lstAnalogChns.Text
iAnalogChnSelected(lstAnalogChnsSelected.ListCount) = lstAnalogChns.ListIndex + 1 ' 記錄對應關系
End Sub
Private Sub imgSelectAll_Click()
Dim i As Integer
' 選擇所有通道
lstAnalogChnsSelected.Clear
For i = 1 To lstAnalogChns.ListCount
rComtradeAnalogInfor(i).blSelected = True ' 該記錄被選擇
lstAnalogChnsSelected.AddItem lstAnalogChns.List(i - 1)
iAnalogChnSelected(i) = i ' 記錄對應關系
Next i
End Sub
Private Sub lstAnalogChns_DblClick()
imgSelect1_Click
End Sub
Private Sub lstAnalogChnsSelected_DblClick()
imgDeselect1_Click
End Sub
Private Sub txtEndAcqSeg_KeyPress(KeyAscii As Integer)
' 只允許0-9和backsapce
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) And KeyAscii <> 8 Then
KeyAscii = 0
End If
End Sub
Private Sub txtEndAcqSeg_LostFocus()
If Val(txtEndAcqSeg.Text) < 1 Then
txtEndAcqSeg.Text = 1
ElseIf Val(txtEndAcqSeg.Text) > rComtradeFileHeadInfor.iNumberOfAcqSeg Then
txtEndAcqSeg.Text = rComtradeFileHeadInfor.iNumberOfAcqSeg
End If
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -