PublicClass Form1
PrivateSub Button1_Click(sender AsObject, e As EventArgs)Handles Button1.Click
Dim m AsString= txt_WaferList.TextDim a()AsStringDim n AsInteger= m.Length-1Dim q()AsString
TextBox2.Text="#"'---------数组1---------For i =0To n
ReDim Preserve a(i)
a(i)= txt_WaferList.Text.Substring(i,1)Next'---------------------For i =0To n
If a(i)=1Then
TextBox2.Text&= i +1&"-"For b = i To n
If a(b)=1Then
i = b
ContinueForElseIf a(b)=0Then
TextBox2.Text&= b &","
i = b
ExitForEndIfNextEndIfIf i = n And a(n)=1Then
TextBox2.Text&= n +1ElseIf i = n And a(n)=0And TextBox2.Text.Length>1Then'----删除最后一个逗号----
TextBox2.Text= TextBox2.Text.Remove(TextBox2.Text.LastIndexOf(","),1)EndIfNext'---------数组2-------------
q = Split(TextBox2.Text,",")Dim s AsStringDim d AsStringFor i =0To q.Length-1If q(0).Length=1Then
s = q(0)ExitForEndIf
d = q(i).IndexOf("-")If q.Length=1And q(i).Length<5And q(i).Substring(q(i).Length-1,1)= q(i).Substring(q(i).Length-3,1)Then
q(i)= q(i).Remove(d, q(i).Length- d)
s = q(i)ExitForElseIf q.Length=1And q(i).Length>=5And q(i).Substring(q(i).Length-2,2)= q(i).Substring(1,2)Then
q(i)= q(i).Remove(d, q(i).Length- d)
s = q(i)ExitForEndIfIf q(i).Length<5And q(i).Substring(q(i).Length-1,1)= q(i).Substring(q(i).Length-3,1)Then
q(i)= q(i).Remove(d, q(i).Length- d)ElseIf q(i).Length=5And q(i).Substring(q(i).Length-2,2)= q(i).Substring(0,2)Then
q(i)= q(i).Remove(d, q(i).Length- d)ElseIf q(i).Length=6And q(i).Substring(q(i).Length-2,2)= q(i).Substring(1,2)Then
q(i)= q(i).Remove(d, q(i).Length- d)EndIf
s &= q(i)&","Next'---------------------------If s.Substring(s.Length-1,1)=","Then
s = s.Remove(s.LastIndexOf(","),1)
TextBox2.Text= s
Else
TextBox2.Text= s
EndIf
#Region "WaferList"'FormatWaferlist = ""'Dim i As Integer, firstflag As Boolean'If Len(waferlist) <> 25 Then' FormatWaferlist = "Error"' Exit Function'End If'For i = 1 To 25' Dim a = waferlist.Substring(i - 1, 1)' If waferlist.Substring(i - 1, 1) = "1" Then' If firstflag = False Then' FormatWaferlist += i & "-"' firstflag = True' Else' End If' Else' If firstflag = True Then' If CInt(FormatWaferlist.Substring(Len(FormatWaferlist) - 2, 1)) < i - 1 Then' FormatWaferlist += (i - 1) & ","' Else' FormatWaferlist = FormatWaferlist.Substring(0, Len(FormatWaferlist) - 1) + ","' End If' firstflag = False' Else' End If' End If'Next'If Strings.Right(FormatWaferlist, 1) = "-" Then' If InStr(FormatWaferlist, "25") = 0 Then' FormatWaferlist = FormatWaferlist.Substring(0, Len(FormatWaferlist)) + "25"' Else' FormatWaferlist = FormatWaferlist.Substring(0, Len(FormatWaferlist) - 1)' End If'ElseIf Strings.Right(FormatWaferlist, 1) = "," Then' FormatWaferlist = FormatWaferlist.Substring(0, Len(FormatWaferlist) - 1)'End If'------------排除相同数字---------'Dim str() As String'If InStr(FormatWaferlist, "-") <> 0 Then' str = Split(FormatWaferlist, ",")' For i = 0 To UBound(str)' If InStr(str(i), "-") <> 0 Then' Dim tmp() As String' tmp = Split(str(i), "-")' If tmp(0) = tmp(1) Then' str(i) = tmp(0)' End If' End If' Next' FormatWaferlist = ""' For i = 0 To UBound(str)' FormatWaferlist += str(i) & ","' Next'--------------除去最后一个逗号' FormatWaferlist = Left(FormatWaferlist, Len(FormatWaferlist) - 1)'End If''FormatWaferlist = "#" & FormatWaferlist'Console.Write(waferlist & "->" & FormatWaferlist)#End Region
EndSub'===================反向输出==================PrivateSub Button2_Click(sender AsObject, e As EventArgs)Handles Button2.Click
Dim a()AsStringDim b AsStringDim c AsIntegerDim d AsIntegerDim f AsString
b = txt_WaferList.Text
b = b.Substring(1, b.Length-1)
a = b.Split(NewChar() {","c})
TextBox2.Text=""If a(0)=1ThenFor i =0To a.Length-1If a(i).Length=3Then
c = a(i).Substring(2,1)- a(i).Substring(0,1)For g =0To c
TextBox2.Text&=1NextElseIf a(i).Length=4Then
c = a(i).Substring(2,2)- a(i).Substring(0,1)For g =0To c
TextBox2.Text&=1NextElseIf a(i).Length=5Then
c = a(i).Substring(3,2)- a(i).Substring(0,2)For g =0To c
TextBox2.Text&=1NextElseIf a(i).Length=1Then
TextBox2.Text&=1EndIfNextFor i =0To a.Length-2
f =""If a(i).Length=1And a(i +1).Length=3Then
d = a(i +1).Substring(0,1)- a(i).Substring(0,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(0,1), f)&1ElseIf a(i).Length=1And a(i +1).Length=4Then
d = a(i +1).Substring(0,1)- a(i).Substring(0,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(0,1), f)&1ElseIf a(i).Length=1And a(i +1).Length=5Then
d = a(i +1).Substring(0,2)- a(i).Substring(0,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(0,1), f)&1EndIfNextEndIfIf a(0).Remove(a(0).LastIndexOf("-"))=1Then'--------输出1--------------------For i =0To a.Length-1If a(i).Length=3Then
c = a(i).Substring(2,1)- a(i).Substring(0,1)For g =0To c
TextBox2.Text&=1NextElseIf a(i).Length=4Then
c = a(i).Substring(2,2)- a(i).Substring(0,1)For g =0To c
TextBox2.Text&=1NextElseIf a(i).Length=5Then
c = a(i).Substring(3,2)- a(i).Substring(0,2)For g =0To c
TextBox2.Text&=1NextElseIf a(i).Length=1Then
TextBox2.Text&=1EndIfNextFor i =0To a.Length-2
f =""If a(i).Length=3And a(i +1).Length=3Then
d = a(i +1).Substring(0,1)- a(i).Substring(2,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(2,1), f)ElseIf a(i).Length=3And a(i +1).Length=4Then
d = a(i +1).Substring(0,1)- a(i).Substring(2,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(2,1), f)ElseIf a(i).Length=3And a(i +1).Length=5Then
d = a(i +1).Substring(0,2)- a(i).Substring(2,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(2,1), f)ElseIf a(i).Length=4And a(i +1).Length=5Then
d = a(i +1).Substring(0,2)- a(i).Substring(2,2)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(2,2), f)ElseIf a(i).Length=4And a(i +1).Length=5Then
d = a(i +1).Substring(0,2)- a(i).Substring(2,2)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(2,2), f)ElseIf a(i).Length=3And a(i +1).Length=1Then
d = a(i +1).Substring(0,1)- a(i).Substring(2,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(2,1), f)ElseIf a(i).Length=3And a(i +1).Length=2Then
d = a(i +1).Substring(0,2)- a(i).Substring(2,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(2,1), f)&1ElseIf a(i).Length=4And a(i +1).Length=2Then
d = a(i +1).Substring(0,2)- a(i).Substring(2,2)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(2,2), f)&1ElseIf a(i).Length=1And a(i +1).Length=3Then
d = a(i +1).Substring(0,1)- a(i).Substring(0,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(0,1), f)&1ElseIf a(i).Length=1And a(i +1).Length=4Then
d = a(i +1).Substring(0,1)- a(i).Substring(0,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(0,1), f)&1ElseIf a(i).Length=1And a(i +1).Length=5Then
d = a(i +1).Substring(0,2)- a(i).Substring(0,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(0,1), f)&1EndIfNextEndIfIf a(0)=1ThenFor i =0To a.Length-1If a(i).Length=3Then
c = a(i).Substring(2,1)- a(i).Substring(0,1)For g =0To c
TextBox2.Text&=1NextElseIf a(i).Length=4Then
c = a(i).Substring(2,2)- a(i).Substring(0,1)For g =0To c
TextBox2.Text&=1NextElseIf a(i).Length=5Then
c = a(i).Substring(3,2)- a(i).Substring(0,2)For g =0To c
TextBox2.Text&=1NextElseIf a(i).Length=1Then
TextBox2.Text&=1EndIfNextFor i =0To a.Length-2
f =""If a(i).Length=1And a(i +1).Length=3Then
d = a(i +1).Substring(0,1)- a(i).Substring(0,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(0,1), f)&1ElseIf a(i).Length=1And a(i +1).Length=4Then
d = a(i +1).Substring(0,1)- a(i).Substring(0,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(0,1), f)&1ElseIf a(i).Length=1And a(i +1).Length=5Then
d = a(i +1).Substring(0,2)- a(i).Substring(0,1)For z =1To d -1
f &=0Next
TextBox2.Text= TextBox2.Text.Insert(a(i).Substring(0,1), f)&1EndIfNextEndIfEndSubEndClass