vb.net waferlist转换2

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值