Страница: 1 |
Страница: 1 |
Вопрос: unicode в тектовом поле
Добавлено: 26.07.11 09:33
Автор вопроса: negremd5 | Web-сайт:
Всем ДД!
Как обнаружил что тектовые поля в VB не поддерживают юникода за место символов казахского языка выдает лишь ???
Может у кого то есть контролы unitext или библиотеку какую прикрутить чтоб можно было вводить текст на казахском
Нашел лишь часть кода для перекодировки....
Private Function WToA(ByVal st As String, Optional ByVal cpg As Long = -1, Optional lFlags As Long = 0) As String
Dim stBuffer As String
Dim cwch As Long
Dim pwz As Long
Dim pwzBuffer As Long
Dim lpUsedDefaultChar As Long
If cpg = -1 Then cpg = GetACP()
pwz = StrPtr(st)
cwch = WideCharToMultiByte(cpg, lFlags, pwz, -1, 0&, 0&, ByVal 0&, ByVal 0&)
stBuffer = String$(cwch + 1, vbNullChar)
pwzBuffer = StrPtr(stBuffer)
cwch = WideCharToMultiByte(cpg, lFlags, pwz, -1, pwzBuffer, Len(stBuffer), ByVal 0&, ByVal 0&)
WToA = Left$(stBuffer, cwch - 1)
End Function
Private Function AToW(ByVal st As String, Optional ByVal cpg As Long = -1, Optional lFlags As Long = 0) As String
Dim stBuffer As String
Dim cwch As Long
Dim pwz As Long
Dim pwzBuffer As Long
If cpg = -1 Then cpg = GetACP()
pwz = StrPtr(st)
cwch = MultiByteToWideChar(cpg, lFlags, pwz, -1, 0&, 0&)
stBuffer = String$(cwch + 1, vbNullChar)
pwzBuffer = StrPtr(stBuffer)
cwch = MultiByteToWideChar(cpg, lFlags, pwz, -1, pwzBuffer, Len(stBuffer))
AToW = Left$(stBuffer, cwch - 1)
End Function
Public Function DecodeUTF8(ByVal cnvUni As String) As String
If cnvUni = vbNullString Then Exit Function
DecodeUTF8 = AToW(WToA(cnvUni, CP_ACP), CP_UTF8)
End Function
Был бы очень признателен
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #1
Добавлено: 27.07.11 20:40
я что-то такое делал) http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=73063&lngWId=1
правда там кажись сабклассинг был не очень стабильный. Я потом для него другой класс писал http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=73572&lngWId=1
Номер ответа: 2
Автор ответа:
negremd5
Вопросов: 4
Ответов: 9
Web-сайт:
Профиль | | #2
Добавлено: 01.08.11 10:13
[IMG]http://content.foto.mail.ru/mail/negrem/_mydialog/i-298.jpg[/img]
Вроде бы другие языки берет пробывал турецкий и франц а вот казахский все никак...?? за место символов с элементами
Номер ответа: 3
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #3
Добавлено: 01.08.11 20:26
картинка не показывается -- "приватный доступ"
Номер ответа: 4
Автор ответа:
negremd5
Вопросов: 4
Ответов: 9
Web-сайт:
Профиль | | #4
Добавлено: 02.08.11 06:48
Пробывал казахский шрифт покставить как шрифт в текстовое поле в блокноте с 1251 пишит каз символы а ВБ нет
http://image.kz/v17b79a47c6b43343c3dd4074bf9583bb
http://image.kz/v02c9689ef8b03d390ec41d1348a7f1dd
http://image.kz/vcb5cb0a218e5c7b0522ac0738d09e278
Номер ответа: 5
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #5
Добавлено: 02.08.11 19:33
ну не юникодный он, весь этот ВБ. Надо извращаться.
Номер ответа: 6
Автор ответа:
negremd5
Вопросов: 4
Ответов: 9
Web-сайт:
Профиль | | #6
Добавлено: 05.08.11 15:30
Что то он казахский не берет пробывал через твой вариант
Уже и пробывал задавать font казахский текстовому твоему полю все равно ????
Может все таки есть вариант под казахский его изменить немного) Готов на платной основе преобрести
Номер ответа: 7
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #7
Добавлено: 09.08.11 23:28
а шрифт правильный стоит?
Номер ответа: 8
Автор ответа:
negremd5
Вопросов: 4
Ответов: 9
Web-сайт:
Профиль | | #8
Добавлено: 10.08.11 06:50
Вопрос это решен
Вставляет из буфера текст как надо в юникодах