Страницы: 1
RSS
Что за массив возвращает функция CtrConv
 
Доброго здоровья!
Функция имеет следующий синтаксис: StrConv(String,Conversion,[LocaleID])
Аргумент Conversion может принимать 8 констант, задающих тип преобразования строки. 3 из них нам наверно не нужны (vbWide, vbNarrow, vbHiragana). Еще 3(vbUpperCase, vbLowerCase, vbProperCase) мы редко используем т.к. есть другие функции (UCase, LCase). А вот что возвращает функция с константами vbUnicode vbFromUnicode мне хочется понять. Что возвращает функция с константой vbFromUnicode вроде разобрался. А вот что получается с константой vbUnicode вообще непонятно.
Код
Sub DDDfgg()
Dim str1$, XX() As Byte
    str1 = "Яна" & ChrW(700)
XX = StrConv(str1, vbUnicode)
    For i = LBound(XX) To UBound(XX)
        Debug.Print XX(i)
    Next
End Sub
С помощью этой процедуры мы получаем массив. На каждый символ строки str1 получаем 4 элемента массива XX. Предполагаю, что в этих 4 элементах зашифрован код символа Unicode, но как получить этот код символа из этих 4 элементов не пойму. Который день не могу ничего найти в интернете. В справке по функциям VBA тоже нет ответа. Вопрос наверно простой, но я никак не могу разобраться, что в этих 4 элементах массива зашифровано. Помогите пожалуйста разобраться. (Очень буду признателен, если подробно разъяснят, что получается при использовании констант vbUnicode vbFromUnicode)
 
Получается не массив, а набор байт, каждые 2  из которых код символа в UNICODE. Странно что
Цитата
Евгений Смирнов написал:
В справке по функциям VBA тоже нет ответа.
ибо
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/strconv-function?f1url=%3FappId%3DDev11IDEF1%26l%3Den-US%26k%3Dk(vblr6.chm1011063);k(TargetFrameworkMoniker-Office.Version%3Dv16)%26rd%3Dtrue совершенно четко написано.
vbUnicode 64 Converts the string to Unicode using the default code page of the system. (Not available on the Macintosh.)
vbFromUnicode 128 Converts the string from Unicode to the default code page of the system. (Not available on the Macintosh.)
По вопросам из тем форума, личку не читаю.
 
Цитата
Евгений Смирнов написал:
В справке по функциям VBA тоже нет ответа.
и не понял ответ из справки по функциям  VBA - это разные вещи
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх