Unicode в контролах VB6.0

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
S_V_S
проходил мимо
Сообщения: 1
Зарегистрирован: 2009-02-22 13:32:30

Unicode в контролах VB6.0

Непрочитанное сообщение S_V_S » 2009-02-22 15:32:51

Кто знает, посоветуйте!

Как вставить текст в кодировке Unicode в контрол VB?

Имеется файл source_unicode.txt, в котором содержится текст в кодировке Unicode.
Проблему считывания корректных символов в память VB я уже решил.
Убедился в том, что символы хранятся в памяти VB правильно.
Осталась проблема вывода этих символов на контрол формы VB6.0 (Listbox и Textbox).

Символов всего два: это a и o с умляутами.

На всякий случай приведу код, считывающий этот самый текст:

Код: Выделить всё

Dim S As String 
Dim F As Integer 
 
Private Sub Form_Load() 
 
S = LoadUnicodeFile(App.Path & "\source_unicode.txt", 1035) 
Text1.Text = S 
MsgBox AscW(Mid(Text1.Text, 1, 1)) 
MsgBox AscW(Mid(S, 1, 1)) 
 
End Sub 
 
Public Function LoadUnicodeFile(FileName As String, Optional LocaleID As Long = 1035) As String 
     
F = FreeFile 
Open FileName For Binary Access Read As F 
S = Space(LOF(F) - 2) 
Seek #F, 3 
Get #F, , S 
Close #F 
LoadUnicodeFile = StrConv(S, vbFromUnicode, LocaleID) 
     
End Function
Поставил в файле source_unicode.txt первым символом "а" с умляутом;
Первый Msgbox мне выдал "97" ("а"), а второй - "228" ("а" с умляутом)

То есть в памяти VB хранит как и надо, в Юникоде, а вот в Textbox вставляет простые буквы a и o, без умляутов, то есть преобразовывает их в ANSI.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Unicode в контролах VB6.0

Непрочитанное сообщение Alex Keda » 2009-02-27 0:15:20

венда - дело тёмное...
Убей их всех! Бог потом рассортирует...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Unicode в контролах VB6.0

Непрочитанное сообщение zg » 2009-03-01 22:28:52

S_V_S писал(а):То есть в памяти VB хранит как и надо, в Юникоде, а вот в Textbox вставляет простые буквы a и o, без умляутов, то есть преобразовывает их в ANSI.
угу, так и есть, он их конвертит почём зря
S_V_S писал(а):Осталась проблема вывода этих символов на контрол формы VB6.0 (Listbox и Textbox).
в плане? чего нужно в итоге?