Public Class Form1
Dim r As String
Dim f As String
Private Sub chaifen(q As String)
Dim a As String = q.Substring(q.LastIndexOf("-"))
Dim b As String = q.Remove(q.LastIndexOf("-"))
Dim c As String = a.Substring(1, Len(a) - 1)
'----b前c后
r = b
f = c
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim s As String
s = TextBox1.Text.Substring(1, TextBox1.Text.Length - 1)
TextBox2.Text = ""
'----将输入值转化为数组---
Dim d() As String = s.Split(",")
'-------------------------
'--------第一个字符串
If d(0).Length > 2 And d.Length >= 2 Then
chaifen(d(0))
For z = 0 To r - 2
TextBox2.Text &= 0
Next
For z = 0 To f - r
TextBox2.Text &= 1
Next
ElseIf d(0).Length <= 2 And d.Length >= 2 Then
For z = 0 To CInt(d(0)) - 2
TextBox2.Text &= 0
Next
TextBox2.Text &= 1
ElseIf d(0).Length <= 2 And d.Length = 1 Then
For z = 0 To CInt(d(0)) - 2
TextBox2.Text &= 0
Next
TextBox2.Text &= 1
For z = 0 To 25 - CInt(d(0)) - 2
TextBox2.Text &= 0
Next
Exit Sub
ElseIf d(0).Length > 2 And d.Length = 1 Then
chaifen(d(0))
For z = 0 To CInt(r) - 2
TextBox2.Text &= 0
Next
For z = 0 To f - r
TextBox2.Text &= 1
Next
For z = 0 To 25 - f - 1
TextBox2.Text &= 0
Next
Exit Sub
End If
'---------------------------
For i = 1 To d.Length - 2
'--------{2-3,5-6}---------
If d(i).Length > 2 And d.Length > 2 And d(i - 1).Length > 2 Then
chaifen(d(i - 1))
Dim v As String
v = f
chaifen(d(i))
For z = 0 To r - v - 2
TextBox2.Text &= 0
Next
For z = 0 To f - r
TextBox2.Text &= 1
Next
'--------{3,5-6}
ElseIf d(i).Length > 2 And d.Length > 2 And d(i - 1).Length <= 2 Then
chaifen(d(i))
For z = 0 To r - d(i - 1) - 2
TextBox2.Text &= 0
Next
For z = 0 To f - r
TextBox2.Text &= 1
Next
'-------{2-3,5}------
ElseIf d(i).Length <= 2 And d.Length > 2 And d(i - 1).Length > 2 Then
chaifen(d(i - 1))
For z = 0 To CInt(d(i)) - f - 2
TextBox2.Text &= 0
Next
TextBox2.Text &= 1
'-----------{2,5}
ElseIf d(i).Length <= 2 And d.Length > 2 And d(i - 1).Length <= 2 Then
For z = 0 To CInt(d(i)) - CInt(d(i - 1)) - 2
TextBox2.Text &= 0
Next
TextBox2.Text &= 1
End If
Next
'----------数组最后一个字符串
'-------{2-5,7-8}--------
If d(d.Length - 1).Length > 2 And d.Length > 1 And d(d.Length - 2).Length > 2 Then
chaifen(d(d.Length - 2))
Dim u = f
chaifen(d(d.Length - 1))
For z = 0 To r - u - 1
TextBox2.Text &= 0
Next
For z = 0 To f - r
TextBox2.Text &= 1
Next
For z = 0 To 25 - f - 1
TextBox2.Text &= 0
Next
'-------------{2,8-10}
ElseIf d(d.Length - 1).Length > 2 And d.Length > 1 And d(d.Length - 2).Length <= 2 Then
chaifen(d(d.Length - 1))
For z = 0 To r - d(d.Length - 2)
TextBox2.Text &= 0
Next
For z = 0 To f - r
TextBox2.Text &= 1
Next
For z = 0 To 25 - f - 1
TextBox2.Text &= 0
Next
'-----{5,10}
ElseIf d(d.Length - 1).Length <= 2 And d.Length > 1 And d(d.Length - 2).Length <= 2 Then
For z = 0 To d(d.Length - 1) - d(d.Length - 2) - 2
TextBox2.Text &= 0
Next
TextBox2.Text &= 1
For z = 0 To 25 - d(d.Length - 1) - 1
TextBox2.Text &= 0
Next
'---------{5-6,8}
ElseIf d(d.Length - 1).Length <= 2 And d.Length > 1 And d(d.Length - 2).Length > 2 Then
chaifen(d(d.Length - 2))
For z = 0 To CInt(d(d.Length - 1)) - f - 2
TextBox2.Text &= 0
Next
TextBox2.Text &= 1
For z = 0 To 25 - CInt(d(d.Length - 1)) - 1
TextBox2.Text &= 0
Next
End If
'--------------
End Sub
End Class
09-02
455
11-30
448
11-23
2545
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交