| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Содержимое TextBox в Unicode? |
| Автор: ndec 4.2.2007, 22:22 |
| Помогите пожалуйста сохранить содержимое TextBox в кодировке Unicode. Какими способами можно это осуществить? Спасибо. |
| Автор: bom 4.2.2007, 23:20 |
| С помощью API: MultiByteToWideChar WideCharToMultiByte |
| Автор: ndec 5.2.2007, 00:14 | ||
Т.е закинуть
в модуль. Потом создать текстовую переменную и приравнять ?? Можно пример пожалуйста? |
| Автор: Akina 5.2.2007, 10:07 |
В описании данной функции в MSDN есть пример ее использования |
| Автор: ndec 6.2.2007, 14:03 | ||
Если Вас не затруднит, могли бы Вы скинуть эту информацию сюда? |
| Автор: ndec 9.2.2007, 02:17 |
| Может кто-нибудь помочь и показать пример с использованием MultiByteToWideChar ? Мне нужно чтобы TextBox сохранял информацию в кодировке Unicode. заранее благодарю. |
| Автор: W4FhLF 9.2.2007, 17:13 |
| Да вообще-то в ВБ касательно строк кроме unicode ничего и нет |
| Автор: bom 9.2.2007, 22:33 |
Действительно, ndec, можно заюзать и StrConv |
| Автор: IcyJet 9.2.2007, 23:41 | ||
Да StrConv так сказать "зе бэст вэй!"
Vb изначально хранит строку в Unicode При передачестрок в Win32Api переводит строку в ANSI (грубо говоря) Когда мы юзаем StrConv с параметром vbUnicode а потом шлем строку в Win32Api то Win32Api получает место ANSI - Unicode Думаю что при записи файлов в vb выходит тоже самое (преоброзование в ANSI) Используем StrConv и все должно быть Окей! З.Ы. Есле не прав поправте |
| Автор: W4FhLF 10.2.2007, 07:45 |
Если быть точнее - BSTR. |
| Автор: IcyJet 10.2.2007, 13:37 |
| Да немного не точно вышло Более забавнее как vb преобразовеет строки в ANSI и обратно - все из-за того что дядюшка Билл решил зделать vb совместимым с win9x в котором как такового Unicod'а нет. |
| Автор: IcyJet 12.2.2007, 12:22 |
Я это и имел ввиду - просто действительно большинство Unicode-функций не делают ничего (в win9x). А вопще что бы облегчить себе жизнь, лутчше пользоваться ANSI-входом, все таки, согласитесь, заморочек, помимо Unicod'а, в Win32Api хватает. З.ы. Статья полезная, мне понравилась |
| Автор: suvorr 3.12.2012, 08:31 |
| Ничего не понял.. Исходный вопрос был "как сохранить"?.. И что куда в кого преобразовывать.. Вот код: 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 3.12.2012, 15:15 |
| Все, понял.. Надо Put #1,1,StrConv(txt,vbUnicode)...TextBox1=StrConv(txt,vbFromUnicode) |