Member 14563686 Ответов: 2

Как добавить пробел между двумя символами в VB.NET для светодиодного дисплея ?


AB должен отображаться как A B ( пробел должен состоять только из 1 или двух столбцов )
это для стандартного матричного шрифта 5*7.
Пожалуйста, помогите мне также для многострочного кодирования

Что я уже пробовал:

'This class is used for mapping characters into BitArrays.
'Nothing too complicated going on here.
'Characters are based on a 5X7 Matrix Display.

Public Class MatrixCharacterMapper

    Private _maps() As BitArray

    Public Sub New()

    End Sub

    Public Sub New(ByVal text As String)
        GenerateCharacterMaps(text)
    End Sub

    Default Public Property CharacterMap(ByVal index As Long) As BitArray

        Get

            If index < 0 Or index > _maps.Length - 1 Then
                Return Nothing
            End If

            Return _maps(index)

        End Get

        Set(ByVal map As BitArray)

            If index < 0 Or index > _maps.Length - 1 Then
                Return
            End If

            _maps(index) = map

        End Set

    End Property

    Public ReadOnly Property CharacterMaps() As BitArray()

        Get

            If _maps Is Nothing Then
                Return Nothing
            End If

            Return _maps.Clone()

        End Get

    End Property

    'we generate our bit arrays, feel free to modify these or create your own
    Public Sub GenerateCharacterMaps(ByVal text As String)

        If text.Length = 0 Then
            Return
        End If

        ReDim _maps(text.Length - 1)

        For i As Integer = 0 To text.Length - 1

            'build this char into its relative bit array
            _maps(i) = BuildCharacterMap(text.Chars(i))

        Next



    End Sub












    'this is just cake
    '35 bits/char 5X7 matrix display
    Private Function BuildCharacterMap(ByVal character As Char) As BitArray

        Select Case character

            'Lower Case Characters
            Case Is = "a"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0,
                                             0, 0, 0, 0, 0,
                                             0, 1, 1, 1, 0,
                                             0, 0, 0, 0, 1,
                                             0, 1, 1, 1, 1,
                                             1, 0, 0, 0, 1,
                                             0, 1, 1, 1, 1})

            Case Is = "b"
                Return BitsOn(New Integer() {1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 1, 1, 0, _
                                             1, 1, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 0})

            Case Is = "c"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0,
                                             0, 0, 0, 0, 0,
                                             0, 1, 1, 1, 0,
                                             1, 0, 0, 0, 0,
                                             1, 0, 0, 0, 0,
                                             1, 0, 0, 0, 1,
                                             0, 1, 1, 1, 0})

            Case Is = "d"
                Return BitsOn(New Integer() {0, 0, 0, 0, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 1, 1, 0, 1, _
                                             1, 0, 0, 1, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 1})

            Case Is = "e"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 1, _
                                             1, 0, 0, 0, 0, _
                                             0, 1, 1, 1, 0})

            Case Is = "f"
                Return BitsOn(New Integer() {0, 0, 1, 1, 0, _
                                             0, 1, 0, 0, 1, _
                                             0, 1, 0, 0, 0, _
                                             1, 1, 1, 1, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0})

            Case Is = "g"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 1, 1, 1, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "h"
                Return BitsOn(New Integer() {1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 1, 1, 0, _
                                             1, 1, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1})

            Case Is = "i"
                Return BitsOn(New Integer() {0, 0, 1, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 1, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 1, 1, 0})

            Case Is = "j"
                Return BitsOn(New Integer() {0, 0, 0, 1, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 1, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             1, 0, 0, 1, 0, _
                                             0, 1, 1, 0, 0})

            Case Is = "k"
                Return BitsOn(New Integer() {1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 1, 0, _
                                             1, 0, 1, 0, 0, _
                                             1, 1, 0, 0, 0, _
                                             1, 0, 1, 0, 0, _
                                             1, 0, 0, 1, 0})

            Case Is = "l"
                Return BitsOn(New Integer() {0, 1, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 1, 1, 0})

            Case Is = "m"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 1, 0, 1, 0, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 1, 0, 1})

            Case Is = "n"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 0, 1, 1, 0, _
                                             1, 1, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1})

            Case Is = "o"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "p"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0})

            Case Is = "q"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 1, 1, 0, 1, _
                                             1, 0, 0, 1, 1, _
                                             0, 1, 1, 1, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 0, 1})

            Case Is = "r"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 0, 1, 1, 0, _
                                             1, 1, 0, 0, 1, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0})

            Case Is = "s"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 0, _
                                             0, 1, 1, 1, 0, _
                                             0, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 0})

            Case Is = "t"
                Return BitsOn(New Integer() {0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             1, 1, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 1, _
                                             0, 0, 1, 1, 0})

            Case Is = "u"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 1, 1, _
                                             0, 1, 1, 0, 1})

            Case Is = "v"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 0, 1, 0, _
                                             0, 0, 1, 0, 0})

            Case Is = "w"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             0, 1, 0, 1, 0})

            Case Is = "x"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 1, 0, _
                                             1, 0, 0, 0, 1})

            Case Is = "y"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "z"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             1, 1, 1, 1, 1})


                'Upper Case Characters
            Case Is = "A"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1})

            Case Is = "B"
                Return BitsOn(New Integer() {1, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 0})

            Case Is = "C"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "D"
                Return BitsOn(New Integer() {1, 1, 1, 0, 0, _
                                             1, 0, 0, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 1, 0, _
                                             1, 1, 1, 0, 0})

            Case Is = "E"
                Return BitsOn(New Integer() {1, 1, 1, 1, 1, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 1})

            Case Is = "F"
                Return BitsOn(New Integer() {1, 1, 1, 1, 1, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0})

            Case Is = "G"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 1, 1, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 1})

            Case Is = "H"
                Return BitsOn(New Integer() {1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1})

            Case Is = "I"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 1, 1, 0})

            Case Is = "J"
                Return BitsOn(New Integer() {0, 0, 1, 1, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             1, 0, 0, 1, 0, _
                                             0, 1, 1, 0, 0})

            Case Is = "K"
                Return BitsOn(New Integer() {1, 0, 0, 0, 1, _
                                             1, 0, 0, 1, 0, _
                                             1, 0, 1, 0, 0, _
                                             1, 1, 0, 0, 0, _
                                             1, 0, 1, 0, 0, _
                                             1, 0, 0, 1, 0, _
                                             1, 0, 0, 0, 1})

            Case Is = "L"
                Return BitsOn(New Integer() {1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 1})

            Case Is = "M"
                Return BitsOn(New Integer() {1, 0, 0, 0, 1, _
                                             1, 1, 0, 1, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1})

            Case Is = "N"
                Return BitsOn(New Integer() {1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 1, 0, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 0, 1, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1})

            Case Is = "O"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "P"
                Return BitsOn(New Integer() {1, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0})

            Case Is = "Q"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 0, 1, 0, _
                                             0, 1, 1, 0, 1})

            Case Is = "R"
                Return BitsOn(New Integer() {1, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 0, _
                                             1, 0, 1, 0, 0, _
                                             1, 0, 0, 1, 0, _
                                             1, 0, 0, 0, 1})

            Case Is = "S"
                Return BitsOn(New Integer() {0, 1, 1, 1, 1, _
                                             1, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             0, 1, 1, 1, 0, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 0, 1, _
                                             1, 1, 1, 1, 0})

            Case Is = "T"
                Return BitsOn(New Integer() {1, 1, 1, 1, 1, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0})

            Case Is = "U"
                Return BitsOn(New Integer() {1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "V"
                Return BitsOn(New Integer() {1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 0, 1, 0, _
                                             0, 0, 1, 0, 0})

            Case Is = "W"
                Return BitsOn(New Integer() {1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             0, 1, 0, 1, 0})

            Case Is = "X"
                Return BitsOn(New Integer() {1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1})

            Case Is = "Y"
                Return BitsOn(New Integer() {1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0})

            Case Is = "Z"
                Return BitsOn(New Integer() {1, 1, 1, 1, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 1})


                'Numbers
            Case Is = "0"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 1, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 1, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "1"
                Return BitsOn(New Integer() {0, 0, 1, 0, 0, _
                                             0, 1, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 1, 1, 0})

            Case Is = "2"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             1, 1, 1, 1, 1})

            Case Is = "3"
                Return BitsOn(New Integer() {1, 1, 1, 1, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "4"
                Return BitsOn(New Integer() {0, 0, 0, 1, 0, _
                                             0, 0, 1, 1, 0, _
                                             0, 1, 0, 1, 0, _
                                             1, 1, 1, 1, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0})

            Case Is = "5"
                Return BitsOn(New Integer() {1, 1, 1, 1, 1, _
                                             1, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "6"
                Return BitsOn(New Integer() {0, 0, 1, 1, 0, _
                                             0, 1, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "7"
                Return BitsOn(New Integer() {1, 1, 1, 1, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0})

            Case Is = "8"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "9"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             1, 0, 0, 0, 1, _
                                             0, 1, 1, 1, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 1, 1, 0, 0})


                'Shift + 1-9
            Case Is = "!"
                Return BitsOn(New Integer() {0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 1, 0, 0})

            Case Is = "@"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 1, 1, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 1, 0, 1, _
                                             0, 1, 1, 1, 0})

            Case Is = "#"
                Return BitsOn(New Integer() {0, 1, 0, 1, 0, _
                                             0, 1, 0, 1, 0, _
                                             1, 1, 1, 1, 1, _
                                             0, 1, 0, 1, 0, _
                                             1, 1, 1, 1, 1, _
                                             0, 1, 0, 1, 0, _
                                             0, 1, 0, 1, 0})
            Case Is = "$"
                Return BitsOn(New Integer() {0, 0, 1, 0, 0, _
                                             0, 1, 1, 1, 1, _
                                             1, 0, 1, 0, 0, _
                                             0, 1, 1, 1, 0, _
                                             0, 0, 1, 0, 1, _
                                             1, 1, 1, 1, 0, _
                                             0, 0, 1, 0, 0})

            Case Is = "%"
                Return BitsOn(New Integer() {1, 1, 0, 0, 0, _
                                             1, 1, 0, 0, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             1, 0, 0, 1, 1, _
                                             0, 0, 0, 1, 1})

            Case Is = "^"
                Return BitsOn(New Integer() {0, 0, 1, 0, 0, _
                                             0, 1, 0, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0})

            Case Is = "&"
                Return BitsOn(New Integer() {0, 1, 1, 0, 0, _
                                             1, 0, 0, 1, 0, _
                                             1, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             1, 0, 1, 0, 1, _
                                             1, 0, 0, 1, 0, _
                                             0, 1, 1, 0, 1})

            Case Is = "*"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             1, 0, 1, 0, 1, _
                                             0, 1, 1, 1, 0, _
                                             1, 0, 1, 0, 1, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 0, 0})

            Case Is = "("
                Return BitsOn(New Integer() {0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 1, 0})

            Case Is = ")"
                Return BitsOn(New Integer() {0, 1, 0, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0})


                'Misc
            Case Is = " "
                Return New BitArray(35, False)

            Case Is = Chr(34)
                Return BitsOn(New Integer() {0, 1, 0, 1, 0, _
                                             0, 1, 0, 1, 0, _
                                             0, 1, 0, 1, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0})

            Case Is = "'"
                Return BitsOn(New Integer() {0, 0, 1, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0})


            Case Is = ","
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 1, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0})

            Case Is = "-"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 1, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0})

            Case Is = "_"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 1})

            Case Is = "."
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 1, 1, 0, 0, _
                                             0, 1, 1, 0, 0})

            Case Is = "/"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0})

            Case Is = "\"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 0, 0})

            Case Is = "="
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 1, _
                                             0, 0, 0, 0, 0, _
                                             1, 1, 1, 1, 1, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 0, 0, 0})

            Case Is = "+"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             1, 1, 1, 1, 1, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 0, 0})

            Case Is = ":"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 1, 1, 0, 0, _
                                             0, 1, 1, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 1, 1, 0, 0, _
                                             0, 1, 1, 0, 0, _
                                             0, 0, 0, 0, 0})

            Case Is = ";"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 1, 1, 0, 0, _
                                             0, 1, 1, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 1, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0})


            Case Is = "<"
                Return BitsOn(New Integer() {0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             1, 0, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 1, 0})

            Case Is = ">"
                Return BitsOn(New Integer() {0, 1, 0, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0})

            Case Is = "?"
                Return BitsOn(New Integer() {0, 1, 1, 1, 0, _
                                             1, 0, 0, 0, 1, _
                                             0, 0, 0, 0, 1, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 0, 0, _
                                             0, 0, 1, 0, 0})

            Case Is = "["
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 1, 1, 1, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 1, 1, 1, 0})

            Case Is = "]"
                Return BitsOn(New Integer() {0, 0, 0, 0, 0, _
                                             0, 1, 1, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 1, 1, 1, 0})

            Case Is = "{"
                Return BitsOn(New Integer() {0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 1, 0})

            Case Is = "}"
                Return BitsOn(New Integer() {0, 1, 0, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 0, 1, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 1, 0, 0, 0})

            Case Is = "|"
                Return BitsOn(New Integer() {0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0, _
                                             0, 0, 1, 0, 0})

            Case Else
                Return New BitArray(48, False)

        End Select


    End Function

    'just a helper method, turns the corresponding bits on or in the 1 state
    Private Function BitsOn(ByVal values() As Integer) As BitArray

        Dim bits As New BitArray(values.Length, False)

        For i As Integer = 0 To bits.Length - 1

            If values(i) = 1 Then
                bits(i) = True

            End If
            Dim charspace As Double = " "

            If values.Length > 5 Then
                _maps(j) = BuildCharacterMap(values(i) + charspace)
            End If
            Next


        Return bits

    End Function

