![]() |
|
Модераторы: Akina |
![]()
|
|
| ndec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.2.2007 Репутация: нет Всего: нет |
Помогите пожалуйста сохранить содержимое TextBox в кодировке Unicode. Какими способами можно это осуществить? Спасибо.
|
|||
|
||||
| bom |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 329 Регистрация: 22.2.2004 Где: Казахстан, Алматы Репутация: 4 Всего: 6 |
С помощью API:
MultiByteToWideChar WideCharToMultiByte |
|||
|
||||
| ndec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.2.2007 Репутация: нет Всего: нет |
Т.е закинуть
в модуль. Потом создать текстовую переменную и приравнять ?? Можно пример пожалуйста? Это сообщение отредактировал(а) ndec - 5.2.2007, 00:30 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
В описании данной функции в MSDN есть пример ее использования -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ndec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.2.2007 Репутация: нет Всего: нет |
||||
|
||||
| ndec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.2.2007 Репутация: нет Всего: нет |
Может кто-нибудь помочь и показать пример с использованием MultiByteToWideChar ? Мне нужно чтобы TextBox сохранял информацию в кодировке Unicode.
заранее благодарю. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
Да вообще-то в ВБ касательно строк кроме unicode ничего и нет
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| bom |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 329 Регистрация: 22.2.2004 Где: Казахстан, Алматы Репутация: 4 Всего: 6 |
||||
|
||||
| IcyJet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Да StrConv так сказать "зе бэст вэй!"
Vb изначально хранит строку в Unicode При передачестрок в Win32Api переводит строку в ANSI (грубо говоря) Когда мы юзаем StrConv с параметром vbUnicode а потом шлем строку в Win32Api то Win32Api получает место ANSI - Unicode Думаю что при записи файлов в vb выходит тоже самое (преоброзование в ANSI) Используем StrConv и все должно быть Окей! З.Ы. Есле не прав поправте |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| IcyJet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Да немного не точно вышло
Более забавнее как vb преобразовеет строки в ANSI и обратно - все из-за того что дядюшка Билл решил зделать vb совместимым с win9x в котором как такового Unicod'а нет. |
|||
|
||||
| BorisVorontsov |
|
||||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: 5 Всего: 10 |
Это самый неудачный способ из всех существующих. Читать здесь ( всем ): http://www.vbstreets.ru/VB/Articles/66364.aspx Что значит нет?
Это сообщение отредактировал(а) BorisVorontsov - 12.2.2007, 02:56 -------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
||||
|
|||||
| IcyJet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Я это и имел ввиду - просто действительно большинство Unicode-функций не делают ничего (в win9x). А вопще что бы облегчить себе жизнь, лутчше пользоваться ANSI-входом, все таки, согласитесь, заморочек, помимо Unicod'а, в Win32Api хватает. З.ы. Статья полезная, мне понравилась |
|||
|
||||
| suvorr |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 28.1.2006 Где: SPb Репутация: нет Всего: нет |
Ничего не понял.. Исходный вопрос был "как сохранить"?.. И что куда в кого преобразовывать.. Вот код:
Dim txt As String * 100: txt = "xxxx" + ChrW(178): TextBox1 = txt: Open "unicode.txt" For Binary As 1: Put #1, 1, txt: Get #1, 1, txt: TextBox1 = txt: Первая строка сама по себе работает.. А после второй все плохо.. Надо полагать или Put или Get "умничают".. Аналогично при использовании Print - Line Input и пр.. Что, конечно, уже не удивительно.. И как сделать хорошо?.. Спасибо.. |
|||
|
||||
| suvorr |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 28.1.2006 Где: SPb Репутация: нет Всего: нет |
Все, понял.. Надо Put #1,1,StrConv(txt,vbUnicode)...TextBox1=StrConv(txt,vbFromUnicode)
|
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |