⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdl2.bas

📁 此为交通信号机
💻 BAS
📖 第 1 页 / 共 2 页
字号:
               Next
               For Mr = 33 To 40
                   DataMatrix(Mr, Mc) = Mid(BinString2, 41 - Mr, 1)
               Next
          Next Mc
                   
           For Mc = 21 To 40
               
                   String4 = Mid(instring(2), (Mc - 21) * 8 + 1, 4)
                   String2 = Mid(instring(2), (Mc - 21) * 8 + 5, 2)
                   ValString4 = StringToVal(String4)                       '转化为10进制数值
                   ValString2 = StringToVal(String2)
                   HexString4 = Hex(ValString4)
                   If Len(HexString4) <> 8 Then        '调整为数
                         Select Case Len(HexString4)
                            Case 1
                                HexString4 = "0000000" + HexString4
                            Case 2
                                HexString4 = "000000" + HexString4
                            Case 3
                                HexString4 = "00000" + HexString4
                            Case 4
                                HexString4 = "0000" + HexString4
                            Case 5
                                HexString4 = "000" + HexString4
                            Case 6
                                HexString4 = "00" + HexString4
                            Case 7
                                HexString4 = "0" + HexString4
                         End Select
                    End If
                   
                   HexString2 = Hex(ValString2)
                    If Len(HexString2) <> 2 Then          '调整为数
                          HexString2 = "0" + HexString2
                    End If
                   '调整字符排列顺序
                   HexString4Reverted = Mid(HexString4, 2, 1) + Mid(HexString4, 1, 1) + Mid(HexString4, 4, 1) + Mid(HexString4, 3, 1) + Mid(HexString4, 6, 1) + Mid(HexString4, 5, 1) + Mid(HexString4, 8, 1) + Mid(HexString4, 7, 1)
                   HexString2Reverted = Mid(HexString2, 2, 1) + Mid(HexString2, 1, 1)
                   
                   
                   BinString4 = HexStringToBinString(HexString4Reverted)      '转化为2进制数值
                   BinString2 = HexStringToBinString(HexString2Reverted)
               For Mr = 1 To 32                                           '填充数组
                                                                          
                   DataMatrix(Mr, Mc) = Mid(BinString4, 33 - Mr, 1)
               Next
               For Mr = 33 To 40
                   DataMatrix(Mr, Mc) = Mid(BinString2, 41 - Mr, 1)
               Next
          Next Mc
          
          
           '处理第二个方案表
           For Mc = 1 To 20
              
                   String4 = Mid(instring(3), (Mc - 1) * 8 + 1, 4)
                   String2 = Mid(instring(3), (Mc - 1) * 8 + 5, 2)
                   ValString4 = StringToVal(String4)                       '转化为10进制数值
                   ValString2 = StringToVal(String2)
                   HexString4 = Hex(ValString4)
                   If Len(HexString4) <> 8 Then        '调整位数
                         Select Case Len(HexString4)
                            Case 1
                                HexString4 = "0000000" + HexString4
                            Case 2
                                HexString4 = "000000" + HexString4
                            Case 3
                                HexString4 = "00000" + HexString4
                            Case 4
                                HexString4 = "0000" + HexString4
                            Case 5
                                HexString4 = "000" + HexString4
                            Case 6
                                HexString4 = "00" + HexString4
                            Case 7
                                HexString4 = "0" + HexString4
                         End Select
                    End If
                    
                   HexString2 = Hex(ValString2)
                    If Len(HexString2) <> 2 Then          '调整为数
                          HexString2 = "0" + HexString2
                    End If
                    
                   '调整字符排列顺序
                   HexString4Reverted = Mid(HexString4, 2, 1) + Mid(HexString4, 1, 1) + Mid(HexString4, 4, 1) + Mid(HexString4, 3, 1) + Mid(HexString4, 6, 1) + Mid(HexString4, 5, 1) + Mid(HexString4, 8, 1) + Mid(HexString4, 7, 1)
                   HexString2Reverted = Mid(HexString2, 2, 1) + Mid(HexString2, 1, 1)
                   
                   
                   BinString4 = HexStringToBinString(HexString4Reverted)      '转化为2进制数值
                   BinString2 = HexStringToBinString(HexString2Reverted)
               For Mr = 1 To 32                                           '填充数组
                                                                          
                   DataMatrix1(Mr, Mc) = Mid(BinString4, 33 - Mr, 1)
               Next
               For Mr = 33 To 40
                   DataMatrix1(Mr, Mc) = Mid(BinString2, 41 - Mr, 1)
               Next
          Next Mc
                   
           For Mc = 21 To 40
               
                   String4 = Mid(instring(4), (Mc - 21) * 8 + 1, 4)
                   String2 = Mid(instring(4), (Mc - 21) * 8 + 5, 2)
                   ValString4 = StringToVal(String4)                       '转化为10进制数值
                   ValString2 = StringToVal(String2)
                   HexString4 = Hex(ValString4)
                   If Len(HexString4) <> 8 Then        '调整为数
                          Select Case Len(HexString4)
                            Case 1
                                HexString4 = "0000000" + HexString4
                            Case 2
                                HexString4 = "000000" + HexString4
                            Case 3
                                HexString4 = "00000" + HexString4
                            Case 4
                                HexString4 = "0000" + HexString4
                            Case 5
                                HexString4 = "000" + HexString4
                            Case 6
                                HexString4 = "00" + HexString4
                            Case 7
                                HexString4 = "0" + HexString4
                         End Select
                    End If
                   
                   HexString2 = Hex(ValString2)
                    If Len(HexString2) <> 2 Then          '调整为数
                          HexString2 = "0" + HexString2
                    End If
                   '调整字符排列顺序
                   HexString4Reverted = Mid(HexString4, 2, 1) + Mid(HexString4, 1, 1) + Mid(HexString4, 4, 1) + Mid(HexString4, 3, 1) + Mid(HexString4, 6, 1) + Mid(HexString4, 5, 1) + Mid(HexString4, 8, 1) + Mid(HexString4, 7, 1)
                   HexString2Reverted = Mid(HexString2, 2, 1) + Mid(HexString2, 1, 1)
                   
                   
                   BinString4 = HexStringToBinString(HexString4Reverted)      '转化为2进制数值
                   BinString2 = HexStringToBinString(HexString2Reverted)
               For Mr = 1 To 32                                           '填充数组
                                                                          
                   DataMatrix1(Mr, Mc) = Mid(BinString4, 33 - Mr, 1)
               Next
               For Mr = 33 To 40
                   DataMatrix1(Mr, Mc) = Mid(BinString2, 41 - Mr, 1)
               Next
          Next Mc
          
          '两个方案表融合
          For Mr = 1 To 40
            For Mc = 1 To 40
                DataMatrix(Mr, Mc) = DataMatrix(Mr, Mc) + DataMatrix1(Mr, Mc)
                Select Case DataMatrix(Mr, Mc)
                    Case 0
                    Case 1
                        DataMatrix(Mr, Mc) = 2
                    Case 2
                        DataMatrix(Mr, Mc) = 1
                End Select
            Next
        Next

        MousePointer = 13
End Sub
Public Function HexStringToBinString(Hex As String) As String
         Dim i As Integer
         Dim Str1, Str2 As String
         HexStringToBinString = ""
         For i = 1 To Len(Hex)
              Str1 = Mid(Hex, i, 1)
              Select Case Str1
                Case "0"
                Str2 = "0000"
                Case "1"
                Str2 = "0001"
                 Case "2"
                Str2 = "0010"
                Case "3"
                Str2 = "0011"
                 Case "4"
                Str2 = "0100"
                Case "5"
                Str2 = "0101"
                 Case "6"
                Str2 = "0110"
                Case "7"
                Str2 = "0111"
                 Case "8"
                Str2 = "1000"
                Case "9"
                Str2 = "1001"
                 Case "A"
                Str2 = "1010"
                Case "B"
                Str2 = "1011"
                 Case "C"
                Str2 = "1100"
                Case "D"
                Str2 = "1101"
                 Case "E"
                Str2 = "1110"
                Case "F"
                Str2 = "1111"
                End Select
              HexStringToBinString = Str2 + HexStringToBinString
        Next i
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -