vb.net waferlist转换

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim m As String = txt_WaferList.Text
        Dim a() As String
        Dim n As Integer = m.Length - 1
        Dim q() As String
        TextBox2.Text = "#"

        '---------数组1---------
        For i = 0 To n
            ReDim Preserve a(i)
            a(i) = txt_WaferList.Text.Substring(i, 1)
        Next
        '---------------------

        For i = 0 To n
            If a(i) = 1 Then
                TextBox2.Text &= i + 1 & "-"
                For b = i To n
                    If a(b) = 1 Then
                        i = b
                        Continue For

                    ElseIf a(b) = 0 Then
                        TextBox2.Text &= b & ","
                        i = b
                        Exit For

                    End If

                Next

            End If

            If i = n And a(n) = 1 Then
                TextBox2.Text &= n + 1
            ElseIf i = n And a(n) = 0 And TextBox2.Text.Length > 1 Then
                '----删除最后一个逗号----
                TextBox2.Text = TextBox2.Text.Remove(TextBox2.Text.LastIndexOf(","), 1)

            End If
        Next

        '---------数组2-------------
        q = Split(TextBox2.Text, ",")
        Dim s As String
        Dim d As String

        For i = 0 To q.Length - 1

            If q(0).Length = 1 Then
                s = q(0)
                Exit For
            End If

            d = q(i).IndexOf("-")

            If q.Length = 1 And q(i).Length < 5 And 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)
                Exit For

            ElseIf q.Length = 1 And q(i).Length >= 5 And 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)
                Exit For


            End If

            If q(i).Length < 5 And 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 = 5 And 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 = 6 And q(i).Substring(q(i).Length - 2, 2) = q(i).Substring(1, 2) Then
                q(i) = q(i).Remove(d, q(i).Length - d)

            End If

            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
        End If



