hCORe писал(а):Близко к тому, чтобы заработало
Странный прикол с выводом строк: если пишешь
- Код: Выделить всё
Open "H:\a.bin" For Binary As #1
Put #1, , StrConv("Hello", vbUnicode)
Put #1, , "-- delimiter --"
Dim s As String
s = StrConv("Hello", vbUnicode)
Put #1, , s
Close
То в a.bin будет (hex):
08 00 0A 00 48 00 65 00 6C 00 6C 00 6F 00 2D 2D
20 64 65 6C 69 6D 69 74 72 20 2D 2D 48 00 65
00 6C 00 6C 00 6F 00
Жирным выделена сама строка "Hello" в Unicode, подчеркнут заголовок Unicode-строки.
То есть, если пишем
- Код: Выделить всё
Put #1, , StrConv("Hello", vbUnicode)
- то получаем полноценный Юникод, а если
- Код: Выделить всё
Dim s As String
s = StrConv("Hello", vbUnicode)
- то полноценный ANSI с Unicode-кодированием "внутри".
Забавно... Из-за этого и глючила запись строк. Теперь, вроде, поправил. Как только что-нибудь заработает - сразу выложу рабочую версию. ОК?
Только при чём тут строки?
Открываем Object Browser, видим:
Function StrConv(String, Conversion As VbStrConv, [LocaleID As Long])
Обращаем внимание, что она возвращает Variant.
Т.е. в первом случае ты пишешь в файл вариант, а во втором - строку. Никаких чудес.




