📄 mdiform1.frm
字号:
Form2.Label24.ForeColor = Form1.Text17.ForeColor
Call SETSELECTCHANNEL '选择模拟输入通道1~4
Call SETBOARD '设置板1和板2,并设置显示通道颜色
Call setprobe '设置通道1~4的探头比
Call SETDISPLAY '设置通道1~4的显示和关闭
Call DIV_ATTEU
Call setoffset
Call setcoupling
Call SetTrigCh
Call setlevel
Call settrigslop
Call settrigmode
Call setrate
Call setzoom
Call timedivacq
Call setvoltage(Form1.VScroll2.Value, Form1.Label9)
Call setvoltage(Form1.VScroll3.Value, Form1.Label10)
Call setv1_v2
Call refreshscreen1
Call DISTANCEA_B
Call setsize
End Sub
Private Sub MDIForm_Unload(Cancel As Integer)
Call PowerOff(UIP(0), UCP(0, 0, 0))
End
End Sub
Private Sub memory128k_Click()
MemMode = MemLarge
End Sub
Private Sub memory1k_Click()
MemMode = MemSmall
End Sub
Private Sub memory256k_Click()
MemMode = MemHuge
End Sub
Private Sub memory8k_Click()
MemMode = MemMedium
End Sub
Private Sub rate100hz_Click()
ClkRate = hz100
End Sub
Private Sub rate100khz_Click()
ClkRate = khz100
End Sub
Private Sub rate100mhz_Click()
ClkRate = mhz100
End Sub
Private Sub rate10ghz_Click()
ClkRate = ghz010
End Sub
Private Sub rate10hz_Click()
ClkRate = hz010
End Sub
Private Sub rate10khz_Click()
ClkRate = khz010
End Sub
Private Sub rate10mhz_Click()
ClkRate = mhz010
End Sub
Private Sub rate1ghz_Click()
ClkRate = ghz001
End Sub
Private Sub rate1hz_Click()
ClkRate = hz001
End Sub
Private Sub rate1khz_Click()
ClkRate = khz001
End Sub
Private Sub rate1mhz_Click()
ClkRate = mhz001
End Sub
Private Sub rate200hz_Click()
ClkRate = hz200
End Sub
Private Sub rate200khz_Click()
ClkRate = khz200
End Sub
Private Sub rate200mhz_Click()
ClkRate = mhz200
End Sub
Private Sub rate20ghz_Click()
ClkRate = ghz020
End Sub
Private Sub rate20hz_Click()
ClkRate = hz020
End Sub
Private Sub rate20khz_Click()
ClkRate = khz020
End Sub
Private Sub rate20mhz_Click()
ClkRate = mhz020
End Sub
Private Sub rate250mhz_Click()
ClkRate = mhz250
End Sub
Private Sub rate2ghz_Click()
ClkRate = ghz002
End Sub
Private Sub rate2hz_Click()
ClkRate = hz002
End Sub
Private Sub rate2khz_Click()
ClkRate = khz002
End Sub
Private Sub rate2mhz_Click()
ClkRate = mhz002
End Sub
Private Sub rate500hz_Click()
ClkRate = hz500
End Sub
Private Sub rate500khz_Click()
ClkRate = khz500
End Sub
Private Sub rate500mhz_Click()
ClkRate = mhz500
End Sub
Private Sub rate50hz_Click()
ClkRate = hz050
End Sub
Private Sub rate50khz_Click()
ClkRate = khz050
End Sub
Private Sub rate50mhz_Click()
ClkRate = mhz050
End Sub
Private Sub rate5ghz_Click()
ClkRate = ghz005
End Sub
Private Sub rate5hz_Click()
ClkRate = hz005
End Sub
Private Sub rate5khz_Click()
ClkRate = khz005
End Sub
Private Sub rate5mhz_Click()
ClkRate = mhz005
End Sub
Private Sub refreshscreen_Click()
Call refreshscreen1
End Sub
Private Sub readdefaultini_Click()
Module2.readdefaultini
End Sub
Private Sub readinifile_Click()
Dim strFilename As String
With Dso29.CommonDialog1
.DialogTitle = "选择配置文件"
.DefaultExt = "ini"
.InitDir = App.Path
.Filter = "*.ini"
.ShowOpen
strFilename = .filename
End With
If Len(strFilename) > 0 Then
If LCase(Right(strFilename, 4)) <> ".ini" Then
strFilename = strFilename & ".ini"
End If
Module2.readini strFilename
End If
End Sub
'保存到Excel
Private Sub savedso_Click()
Dim strBuff As String
Dim SavePathstr As String
Dim Sizetxt As String, Ratetxt As String
SavePathstr = InputBox("输入存储数据路径", "路径", "H:\")
Sizetxt = Form2.Label6.Caption
Ratetxt = Form2.Label25.Caption
Dim t As Integer
savedsodata 2, SavePathstr, Sizetxt
End Sub
'保存配置到指定文件
Private Sub saveinifile_Click()
Dim strFilename As String
With Dso29.CommonDialog1
.Filter = "*.ini"
.ShowSave
strFilename = .filename
End With
If Len(strFilename) > 0 Then
If LCase(Right(strFilename, 4)) <> ".ini" Then
strFilename = strFilename & ".ini"
End If
Module2.saveini strFilename
End If
End Sub
Private Sub Timer1_Timer()
triggerdisflag = 0
Call refreshscreen1
Dso29.Timer1.Interval = 0
End Sub
Private Sub Timer2_Timer()
v1v2disflag = 0
Call refreshscreen1
Dso29.Timer2.Interval = 0
End Sub
Private Sub Timer3_Timer()
autocapturetime = 1
Dso29.Timer3.Interval = 0
End Sub
Private Sub timingdot_Click()
timingtype = dot
End Sub
Private Sub timingline_Click()
timingtype = Line
End Sub
Private Sub timinglinedot_Click()
timingtype = linedot
End Sub
Private Sub timingpersistence_Click() '持续跟踪显示
If Dso29.timingpersistence.Checked = True Then
Dso29.timingpersistence.Checked = False
persistance = 0 '每显示一次清屏一次
Else
Dso29.timingpersistence.Checked = True
persistance = 1 '每显示一次,不清屏
End If
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case Is = "go"
toolbarstop = 0
number1 = 1
TrigPos = Form1.HScroll6.Value '触发位置,红线左边为触发前显示,右边为触发后显示,触发位置任意可变
Call capture(bufanalog0(0, 0), bufanalog1(0, 0), bufanalog2(0, 0), bufanalog3(0, 0), buflogic0(0, 0), buflogic1(0, 0), ByVal ABufLen, ByVal MemMode, ByVal board_model, UIP(0), UCP(0, 0, 0), s_val(0), ByVal ClkRate, ByVal TrigCh, TrigSlope(0), ByVal TrigWd1A, ByVal TrigWd1B, ByVal TrigWd2A, ByVal TrigWd2B, ByVal TrigWd3A, ByVal TrigWd3B, ByVal TrigWd4A, ByVal TrigWd4B, ByVal v_tshd, ByVal v_tshd2, ByVal v_tshd3, ByVal v_tshd4, cp_val(0), p_attn(0), ByVal TrigPos, VOffDex(0), ByVal ClkSource, Trans(0), AdjAddr(0))
Do While number1 > 0 And toolbarstop = 0
toolbarstop = 0
Button.Value = tbrPressed
TrigPos = Form1.HScroll6.Value
paraon = 0
tt = 2
Do While tt = 2 And paraon = 0
tt = GetTrigStat(bufanalog0(0, 0), bufanalog1(0, 0), bufanalog2(0, 0), bufanalog3(0, 0), buflogic0(0, 0), buflogic1(0, 0), ByVal ABufLen, ByVal MemMode, ByVal board_model, UIP(0), UCP(0, 0, 0), s_val(0), ByVal ClkRate, ByVal TrigCh, TrigSlope(0), ByVal TrigWd1A, ByVal TrigWd1B, ByVal TrigWd2A, ByVal TrigWd2B, ByVal TrigWd3A, ByVal TrigWd3B, ByVal TrigWd4A, ByVal TrigWd4B, ByVal v_tshd, ByVal v_tshd2, ByVal v_tshd3, ByVal v_tshd4, cp_val(0), p_attn(0), ByVal TrigPos, VOffDex(0), ByVal ClkSource, Trans(0), AdjAddr(0))
Form2.CurrentX = 10
Form2.CurrentY = 4500
Form2.Label11.Caption = "Filling post_Trigger"
DoEvents
' dummy = doevens
Loop
temp0 = Form2.ForeColor
Form2.ForeColor = Form2.BackColor
Form2.CurrentX = 10
Form2.CurrentY = 4500
Form2.Print " ";
Form2.ForeColor = temp0
Dso29.Timer3.Interval = 200
If Form2.HScroll12.Value > 13 Then Dso29.Timer3.Interval = 400
If Form2.HScroll12.Value > 22 Then Dso29.Timer3.Interval = 800
autocapturetime = 0
tt = 3
Do While tt = 3 And toolbarstop = 0 And paraon = 0
If (autocapturetime = 1 And Form2.HScroll14.Value = cap_auto) Or (board_model = dso2902_256 And Form2.HScroll9.Value = 4) Or ((board_model = dso2902_128 Or board_model = dso2902_256 Or board_model = dso2902_512) And Form2.HScroll9.Value <> 0 And Form2.HScroll9.Value <> 1) Then
Call ForceTrigger(UIP(0), UCP(0, 0, 0))
End If
tt = GetTrigStat(bufanalog0(0, 0), bufanalog1(0, 0), bufanalog2(0, 0), bufanalog3(0, 0), buflogic0(0, 0), buflogic1(0, 0), ByVal ABufLen, ByVal MemMode, ByVal board_model, UIP(0), UCP(0, 0, 0), s_val(0), ByVal ClkRate, ByVal TrigCh, TrigSlope(0), ByVal TrigWd1A, ByVal TrigWd1B, ByVal TrigWd2A, ByVal TrigWd2B, ByVal TrigWd3A, ByVal TrigWd3B, ByVal TrigWd4A, ByVal TrigWd4B, ByVal v_tshd, ByVal v_tshd2, ByVal v_tshd3, ByVal v_tshd4, cp_val(0), p_attn(0), ByVal TrigPos, VOffDex(0), ByVal ClkSource, Trans(0), AdjAddr(0))
Form2.CurrentX = 10
Form2.CurrentY = 4500
Form2.Label11.Caption = "等待触发"
DoEvents
Loop
tt = 3
Do While tt <> 6 And toolbarstop = 0 And paraon = 0
tt = GetTrigStat(bufanalog0(0, 0), bufanalog1(0, 0), bufanalog2(0, 0), bufanalog3(0, 0), buflogic0(0, 0), buflogic1(0, 0), ByVal ABufLen, ByVal MemMode, ByVal board_model, UIP(0), UCP(0, 0, 0), s_val(0), ByVal ClkRate, ByVal TrigCh, TrigSlope(0), ByVal TrigWd1A, ByVal TrigWd1B, ByVal TrigWd2A, ByVal TrigWd2B, ByVal TrigWd3A, ByVal TrigWd3B, ByVal TrigWd4A, ByVal TrigWd4B, ByVal v_tshd, ByVal v_tshd2, ByVal v_tshd3, ByVal v_tshd4, cp_val(0), p_attn(0), ByVal TrigPos, VOffDex(0), ByVal ClkSource, Trans(0), AdjAddr(0))
Form2.CurrentX = 10
Form2.CurrentY = 4500
Form2.Label11.Caption = "Trigger Filling Buffer"
DoEvents
' Form1.Picture1.Picture = Form1.Picture2.Picture
Loop
If toolbarstop = 0 And paraon = 0 Then Call EndCapture(bufanalog0(0, 0), bufanalog1(0, 0), bufanalog2(0, 0), bufanalog3(0, 0), buflogic0(0, 0), buflogic1(0, 0), ByVal ABufLen, ByVal MemMode, ByVal board_model, UIP(0), UCP(0, 0, 0), s_val(0), ByVal ClkRate, ByVal TrigCh, TrigSlope(0), ByVal TrigWd1A, ByVal TrigWd1B, ByVal TrigWd2A, ByVal TrigWd2B, ByVal TrigWd3A, ByVal TrigWd3B, ByVal TrigWd4A, ByVal TrigWd4B, ByVal v_tshd, ByVal v_tshd2, ByVal v_tshd3, ByVal v_tshd4, cp_val(0), p_attn(0), ByVal TrigPos, VOffDex(0), ByVal ClkSource, Trans(0), AdjAddr(0))
Call capture(bufanalog0(0, 0), bufanalog1(0, 0), bufanalog2(0, 0), bufanalog3(0, 0), buflogic0(0, 0), buflogic1(0, 0), ByVal ABufLen, ByVal MemMode, ByVal board_model, UIP(0), UCP(0, 0, 0), s_val(0), ByVal ClkRate, ByVal TrigCh, TrigSlope(0), ByVal TrigWd1A, ByVal TrigWd1B, ByVal TrigWd2A, ByVal TrigWd2B, ByVal TrigWd3A, ByVal TrigWd3B, ByVal TrigWd4A, ByVal TrigWd4B, ByVal v_tshd, ByVal v_tshd2, ByVal v_tshd3, ByVal v_tshd4, cp_val(0), p_attn(0), ByVal TrigPos, VOffDex(0), ByVal ClkSource, Trans(0), AdjAddr(0))
Call refreshscreen1
Form2.Picture1.CurrentX = 0
Form2.Picture1.CurrentY = 0
Form2.Picture1.Cls
Form2.Picture1.Print number1;
Form2.Label11.Caption = "完成"
If paraon = 0 Then number1 = number1 + 1
If Form2.HScroll14.Value = cap_once Then number1 = 0
Loop
Button.Visible = False
Button.Value = tbrUnpressed
Button.Visible = True
Case Is = "stop"
Form2.Label11.Caption = ""
toolbarstop = 1
End Select
End Sub
Private Sub viewtoolbar_Click()
Dso29.viewtoolbar.Checked = Not Dso29.viewtoolbar.Checked
Dso29.Toolbar1.Visible = Dso29.viewtoolbar.Checked
End Sub
Private Sub windowArrangeIcons_Click()
Dso29.Arrange vbArangeIcons
End Sub
Private Sub windowCascade_Click()
Dso29.Arrange Cascade
End Sub
Private Sub windowTileHorizontal_Click()
Dso29.Arrange vbTileHorizontal
End Sub
Private Sub windowTileVertical_Click()
Dso29.Arrange vbTileVertical
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -