All pastes #415117 Raw Edit

Stuff

public text v1 · immutable
#415117 ·published 2007-03-29 15:19 UTC
rendered paste body
    Private Sub buildmotordescription()

        Dim firsthash As Integer = 0
        Dim secondhash As Integer = 0
        Dim prodnum As String
        Dim tempchar As String = ""
        Dim length As Integer
        Dim special As Boolean = False
        Dim description As String = ""
        Dim enter As String = vbCrLf
        prodnum = IntrolProductNumberTextBox.Text

        Try
            '****   CHECK LENGTH OF STRING ****
            length = Len(prodnum)
            If length < 18 Then
                MessageBox.Show("This product does not meet formatting standards to auto-generate a description - LENGTH")
                Exit Sub
            End If

            '****   FIND THE FIRST HASH ****
            tempchar = prodnum.IndexOf("-")
            firsthash = tempchar
            tempchar = 0
            '****   FIND THE SECOND HASH ****
            tempchar = prodnum.Substring(prodnum.IndexOf("-") + 1).IndexOf("-")
            secondhash = (tempchar + firsthash) + 1
            If firsthash = -1 Or secondhash = -1 Then
                MessageBox.Show("This product does not meet formatting standards to auto-generate a description - HASHES")
                Exit Sub
            End If
            length = Len(prodnum)
            If (length - secondhash) > 7 Then
                special = True
            End If
            ' **** POPULATE THE ARRAY WITH THE FIRST SECTION OF MOTOR DATA ****
            section(STACK_LENGTH) = prodnum.Substring(firsthash - 1, 1)
            section(FINISHED_GOOD) = prodnum.Substring(0, 1)
            section(SERVOLOC_SERIES) = prodnum.Substring(1, 2)
            If firsthash > 6 Then
                section(FRAME_SIZE) = prodnum.Substring(3, 3)
            Else
                section(FRAME_SIZE) = prodnum.Substring(3, 2)
            End If
            ' **** POPULATE THE ARRAY WITH THE SECOND SECTION OF MOTOR DATA ****
            section(MOUNTING_OPTION) = prodnum.Substring(secondhash - 1, 1)
            section(VOLTAGE) = prodnum.Substring(secondhash - 2, 1)
            If (secondhash - firsthash) > 5 Then
                section(MOTOR_KE) = prodnum.Substring(firsthash + 1, 3)
            Else
                section(MOTOR_KE) = prodnum.Substring(firsthash + 1, 2)
            End If
            ' **** POPULATE THE ARRAY WITH THE THIRD SECTION OF MOTOR DATA ****
            section(FEEDBACK) = prodnum.Substring(secondhash + 1, 4)
            section(TERMINATION) = prodnum.Substring(secondhash + 5, 1)
            section(BRAKE_OPTION) = prodnum.Substring(secondhash + 6, 1)
            If special = True Then
                section(OTHER_OPTIONS) = prodnum.Substring(secondhash + 7, 1)
            End If

            ' **** START ASSEMBLING DESCRIPTION ****
            ' **** CONVERT FRAME SIZE ****
            Select Case section(FRAME_SIZE)
                Case "50"
                    section(FRAME_SIZE) = "2"
                Case "80"
                    section(FRAME_SIZE) = "3"
                Case "97"
                    section(FRAME_SIZE) = "4"
                Case "130"
                    section(FRAME_SIZE) = "6"
                Case "180"
                    section(FRAME_SIZE) = "8"
                Case Else
                    MessageBox.Show("This product does not meet formatting standards to auto-generate a description - FRAME_SIZE")
                    Exit Sub
            End Select
            ' **** CONVERT STACK LENGTH ****
            If section(FRAME_SIZE) = 8 Then
                Select Case section(STACK_LENGTH)
                    Case "B"
                        section(STACK_LENGTH) = "1"
                    Case "C"
                        section(STACK_LENGTH) = "1.5"
                    Case "D"
                        section(STACK_LENGTH) = "1.75"
                    Case "G"
                        section(STACK_LENGTH) = "2"
                    Case "J"
                        section(STACK_LENGTH) = "4"
                    Case "K"
                        section(STACK_LENGTH) = "Large 8-inch special magnet"
                    Case Else
                        MessageBox.Show("This product does not meet formatting standards to auto-generate a description - STACK_LENGTH")
                        Exit Sub
                End Select
            Else
                Select Case section(STACK_LENGTH)
                    Case "A"
                        section(STACK_LENGTH) = "1"
                    Case "B"
                        section(STACK_LENGTH) = "2"
                    Case "C"
                        section(STACK_LENGTH) = "3"
                    Case "D"
                        section(STACK_LENGTH) = "4"
                        'Case "S"
                        '    section(STACK_LENGTH) = "Special"
                    Case Else
                        MessageBox.Show("This product does not meet formatting standards to auto-generate a description - STACK_LENGTH")
                        Exit Sub
                End Select
            End If
            ' **** CONVERT VOLTAGE ****
            Select Case section(VOLTAGE)
                Case "G"
                    section(VOLTAGE) = "24"
                Case "H"
                    section(VOLTAGE) = "48"
                Case "I"
                    section(VOLTAGE) = "115"
                Case "J"
                    section(VOLTAGE) = "230"
                Case "K"
                    section(VOLTAGE) = "450"
                    'Case "S"
                    '    section(VOLTAGE) = "Special"
                Case Else
                    MessageBox.Show("This product does not meet formatting standards to auto-generate a description - VOLTAGE")
                    Exit Sub
            End Select
            ' **** CONVERT MOUNTING OPTION ****
            Select Case section(MOUNTING_OPTION)
                Case "E"
                    section(MOUNTING_OPTION) = "English"
                Case "M"
                    section(MOUNTING_OPTION) = "Metric"
                    'Case "S"
                    '    section(MOUNTING_OPTION) = "Special"
                Case Else
                    MessageBox.Show("This product does not meet formatting standards to auto-generate a description - MOUNTING_OPTION")
                    Exit Sub
            End Select
            ' **** CONVERT FEEDBACK ****
            Select Case section(FEEDBACK)
                Case "1000"
                    section(FEEDBACK) = "1000 PPR communicating encoder feedback"
                Case "1024"
                    section(FEEDBACK) = "1024 PPR communicating encoder feedback"
                Case "2000"
                    section(FEEDBACK) = "2000 PPR communicating encoder feedback"
                Case "2048"
                    section(FEEDBACK) = "2048 PPR communicating encoder feedback"
                Case "HRES"
                    section(FEEDBACK) = "Hi-Gain Resolver"
                Case Else
                    MessageBox.Show("This product does not meet formatting standards to auto-generate a description - FEEDBACK")
                    Exit Sub
            End Select
            ' **** CONVERT TERMINATION ****
            Select Case section(TERMINATION)
                Case "M"
                    section(TERMINATION) = "MS connector"
                Case "N"
                    section(TERMINATION) = "NPT connector"
                Case "P"
                    section(TERMINATION) = "Pigtail connector"
                Case "S"
                    section(TERMINATION) = "Special connector"
                Case "1"
                    section(TERMINATION) = "18-inch single cord exit w/Conexall connector"
                Case "2"
                    section(TERMINATION) = "wire exit through back plate"
                Case "3"
                    section(TERMINATION) = "side front facing wire exit"
                Case "4"
                    section(TERMINATION) = "side rear facing wire exit"
                Case "E"
                    section(TERMINATION) = "Emerson MG style connector"
                Case "D"
                    section(TERMINATION) = "Emerson DXM"
                Case Else
                    MessageBox.Show("This product does not meet formatting standards to auto-generate a description - TERMINATION")
                    Exit Sub
            End Select
            ' **** CONVERT BRAKE_OPTION ****
            Select Case section(BRAKE_OPTION)
                Case "B"
                    section(BRAKE_OPTION) = "24"
                Case "N"
                    section(BRAKE_OPTION) = "No Brake"
                Case Else
                    MessageBox.Show("This product does not meet formatting standards to auto-generate a description - BRAKE_OPTION")
                    Exit Sub
            End Select
            ' ***** START BUILDING DESCRIPTION ****
            description = "Introl " & prodnum.Substring(1, length - 1) & ", " & section(FRAME_SIZE) & " inch brushless servo motor, " & section(STACK_LENGTH) & " stack length with " & section(FEEDBACK) & " and " & section(TERMINATION)
            If section(BRAKE_OPTION) = "24" Then
                description = description + " with " & section(BRAKE_OPTION) & "VDC spring applied brake."
            Else
                description = description + "."
            End If
            DescriptionTextBox.Text = description
        Catch ex As Exception
            System.Windows.Forms.MessageBox.Show(ex.Message)
        End Try


    End Sub