#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

    End Sub
    '===================反向输出==================
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim a() As String
        Dim b As String
        Dim c As Integer
        Dim d As Integer
        Dim f As String
        b = txt_WaferList.Text
        b = b.Substring(1, b.Length - 1)
        a = b.Split(New Char() {","c})
        TextBox2.Text = ""

        If a(0) = 1 Then
            For i = 0 To a.Length - 1
                If a(i).Length = 3 Then
                    c = a(i).Substring(2, 1) - a(i).Substring(0, 1)

                    For g = 0 To c
                        TextBox2.Text &= 1
                    Next

                ElseIf a(i).Length = 4 Then
                    c = a(i).Substring(2, 2) - a(i).Substring(0, 1)
                    For g = 0 To c
                        TextBox2.Text &= 1
                    Next

                ElseIf a(i).Length = 5 Then
                    c = a(i).Substring(3, 2) - a(i).Substring(0, 2)
                    For g = 0 To c
                        TextBox2.Text &= 1
                    Next

                ElseIf a(i).Length = 1 Then
                    TextBox2.Text &= 1

                End If

            Next

            For i = 0 To a.Length - 2
                f = ""
                If a(i).Length = 1 And a(i + 1).Length = 3 Then
                    d = a(i + 1).Substring(0, 1) - a(i).Substring(0, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(0, 1), f) & 1

                ElseIf a(i).Length = 1 And a(i + 1).Length = 4 Then
                    d = a(i + 1).Substring(0, 1) - a(i).Substring(0, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(0, 1), f) & 1

                ElseIf a(i).Length = 1 And a(i + 1).Length = 5 Then
                    d = a(i + 1).Substring(0, 2) - a(i).Substring(0, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(0, 1), f) & 1

                End If

            Next

        End If


        If a(0).Remove(a(0).LastIndexOf("-")) = 1 Then
            '--------输出1--------------------
            For i = 0 To a.Length - 1
                If a(i).Length = 3 Then
                    c = a(i).Substring(2, 1) - a(i).Substring(0, 1)

                    For g = 0 To c
                        TextBox2.Text &= 1
                    Next

                ElseIf a(i).Length = 4 Then
                    c = a(i).Substring(2, 2) - a(i).Substring(0, 1)
                    For g = 0 To c
                        TextBox2.Text &= 1
                    Next

                ElseIf a(i).Length = 5 Then
                    c = a(i).Substring(3, 2) - a(i).Substring(0, 2)
                    For g = 0 To c
                        TextBox2.Text &= 1
                    Next

                ElseIf a(i).Length = 1 Then
                    TextBox2.Text &= 1

                End If
            Next

            For i = 0 To a.Length - 2
                f = ""
                If a(i).Length = 3 And a(i + 1).Length = 3 Then
                    d = a(i + 1).Substring(0, 1) - a(i).Substring(2, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(2, 1), f)

                ElseIf a(i).Length = 3 And a(i + 1).Length = 4 Then
                    d = a(i + 1).Substring(0, 1) - a(i).Substring(2, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(2, 1), f)

                ElseIf a(i).Length = 3 And a(i + 1).Length = 5 Then
                    d = a(i + 1).Substring(0, 2) - a(i).Substring(2, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(2, 1), f)

                ElseIf a(i).Length = 4 And a(i + 1).Length = 5 Then
                    d = a(i + 1).Substring(0, 2) - a(i).Substring(2, 2)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(2, 2), f)

                ElseIf a(i).Length = 4 And a(i + 1).Length = 5 Then
                    d = a(i + 1).Substring(0, 2) - a(i).Substring(2, 2)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(2, 2), f)

                ElseIf a(i).Length = 3 And a(i + 1).Length = 1 Then
                    d = a(i + 1).Substring(0, 1) - a(i).Substring(2, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(2, 1), f)

                ElseIf a(i).Length = 3 And a(i + 1).Length = 2 Then
                    d = a(i + 1).Substring(0, 2) - a(i).Substring(2, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(2, 1), f) & 1

                ElseIf a(i).Length = 4 And a(i + 1).Length = 2 Then
                    d = a(i + 1).Substring(0, 2) - a(i).Substring(2, 2)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(2, 2), f) & 1

                ElseIf a(i).Length = 1 And a(i + 1).Length = 3 Then
                    d = a(i + 1).Substring(0, 1) - a(i).Substring(0, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(0, 1), f) & 1

                ElseIf a(i).Length = 1 And a(i + 1).Length = 4 Then
                    d = a(i + 1).Substring(0, 1) - a(i).Substring(0, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(0, 1), f) & 1

                ElseIf a(i).Length = 1 And a(i + 1).Length = 5 Then
                    d = a(i + 1).Substring(0, 2) - a(i).Substring(0, 1)
                    For z = 1 To d - 1
                        f &= 0
                    Next
                    TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(0, 1), f) & 1

                End If

            Next
        End If


        If a(0) = 1 Then
            For i = 0 To a.Length - 1
                If a(i).Length = 3 Then
                    c = a(i).Substring(2, 1) - a(i).Substring(0, 1)

                    For g = 0 To c
                        TextBox2.Text &= 1
                    Next

                ElseIf a(i).Length = 4 Then
                    c = a(i).Substring(2, 2) - a(i).Substring(0, 1)
                    For g = 0 To c
                        TextBox2.Text &= 1
                    Next

                ElseIf a(i).Length = 5 Then
                    c = a(i).Substring(3, 2) - a(i).Substring(0, 2)
                    For g = 0 To c
                        TextBox2.Text &= 1
                    Next

                ElseIf a(i).Length = 1 Then
                    TextBox2.Text &= 1

                End If

            Next

            For i = 0 To a.Length - 2
                f = ""
                If a(i).Length = 1 And a(i + 1).Length = 3 Then
                d = a(i + 1).Substring(0, 1) - a(i).Substring(0, 1)
                For z = 1 To d - 1
                    f &= 0
                Next
                TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(0, 1), f) & 1

            ElseIf a(i).Length = 1 And a(i + 1).Length = 4 Then
                d = a(i + 1).Substring(0, 1) - a(i).Substring(0, 1)
                For z = 1 To d - 1
                    f &= 0
                Next
                TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(0, 1), f) & 1

            ElseIf a(i).Length = 1 And a(i + 1).Length = 5 Then
                d = a(i + 1).Substring(0, 2) - a(i).Substring(0, 1)
                For z = 1 To d - 1
                    f &= 0
                Next
                TextBox2.Text = TextBox2.Text.Insert(a(i).Substring(0, 1), f) & 1

            End If

            Next

        End If


    End Sub
End Class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值