Это зависит от того, что вы в конечном итоге хотите сделать.
Вы можете, например, сделать это в VB6:
Dim b() As Byte
b = Text1.Text
Таким образом, размер массива b
будет изменен для хранения данных Unicode из "string"
, но тогда каждый символ будет разделен на два байта, что, вероятно, не то, что вам нужно. Этот трюк работает только с Byte
.
Вы также можете сделать это:
Dim b() As Byte
b = StrConv(Text1.Text, vbFromUnicode)
Каждая буква теперь будет занимать один байт, но расширенные символы исчезнут. Делайте это только в том случае, если текущая системная кодовая страница содержит необходимые символы.
Вы можете скопировать символы вручную в массив:
Dim s() As String, i As Long
ReDim s(1 To Len(Text1.Text))
For i = 1 To UBound(s)
s(i) = Mid$(Text1.Text, i, 1)
Next
Или вы можете вообще избежать создания массива, поскольку Mid
также служит оператором индексатора, который изменяет символ на месте, без копирования или выделения чего-либо:
Dim s As String
s = Text1.Text
Mid$(s, 3, 1) = "!"