End Class

2 Ответов

Рейтинг:
1

OriginalGriff

Цитата:
AB должен отображаться как A B ( пробел должен состоять только из 1 или двух столбцов )

1) Вы должны изменить свою функцию GenerateCharacterMaps, чтобы включить дополнительный интервал, или лучше BuildCharacterMap, чтобы добавить дополнительные столбцы к данным набора символов. Но - и не глядя внимательно на ваш код, я не могу точно сказать, где или что - вам, вероятно, придется изменить совсем немного другого кода, если он полагается на определенную ширину (и аппаратное обеспечение будет иметь фиксированное количество светодиодных "пикселей" для игры). См. пункт 3 ниже.

Цитата:
Пожалуйста, помогите мне также для многострочного кодирования

2) Мы не можем - мы понятия не имеем, что вам нужно сделать для multiline, так как мы понятия не имеем, насколько "велик" ваш светодиодный дисплей: если он имеет высоту 7 светодиодов, то это делает multiline очень, очень отличным от того, чтобы делать то же самое с дисплеем, который имеет высоту 100 светодиодов. Вам нужно сесть и подумать о том, чего именно вы пытаетесь достичь и каковы ограничения дисплея, прежде чем вы сможете даже начать работать над этим.

3) И... Мне очень жаль, но этот код ужасен. Как разработчик, который провел большую часть своей рабочей жизни, работая с низкоуровневыми дисплеями и генерируя, отображая и изменяя в результате свои собственные наборы символов, я должен сказать, что это очень неприятный код, и, вероятно, его следует выбросить.
Никогда не вводите жесткие наборы символов в свой код: храните их в двоичном файле вне вашего приложения и считывайте их - таким образом, вы можете предоставить редактор наборов символов, который позволяет изменять или добавлять символы. И храните его таким образом, чтобы его можно было легко перенести непосредственно на фактический дисплей - который вряд ли будет использовать 32-битные целые числа для хранения каждого пикселя, один бит-это гораздо более нормально. Это также облегчает плавную прокрутку дисплея как по горизонтали, так и по вертикали, а с небольшими светодиодными дисплеями это вообще очень и очень необходимо.
Я настоятельно рекомендую вам сесть и заранее решить, что именно вы пытаетесь сделать, поскольку решения, принятые на ранней стадии, окажут глубокое влияние на сложность программного обеспечения позже. И код, который вы показали, не показывает большого планирования вообще.
Я говорю это не для того, чтобы быть противным - я пытаюсь спасти тебя от многих душевных страданий в будущем. Я много раз делал это на нескольких разных языках, и я уже сталкивался с этими проблемами множество раз, поэтому я знаю, что произойдет позже, если вы не будете тщательно планировать с самого начала.


Рейтинг:
0

Member 14563686

Большое спасибо за предложение. На самом деле я получил этот код из какого-то источника на github.
Я пытался выполнить то же самое, и я использую этот код только для моей ссылки.
Главная проблема, с которой я столкнулся, заключается именно в этом...
1] я не могу добавить столбец в BuildCharacterMap, так как я добавляю coloumn его изменяющуюся форму символа.

2]

Public Sub GenerateCharacterMaps(ByVal text As String)

        If text.Length = 0 Then
            Return
        End If

        ReDim _maps(text.Length - 1)

        For i As Integer = 0 To text.Length - 1

            'build this char into its relative bit array
            _maps(i) = BuildCharacterMap(text.Chars(i))

        Next



    End Sub


Я думаю , что код должен быть изменен, но я не могу этого сделать.

3] Код для построения символа в другом файле
For i As Integer = 0 To _mapper.CharacterMaps.Length - 1

            'create a new bitmap in the size of the bulbs
            bmp = New Bitmap(_bulbSize * 5, _bulbSize * 7)

            g = Graphics.FromImage(bmp)

            If _antiAlias = True Then
                g.SmoothingMode = SmoothingMode.AntiAlias
            End If

            bulbBrush.Color = MyBase.BackColor
            g.FillRectangle(bulbBrush, -1, -1, bmp.Width + 1, bmp.Height + 1)

            y = 0
            enumerator = 0

            'start creating the character
            For col As Integer = 0 To 6

                x = 0

                For row As Integer = 0 To 4

                    g.DrawEllipse(bulbPen, x, y, _bulbSize, _bulbSize)

                    'is this bulb on or off?
                    If _mapper.CharacterMap(i)(enumerator) = False Then

                        'bulb is off, check for negative display
                        If _negativeDisplay = False Then
                            bulbBrush.Color = _bulbOffColor
                        Else
                            bulbBrush.Color = _bulbOnColor
                        End If

                    Else

                        'bulb is on, check for negative display
                        If _negativeDisplay = False Then
                            bulbBrush.Color = _bulbOnColor
                        Else
                            bulbBrush.Color = _bulbOffColor
                        End If

                    End If

                    'fill the bulb
                    g.FillEllipse(bulbBrush, x, y, _bulbSize, _bulbSize)
                    x += _bulbSize

                    enumerator += 1

                Next

                y += _bulbSize

            Next

            g.Dispose()


Это корневой файл для построения персонажа.



Пожалуйста, сэр, помогите мне.


Maciej Los

Это не ответ. Пожалуйста, удалите его, чтобы избежать голосования ДОУ.
Если вы добились прогресса и ваш код был изменен, вы должны улучшить свой вопрос.