332 WM-OM-E Rev I
Private Sub Command1_Click()
Dim wm As Object
Set wm = CreateObject("LeCroy.XStreamApplication")
Set acq = wm.Acquisition ' To save typing
Set mat = wm.Math ' To save typing
Dim t(16) As Object
‘ Create an array of objects to allow looping.
Set t(1) = acq.C1 : Set t(2) = acq.C2
Set t(3) = acq.C3 : Set t(4) = acq.C4
Set t(5) = mat.F1 : Set t(6) = mat.F2
Set t(7) = mat.F3 : Set t(8) = mat.F4
Set t(9) = mat.F5 : Set t(10) = mat.F6
Set t(11) = mat.F7 : Set t(12) = mat.F8
Dim trace As Integer
trace = 0: views = 0
' Exchange the traces on the grids.
Do
trace = trace + 1
If t(trace).View = "True" Then
views = views + 1
If t(trace).UseGrid = "YT1" Then
t(trace).UseGrid = "YT2"
Else
t(trace).UseGrid = "YT1"
End If
End If
Loop Until ((trace = 12) Or (views = 2))
' Show the parity of the last swap.
If Command1.Caption = "Swap A" Then
Command1.Caption = "Swap B"
Else
Command1.Caption = "Swap A"
End If
Dim TextString As String
TextString = Text1.Text
Dim TextValue As Integer
TextValue = Val(TextString) + 1
TextString = Str(TextValue)
TextString = Trim(TextString)
Text1.Text = TextString
End Sub
This routine exchanges the first two traces that it finds. You can make it exchange all the traces on
a dual grid by changing the penultimate line to this - Loop Until trace = 12