Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 05.04.2007
Сообщений: 55

Кодировка UNICODE и Windows 2000

27.01.2009, 10:58. Показов 2145. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем
Проблема следующая
Работал я в WIN98 Англиийская версия , но с русской поддержкой на VB6
Программы писал на армянском языке, проблем ни каких
Перешел на Win2000 стали возникать проблемы в частности с listbox и combobox т,е при выполнении команды additem записываются квадратики
кто-нибудь талкивался с такой проблей, буду очень признателен всем советам
С уважением...
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2009, 10:58
Ответы с готовыми решениями:

Проблема с RichTextBox под Windows 2000 или Windows XP
Есть код , который прекрасно работает под Windows 98 . На Picture1 приклеевается RichTextBox и отпечатывается Picture1 . ...

Хочу сделать программу невидимой для Windows XP или Windows 2000 или Windows NT
Ya hochu sdelat` programu nevidimuyu na Windows XP ili Windows 2000 ili Windows NT Nashel funkciu dlya Windows 9x, amne nuzno dlya vise...

Проблема после установки Windows 2000 !!!
Может мне помочь в следующей проблеме: Обновил на своем PC OS (Windows98 на Windows2000), установил заново VB, MSDN, и т.д. Запускаю...

13
0 / 0 / 0
Регистрация: 13.10.2008
Сообщений: 4
27.01.2009, 19:47
Если у тебя все на Unicode, то помоему нужно использовать объекты от Ms Forms 2.0 (textbox, labels, listbox)
0
0 / 0 / 0
Регистрация: 25.06.2008
Сообщений: 129
27.01.2009, 22:26
A mozhet Armyanskii Yazik ne ustanovlen na W2K???
0
0 / 0 / 0
Регистрация: 05.04.2007
Сообщений: 55
28.01.2009, 09:15  [ТС]
Спасибо всем пока ничего не получается буду ломать голову дальше
0
0 / 0 / 0
Регистрация: 13.10.2008
Сообщений: 4
28.01.2009, 12:52
Попробуй функцию StrConv
подробности смотри в:
http://www.microsoft.com/rus/msdn/activ/article/library/kolesov/cp9910/strvb-12.htm
0
0 / 0 / 0
Регистрация: 02.02.2009
Сообщений: 30
02.02.2009, 10:24
Привожу пример:
Visual Basic
1
2
3
4
5
6
7
8
Dim oldName() As Byte
dim useName() as Byte
Dim n As Integer
 
oldName = StrConv('arial cyr' & Chr$(0), vbFromUnicode)
  For n = 0 To UBound(oldName)
    useNaME(n) = oldName(n)
  Next n
0
0 / 0 / 0
Регистрация: 05.04.2007
Сообщений: 55
02.02.2009, 11:09  [ТС]
Спасибо все ответившим
Проблема решилась при помощи программы TTFCONVERT
С уважением
0
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 21
18.04.2013, 12:41
Всем привет. Ссылка давно устарела. У меня аналогичная проблема. Win 7. скрипт VBS должен сначала открыть, а затем вписать в имеющийся Word - файл определённый текст с национальными символами. Всё получилось, только вставленные символы -кракозябрами отражаются. Помогите, плиз.
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
18.04.2013, 15:34
Надежнее всего составить массив из Unicode кодов символов и переводить его в строку с помощью функции ChrW.
0
Заблокирован
18.04.2013, 16:33
Винда на английском, VB на русском, а сама программа на армянском
0
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 21
19.04.2013, 04:44
Цитата Сообщение от inv.DS Посмотреть сообщение
Винда на английском, VB на русском, а сама программа на армянском
Ага.Шинель английский, Мундир французский, Табак японский, Правитель омский.
А если без шуток: Винда англоязычная, но может кодировка системы какая-то другая - не знаю где смотреть. VB не знаю на каком, код редактирую в FAR-е, выбираю кодировку UTF-8, в Far-e отображается нормально. Сохраняю. VBS-файл запускается по умолчанию - cscript'ом.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Set obfWord = CreateObject("Word.Application")
obfWord.Caption = "first_doc"
obfWord.Visible = True  'или False, если файл будем сохранять
Set objfile = obfWord.Documents.Open("c:\temp\national_template.doc")
Set objBook = objFile.Bookmarks("Dept").Range
objBook.Text = "someDeptInNlsText" ' (к примеру)
Set objBook = objFile.Bookmarks("Emp").Range
objBook.Text = "someEmpInNlsText" 
...
'И так дцать закладок.
'В конце можно пробовал добавить
objFile.SaveAs("d:\result.doc")
objFile.Close
obfWord.Quit
'Сохраняет , но результат тот же
На сайте майкрософта прочёл, что ворд открывает в Unicode только. И что должна быть по умолчанию быть установлена раскладка клавиатуры в нац. кодировке. Сделал. В качестве Unicode решил юзать UTF-8.
Потом нашёл в инете что по VB можно смотреть справку в самом Word.Посмотрел. Переделал так:
Set objfile = obfWord.Documents.Open("c:\temp\national _template.doc",,,,,,,,,,,msoEncodingUTF8 )
Результат нулевой. Ещё на форумах видел, что используют команду setchar, пробовал вставить, но cscript тогда даёт ошибку.
Отсюда предположение, что открываю-то правильно, а в doc-файл пишу неправильно.
Прошу не судить строго, т.к первый раз код на vbs пишу, а прошу помочь.
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
19.04.2013, 12:47
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Попробуйте
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Set obfWord = CreateObject("Word.Application")
obfWord.Caption = "first_doc"
obfWord.Visible = True  'или False, если файл будем сохранять
Set objfile = obfWord.Documents.Open("c:\temp\national_template.doc")
 
src = "902 960 953 945 963 964 959 962 32 954 955 941 966 964 951 962 44 32 954 " & _
    "945 952 940 961 953 959 962 32 957 959 953 954 959 954 973 961 951 962 46 13 " & _
    "1053 1077 32 1087 1086 1081 1084 1072 1085 32 45 45 32 1085 1077 32 1074 1086 1088"
 
src = Split(src) 'теперь это массив
For i = LBound(src) To UBound(src)
    src(i) = ChrW(src(i))
Next
objFile.Bookmarks("Dept").Range.Text = Join(src, "")
В документ будет вставлен текст на греческом и русском (взят с http://ellinika.gnu.org.ua/ru/paroimies.html ).
Чтобы получить коды символов, можно в Ворде выделить текст и запустить макрос
Visual Basic
1
2
3
4
5
6
7
Sub bb()
Dim i&, s$
s = Selection.Text
For i = 1 To Len(s)
    Debug.Print AscW(Mid$(s, i, 1)) & " ";
Next
End Sub
Коды будут выведены в окно Immediate, откуда их можно скопипастить в текст программы.
0
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 21
22.04.2013, 11:10
Спасибо, результат уже другой. Чтобы он стал положительным, осталось получить результаты скрипта vb в word. А то исполняю, а кодов не вижу, может не так что делаю, но ещё не вечер...
0
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 21
23.04.2013, 22:48
Получилось! спасибо за совет. Ещё бы оформить это в виде функции, чтоб по несолько раз код не повторять)... акладок ведь много. Хотя кто-то скажет -это так банально , вперед к RTFM?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2013, 22:48
Помогаю со студенческими работами здесь

Проблемы с Data Environment под Windows 2000
Народ , помогите ! :) Пришлось поставить Windows 2000 Professional SP2 , и под ним Visual Studio (Basic) 6.0 (SP3 , но пробовал и SP4 -...

MS LPK Tools не хочет работать под Windows 2000
Может кто-то подскажет??? Для создания LPK ключей, MS LPK Tools напрочь не хочет работать под Windows 2000, крашитса и все. Под Windows...

Проект на 'Packade & Daployment Wizard' не инсталируется на Windows 2000
Привет всем! У меня установочный комплект программы VB6 выполнен на его родном 'Packade & Daployment Wizard'. OC на компьютере: -...

Кодировка unicode
Добрый вечер! Подскажите,пожалуйста, как перевести юникод символы (\u043d, \u041f итд) на нормальный язык(в символы) ?

Кодировка Unicode
Доброго времени суток! Насколько я понял это кодирование символов то есть для каждого символа свой код в шестнадцатеричном виде. Если я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru