初始化项目
This commit is contained in:
186
BLV_Studio/Test/GridTest/MusicArrangement.vb
Normal file
186
BLV_Studio/Test/GridTest/MusicArrangement.vb
Normal file
@@ -0,0 +1,186 @@
|
||||
Public Class MusicArrangement
|
||||
Public basicClass As DeviceObjectClasses
|
||||
Private gMUSICdic As Dictionary(Of String, List(Of String))
|
||||
Private gcMUSICdic As Dictionary(Of String, List(Of String))
|
||||
Public GmusicVal As String = String.Empty
|
||||
Public G_input As String
|
||||
Private Sub MusicArrangement_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
gcMUSICdic = New Dictionary(Of String, List(Of String))
|
||||
gMUSICdic = New Dictionary(Of String, List(Of String))
|
||||
ComboBox1.Items.Clear()
|
||||
For Each basicClassnode In basicClass.DeviceClass
|
||||
If basicClassnode.Name.Equals("MUSIC") Then
|
||||
For Each basicClassnodeMUSIC In basicClassnode.Methods
|
||||
If basicClassnodeMUSIC.Params.Count >= 3 And basicClassnodeMUSIC.Name.IndexOf("播放") = 0 Then
|
||||
ComboBox1.Items.Add(basicClassnodeMUSIC.Params(1).DataRange)
|
||||
Dim li As New List(Of String)
|
||||
li.AddRange(basicClassnodeMUSIC.Params(0).DataRange.Split(","))
|
||||
gcMUSICdic.Add(basicClassnodeMUSIC.Params(1).DataRange, li)
|
||||
|
||||
Dim lic As New List(Of String)
|
||||
|
||||
|
||||
Select Case basicClassnodeMUSIC.Params(2).DataType
|
||||
Case "List"
|
||||
lic.AddRange(basicClassnodeMUSIC.Params(2).DataRange.Split(","))
|
||||
|
||||
Case "Integer"
|
||||
Dim dowmint As Integer = -1
|
||||
Dim upint As Integer = -1
|
||||
Dim intbuf() As String = basicClassnodeMUSIC.Params(2).DataRange.Split(",")
|
||||
Integer.TryParse(intbuf(0), dowmint)
|
||||
Integer.TryParse(intbuf(1), upint)
|
||||
If dowmint = -1 Or upint = -1 Then
|
||||
lic.Add(1)
|
||||
Else
|
||||
For i = dowmint To upint
|
||||
lic.Add(i)
|
||||
Next
|
||||
End If
|
||||
|
||||
End Select
|
||||
gMUSICdic.Add(basicClassnodeMUSIC.Params(1).DataRange, lic)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
Next
|
||||
ComboBox1.SelectedIndex = 0
|
||||
LoadInputText(G_input)
|
||||
End Sub
|
||||
|
||||
Private Sub LoadInputText(inputstr As String)
|
||||
If String.IsNullOrEmpty(inputstr) Then Return
|
||||
|
||||
Dim buf() As String = inputstr.Split(",")
|
||||
If buf.Length > 0 Then
|
||||
For i As Integer = 0 To ComboBox1.Items.Count - 1
|
||||
If ComboBox1.Items(i).ToString.Contains(buf(0)) Then
|
||||
ComboBox1.SelectedIndex = i
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
If buf.Length > 1 Then
|
||||
For i As Integer = 0 To ComboBox3.Items.Count - 1
|
||||
If ComboBox3.Items(i).ToString.Contains(buf(1)) Then
|
||||
ComboBox3.SelectedIndex = i
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
If buf.Length > 2 Then
|
||||
For i As Integer = 0 To ComboBox2.Items.Count - 1
|
||||
If ComboBox2.Items(i).ToString.Contains(buf(2)) Then
|
||||
ComboBox2.SelectedIndex = i
|
||||
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Public Shared Function CheckDataIsOk(datastr As String, gbasicClass As DeviceObjectClasses) As Boolean
|
||||
If String.IsNullOrEmpty(datastr) Then Return True
|
||||
Dim buf() As String = datastr.Split(",")
|
||||
If buf.Length <> 3 Then Return False
|
||||
Dim intbuf(2) As Integer
|
||||
If Not (Integer.TryParse(buf(0), intbuf(0)) And Integer.TryParse(buf(1), intbuf(1)) And Integer.TryParse(buf(2), intbuf(2))) Then Return False
|
||||
|
||||
For Each basicClassnode In gbasicClass.DeviceClass
|
||||
If basicClassnode.Name.Equals("MUSIC") Then
|
||||
For Each basicClassnodeMUSIC In basicClassnode.Methods
|
||||
If basicClassnodeMUSIC.Params.Count >= 3 And basicClassnodeMUSIC.Name.IndexOf("播放") = 0 Then
|
||||
|
||||
|
||||
If basicClassnodeMUSIC.Params(1).DataRange.IndexOf(intbuf(0).ToString) = 0 Then
|
||||
Dim abuf() As String = basicClassnodeMUSIC.Params(0).DataRange.Split(",")
|
||||
For Each astr In abuf
|
||||
If astr.IndexOf(intbuf(1).ToString) = 0 Then
|
||||
Select Case basicClassnodeMUSIC.Params(2).DataType
|
||||
Case "List"
|
||||
Dim aintbuf() As String = basicClassnodeMUSIC.Params(2).DataRange.Split(",")
|
||||
For Each bbuf In aintbuf
|
||||
If bbuf.IndexOf(intbuf(0).ToString) = 0 Then Return True
|
||||
Next
|
||||
Return False
|
||||
|
||||
Case "Integer"
|
||||
Dim aintbuf() As String = basicClassnodeMUSIC.Params(2).DataRange.Split(",")
|
||||
Dim aup, adown As Integer
|
||||
If Not (Integer.TryParse(aintbuf(0), adown) And Integer.TryParse(aintbuf(1), aup)) Then Return False
|
||||
|
||||
If adown <= intbuf(2) And intbuf(2) <= aup Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
|
||||
End Select
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
Return False
|
||||
End If
|
||||
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
Next
|
||||
Return False
|
||||
End Function
|
||||
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.OK
|
||||
Me.Close()
|
||||
Return
|
||||
End Sub
|
||||
|
||||
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
|
||||
ComboBox3.Items.Clear()
|
||||
ComboBox3.Items.AddRange(gcMUSICdic.Item(ComboBox1.Text).ToArray)
|
||||
ComboBox3.SelectedIndex = 0
|
||||
End Sub
|
||||
|
||||
Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.SelectedIndexChanged
|
||||
ComboBox2.Items.Clear()
|
||||
ComboBox2.Items.AddRange(gMUSICdic.Item(ComboBox1.Text).ToArray)
|
||||
ComboBox2.SelectedIndex = 0
|
||||
End Sub
|
||||
|
||||
Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
|
||||
Dim strbuf() As String = ComboBox1.Text.Split(" ")
|
||||
Dim name As String = String.Empty
|
||||
Dim kval As String = String.Empty
|
||||
If strbuf.Length > 1 Then
|
||||
name = $"{name}{ strbuf(0).Trim},"
|
||||
kval = $"{kval}{ strbuf(1).Trim},"
|
||||
Else
|
||||
name = $"{name}{ strbuf(0).Trim},"
|
||||
kval = $"{kval}{ strbuf(0).Trim}"
|
||||
End If
|
||||
strbuf = ComboBox3.Text.Split(" ")
|
||||
If strbuf.Length > 1 Then
|
||||
name = $"{name}{ strbuf(0).Trim},"
|
||||
kval = $"{kval}{ strbuf(1).Trim},"
|
||||
|
||||
Else
|
||||
name = $"{name}{ strbuf(0).Trim},"
|
||||
kval = $"{kval}{ strbuf(0).Trim}"
|
||||
End If
|
||||
strbuf = ComboBox2.Text.Split(" ")
|
||||
If strbuf.Length > 1 Then
|
||||
name = $"{name}{ strbuf(0).Trim}"
|
||||
kval = $"{kval}{ strbuf(1).Trim}"
|
||||
Else
|
||||
name = $"{name}{ strbuf(0).Trim}"
|
||||
kval = $"{kval}{ strbuf(0).Trim}"
|
||||
|
||||
End If
|
||||
|
||||
TextBox1.Text = $"{kval }{vbCrLf }({name})"
|
||||
GmusicVal = name
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user