Страница: 1 |
Удалось вручную подобрать параметры так, что можно с помощью одной строки переводить из юникода в байтовый массив. Вот, на ваш суд. Или я изобрёл велосипед? 'Подготовка 'Копирование
Вообще-то велосипед... Только мне одно не понятно - почему Len(VB_String), а не LenB(VB_String)? > LenB - в первый раз слышу. Len вроде нормальную длину выдаёт. Проверь сам если не веришь. Dim ASCIIZ_String() as Byte ASCIIZ_String() = StrConv(VB_String, vbFromUnicode) я всегда так делаю +) неправдали просто? в ВБ есть такая вещь как менеджер строк .. а LenB подсчёт строки как я понимаю для два байта на символ строки до бишь УНИКОД ... но так как есть этот менеджер строк то скорей всегоавтоматом конвертится и считается всё првильно.... вот например ... можно написать dim a as long a=3 msgbox a и всё нормально и многии так делают .... но некоторые всё таки чтоб соблюсти правила не привыкать к такому НЕ ЛОГИЧНОМУ синтаксису... пишут так msgbox str уже лучше но это будет ВАРИАНТ строка... и самый правильный вид это msgbox str$ вот эта функция возвращает тип STRING ... ну вот... пофилудил немного... может кому.. и интерестно Страница: 1 |
Вопрос: Метод тыка
Добавлено: 10.05.04 03:05
Автор вопроса: @CyRax PTR | Web-сайт:
Dim VB_String as String
Dim ASCIIZ_String() as Byte
Redim ASCIIZ_String(Len(VB_String))
CopyMemory ByVal VarPtr(ASCIIZ_String(0)), ByVal StrPtr(StrConv(VB_String, vbFromUnicode)), Len(VB_String)
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 10.05.04 03:12
Номер ответа: 2
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #2
Добавлено: 10.05.04 03:18
Номер ответа: 3
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #3
Добавлено: 10.05.04 09:44