Коды символов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Алексей.Ф.
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 09.09.2004 (Чт) 20:55
Откуда: г. Ставрополь

Сообщение Алексей.Ф. » 24.12.2006 (Вс) 12:50

tyomitch писал(а):Объясняем ещё раз.
Если приложить нам тестовый пример, и не полагаться на нашу телепатию, то дело сразу же пойдёт гораздо быстрее.

Я же привёл в предыдущем своём посте код, который работает с одними шрифтами и не работает с другими. Вот и пример. Или приложить полностью программу?

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 24.12.2006 (Вс) 13:02

Функция StrConv
StrConv(String,Conversion,[LocaleID])
Функция StrConv служит для преобразования всех символов строки в соответствии с заданным видом преобразования.В версии VB/VB 6 добавлены дополнительные возможности

Возвращаемое значение
Возвращает значение типа Variant (String), содержащее преобразованную строку

Параметры
Функция содержит именованные аргументы String Обязательный аргумент - строковое выражение, которое следует преобразовать
Conversion Обязательный аргумент - значение типа Integer, равное сумме констант, указывающих тип преобразования, которое следует выполнить. Смотри ниже
LocaleID Необязательный аргумент - локальный идентификатор, если отличается отличается от системного идентификатора. По умолчанию - локальный идентификатор

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.12.2006 (Вс) 13:53

Алексей.Ф. писал(а):
tyomitch писал(а):Объясняем ещё раз.
Если приложить нам тестовый пример, и не полагаться на нашу телепатию, то дело сразу же пойдёт гораздо быстрее.

Я же привёл в предыдущем своём посте код, который работает с одними шрифтами и не работает с другими. Вот и пример. Или приложить полностью программу?

Да. С каким-нибудь конкретным текстом заодно.
Изображение

Алексей.Ф.
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 09.09.2004 (Чт) 20:55
Откуда: г. Ставрополь

Сообщение Алексей.Ф. » 25.12.2006 (Пн) 12:08

Alexanbar писал(а):
Функция StrConv
StrConv(String,Conversion,[LocaleID])
Функция StrConv служит для преобразования всех символов строки в соответствии с заданным видом преобразования.В версии VB/VB 6 добавлены дополнительные возможности

Возвращаемое значение
Возвращает значение типа Variant (String), содержащее преобразованную строку

Параметры
Функция содержит именованные аргументы String Обязательный аргумент - строковое выражение, которое следует преобразовать
Conversion Обязательный аргумент - значение типа Integer, равное сумме констант, указывающих тип преобразования, которое следует выполнить. Смотри ниже
LocaleID Необязательный аргумент - локальный идентификатор, если отличается отличается от системного идентификатора. По умолчанию - локальный идентификатор

Функция StrConv тоже ничего не решает.

Алексей.Ф.
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 09.09.2004 (Чт) 20:55
Откуда: г. Ставрополь

Сообщение Алексей.Ф. » 25.12.2006 (Пн) 12:13

tyomitch писал(а):Да. С каким-нибудь конкретным текстом заодно.

Вот часть текста, набранного шрифтом, с которым ничего не получается. Естественно, в коде программы, который я привёл, коды символов, которые нужно заменить, другие.
Вложения
часть текста.rar
текст
(2.41 Кб) Скачиваний: 46
Последний раз редактировалось Алексей.Ф. 25.12.2006 (Пн) 12:27, всего редактировалось 1 раз.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2006 (Пн) 12:19

Охх, ну прям как дитё малое... Засунь документ в архив.
Лучший способ понять что-то самому — объяснить это другому.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.12.2006 (Пн) 12:43

Алексей.Ф. писал(а):Вот часть текста, набранного шрифтом, с которым ничего не получается. Естественно, в коде программы, который я привёл, коды символов, которые нужно заменить, другие.


Кстати, а почему Word не может сохранить данный текст в текстовом файле? Такое впечатление что здесь текст содержит нескольких кодовых страниц... То бишь часть букв набрана в одной кодовой странице, а часть другой.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2006 (Пн) 12:50

Код: Выделить всё
Dim r() As Byte
    r = StrConv(ThisDocument.Words(21).Text, vbUnicode)

Делишь массив на куски по 4 байта, конвертируешь каждый в long - вот тебе и юникод символа.
Лучший способ понять что-то самому — объяснить это другому.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 25.12.2006 (Пн) 12:54

4 байта?
Lasciate ogni speranza, voi ch'entrate.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2006 (Пн) 13:02

Кстати, а почему Word не может сохранить данный текст в текстовом файле?
Потому что не-латинская часть ASCII-набора у тебя русская, а не греческая, вот он и не может греческий юникод привести к не-греческому ASCII.
Лучший способ понять что-то самому — объяснить это другому.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2006 (Пн) 13:07

alibek писал(а):4 байта?
4 байта. Может, конечно, преобразование более другое, чем просто CopyMemory (хотя навряд ли), но 4 байта железно. Я специально выбрал 21е слово, в нем есть повторяющиеся символы, 4х-байтный паттерн четко прослеживается.
Лучший способ понять что-то самому — объяснить это другому.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 25.12.2006 (Пн) 13:50

alibek писал(а):4 байта?

Конечно, 4 байта, раз Antonariy сконвертировал строку (уже в Юникоде) в "двойной Юникод". Только естественно, что эти 4 байта, приведённые к Long, никакому Юникод-коду соответствовать не будут.

А откуда вообще у Antonariy взялся ThisDocument? Вроде как у автора вопроса весь текст лежит в RichTextBox-е.
Изображение

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.12.2006 (Пн) 13:54

Ладно, а как это дело без Word-a ему одолеть - то бишь в RTF это дело перегоняется - текст он отображает, но в свойстве Text имеем явно не уникод...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.12.2006 (Пн) 13:56

tyomitch писал(а):А откуда вообще у Antonariy взялся ThisDocument? Вроде как у автора вопроса весь текст лежит в RichTextBox-е.


Автор дал пример текста в DOC-файле... Видимо оттуда.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2006 (Пн) 14:32

Автор дал пример текста в DOC-файле... Видимо оттуда.
Угу.
Только естественно, что эти 4 байта, приведённые к Long, никакому Юникод-коду соответствовать не будут.
Конечно не будут, бес попутал :)

Первые два байта из этих 4х соответствуют младшим байтам (как правильно сказать?) юникода, вторые - старшим. Вот пример на 3м символе этого 21го слова. Ему соответствуют байты 177, 0, 3, 0. Переводим 3 и 0 в хекс, получаем 03; 177 и 0 соответственно B1. Код символа - U+03B1.
Лучший способ понять что-то самому — объяснить это другому.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.12.2006 (Пн) 14:39

Вернемся к нашим баранам :lol:

Значит надо:

Имея на входе греческий DOC-файл (именно DOC - другого формата дать не могут?) получить строку содержащую его текст. Я правильно понимаю?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.12.2006 (Пн) 15:02

Antonariy писал(а):Первые два байта из этих 4х соответствуют младшим байтам (как правильно сказать?) юникода, вторые - старшим. Вот пример на 3м символе этого 21го слова. Ему соответствуют байты 177, 0, 3, 0. Переводим 3 и 0 в хекс, получаем 03; 177 и 0 соответственно B1. Код символа - U+03B1.


Э... А зачем это, если в Words и без того юникод?
То бишь запустив:

Код: Выделить всё
Private Sub Form_Load()
    Dim ss As String, m() As Byte, i As Long, s As String
   
    Dim wa As New Word.Application
    wa.Documents.Open "C:\Temp\T\Word.doc", True
   
    s = wa.Documents(1).Words(21).Text
    wa.Documents(1).Close False
    wa.Quit
       
    m = s
    For i = 0 To UBound(m) Step 2
        Debug.Print m(i + 1), m(i), Hex(m(i))
    Next i
End Sub


Имеем на выходе:

Код: Выделить всё
31            0            0
3             186          BA
3             177          B1
3             196          C4
3             177          B1
3             195          C3
3             186          BA
3             181          B5
31            123          7B
3             177          B1
3             195          C3
3             196          C4
3             191          BF
3             194          C2
0             32           20
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2006 (Пн) 15:08

С ричем возможно два решения - работать через Clipboard или через TextRTF.

Как быть с первым не знаю - через ctrl+c из него ничего в буфер не копируется. Если это как-то получится, то возможно в буфере окажется юникод, а не вопросительные знаки. Однажды делал конвертер шаблонов из Word Perfect в обычный ворд. В перфекте таблица сиволов отличается от виндовских, ТТ-шрифты прилагались соответствующие. ВБА, понятное дело, воспринял русский текст шаблонов как вопросительные знаки, но копирование этого текста в буфер и извлечение оттуда приводило к перекодировке в ASCII со сбитой таблицей русских символов. Подровнять осталось делом техники.

Что касается TextRTF, помучаем опять же 21е слово :twisted:
Вот как выглядит его rtf-код:
Код: Выделить всё
{\rtf1\ansi\ansicpg1251\deff0{\fonttbl{\f0\froman\fprq2\fcharset204 Palatino Linotype;}{\f1\froman\fprq2\fcharset161 Palatino Linotype Greek;}{\f2\fnil\fcharset0 Palatino Linotype;}}
\viewkind4\uc1\pard\lang1049\f0\fs22\u7936?\f1\'ea\'e1\'f4\'e1\'f3\'ea\'e5\u8059?\'e1\'f3\'f4\'ef\'f2 \f2\fs17
\par }
Собственно коды символов начинаются после lang1049\f0\fs22\. Очевидно, что коды распознанных символов даны в ASCII, а нераспознанных в юникоде. Простейший способ отобрать такие символы - разбить строку разделителем \ и проверять обрезки через like "u*?". А потом пройтись реплейсом по TextRTF заменяя найденное на подходящие ASCII-коды.
Последний раз редактировалось Antonariy 25.12.2006 (Пн) 15:16, всего редактировалось 1 раз.
Лучший способ понять что-то самому — объяснить это другому.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 25.12.2006 (Пн) 15:16

Antonariy писал(а):
Только естественно, что эти 4 байта, приведённые к Long, никакому Юникод-коду соответствовать не будут.
Конечно не будут, бес попутал :)

Первые два байта из этих 4х соответствуют младшим байтам (как правильно сказать?) юникода, вторые - старшим. Вот пример на 3м символе этого 21го слова. Ему соответствуют байты 177, 0, 3, 0. Переводим 3 и 0 в хекс, получаем 03; 177 и 0 соответственно B1. Код символа - U+03B1.

Юникод, он всё-таки двухбайтный. По крайней мере, в WinXP и ниже.
Ты своим кодом перевёл строку из Юникода в "двойной Юникод", и получил в своём массиве, в общем случае, бессмыслицу.
Перевод строки из String в юникодный байтовый массив делается простой операцией присваивания.

По поводу разбора TextRTF: так и не понял, на что предлагается заменять \u*.


К автору: вроде как поставленная цель -- получить частотный словарь юникодного текста. Зачем здесь вообще RichTextBox, Word и т.п. навороты? Недостаточно, что ли, просто положить текст в текстовый файл, и оттуда его читать напрямую?
Изображение

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.12.2006 (Пн) 15:28

tyomitch писал(а):К автору: вроде как поставленная цель -- получить частотный словарь юникодного текста. Зачем здесь вообще RichTextBox, Word и т.п. навороты? Недостаточно, что ли, просто положить текст в текстовый файл, и оттуда его читать напрямую?


Как я понял - тексты у него уже есть, причем они в Word, аналогичные приведенному. Ему надо поменять фонт текста - то есть сделать, к примеру тот-же Arial. Просто выделив в Word-e это не удается - попробуй, к примеру, поменять фонт 9-го символа того-же 21-го слова - ибо у него уенкод 1F7B - его надо заменить на 03CD, тогда все будет путем.

Автор - верно?

Через объектную модель Word все это нормально делается ибо в Words слова находятся в уенкоде...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2006 (Пн) 15:39

По поводу разбора TextRTF: так и не понял, на что предлагается заменять \u*.
На ASCII-код (типа \'e1) со схожим начертанием. Хотя перечитываю задание автора и не понимаю, как он собирается анализировать текст на предмет частоты встречаемости слов, если он фактически меняет в словах буквы?.. Разве что этот анализ оторван от общего словаря.
Лучший способ понять что-то самому — объяснить это другому.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 25.12.2006 (Пн) 15:55

У меня такой вопрос.
Имеется текст, на иностранном языке (греческом), набранный определённым шрифтом.
Чтобы этот текст правильно отображался в некотором приложении, необходимо поменять шрифт.


мы так и не узнаем, что это за некое приложение и что все-таки хочет сделать автор с этим текстом далее 8)
и ,конечно , самое интересное: в каком формате (формате какого приложения: txt, doc, rtf, ...) был собственно создан и сохранен исходный документ, который мы хотим иссследовать :wink:

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.12.2006 (Пн) 15:59

Antonariy писал(а):
Недостаточно, что ли, просто положить текст в текстовый файл, и оттуда его читать напрямую?
Недостаточно :roll: При открытии того же греческого txt на русскоязычной винде все греческие символы заменятся вопросительными знаками. Проверено на немецких html.


Не - не так. Вся проблема в том что просто так в текстовый файл данный текст не удается - попробуйте присланный файл сохранить в текстовый выбрав греческую кодировку... Как я понимаю это именно из-за тех "нехороших символов" другой кодовой страницы что хочет заменить автор - ибо нельзя сохранить в текстовый файл текст содержащий символы разных кодовых страниц...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 25.12.2006 (Пн) 16:06

о чем и речь :!:
непонятка с форматом хранения самого документа :!:
узнаем формат - тогда уже можно и думать, что и как делать

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.12.2006 (Пн) 16:07

Konst_One писал(а):мы так и не узнаем, что это за некое приложение и что все-таки хочет сделать автор с этим текстом далее 8) и ,конечно , самое интересное: в каком формате (формате какого приложения: txt, doc, rtf, ...) был собственно создан и сохранен исходный документ, который мы хотим иссследовать :wink:


Да неважно в каком - я уже, кажись, понял что ему нужно - еще раз: у него есть куча файлов Word. В них ему надо просто-напросто поменять фонт, например на Arial, но это для некоторых символов элементарно не удается - попробуйте в выложенном файле. Чтобы все удалось он хочет просто поменять коды этих "нехороших" символов на соответствующие им по написанию символы греческой кодовой страницы.

Ответ на его вопрос - это можно сделать пользуясь объектной моделью Word и коллекцией Words - там эти символы в уенкоде, так что и проблем быть не должно.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2006 (Пн) 16:11

Andrey Fedorov писал(а):
Antonariy писал(а):
Недостаточно, что ли, просто положить текст в текстовый файл, и оттуда его читать напрямую?
Недостаточно :roll: При открытии того же греческого txt на русскоязычной винде все греческие символы заменятся вопросительными знаками. Проверено на немецких html.


Не - не так. Вся проблема в том что просто так в текстовый файл данный текст не удается - попробуйте присланный файл сохранить в текстовый выбрав греческую кодировку... Как я понимаю это именно из-за тех "нехороших символов" другой кодовой страницы что хочет заменить автор - ибо нельзя сохранить в текстовый файл текст содержащий символы разных кодовых страниц...
Типа того.
Комплекс Каштанки - все понимаю, а сказать не могу. :D
Лучший способ понять что-то самому — объяснить это другому.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.12.2006 (Пн) 16:35

Кстати, вот как я сделал замену на примере того-же 21-го слова

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

Public Sub Main()
    Dim ss As String, m() As Byte, i As Long, s As String, bSave As Boolean
   
    Dim wa As New Word.Application
    wa.Documents.Open "C:\Temp\T\Word.doc"
   
    With wa.Documents(1).Words(21)
        s = .Text
        m = s
'        For i = 0 To UBound(m) Step 2
'            Debug.Print m(i + 1), m(i), Hex(m(i))
'        Next i
        For i = 0 To UBound(m) Step 2
            Select Case m(i + 1)
                Case 31
                    Select Case m(i)
                        Case 0
                            m(i + 1) = 3
                            m(i) = 172
                        Case 123
                            m(i + 1) = 3
                            m(i) = 205
                    End Select
            End Select
        Next i
        s = m
        If .Text <> s Then
            .Text = s
            .Font.Name = "Arial"
        End If
    End With
    wa.Documents(1).Save
    wa.Documents(1).Close False
    wa.Quit
End Sub


Ну и приложен файл с новым (вверху) и старым (внизу) текстом. 21-е слово выделено. Вверху уже фонт Arial и символы заменены на греческие. Их очертания, кстати, чуть отличаются...
Вложения
Word.rar
(3.56 Кб) Скачиваний: 37
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.12.2006 (Пн) 17:17

А вообще - проблема, как я понял в том что в греческом (видимо в его красивом или полном варианте написания - как там по правильному мне неведомо) есть куча вариантов написания умляутов - в нашем (или во всех?) фонте Arial их просто нет - отсюда и приходится преобразовывать к более упрощенному. Ну или надо оставлять тот фонт что есть в документе (Palatino Linotype), если условия задачи позволяют, конечно...

Интересно, а как сами греки решают данную проблему импорта подобного текста в txt-файл с одной кодовой страницей (вроде это должно быть возможно). То бишь преобразование своих расширенных умляутов...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 26.12.2006 (Вт) 13:41

А вообще Юникод можно получить через Clipboard. В приложенном примере так и делается, я на всякий случай сделал чтобы через RichTextBox, но если в него текст встявляется из буфера, а не грузится из файла, то можно и без него обойтись.
Вложения
uni_text.zip
(2.21 Кб) Скачиваний: 35
Программисты не глючат - глючат компиляторы...

Алексей.Ф.
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 09.09.2004 (Чт) 20:55
Откуда: г. Ставрополь

Сообщение Алексей.Ф. » 01.01.2007 (Пн) 23:53

Andrey Fedorov писал(а):
tyomitch писал(а):К автору: вроде как поставленная цель -- получить частотный словарь юникодного текста. Зачем здесь вообще RichTextBox, Word и т.п. навороты? Недостаточно, что ли, просто положить текст в текстовый файл, и оттуда его читать напрямую?


Как я понял - тексты у него уже есть, причем они в Word, аналогичные приведенному. Ему надо поменять фонт текста - то есть сделать, к примеру тот-же Arial. Просто выделив в Word-e это не удается - попробуй, к примеру, поменять фонт 9-го символа того-же 21-го слова - ибо у него уенкод 1F7B - его надо заменить на 03CD, тогда все будет путем.

Автор - верно?

...

Всё верно. Но, как узнать, какой код у какаго символа??? Прошу прощения, я некоторое время не мог отвечать (а, главное, спрашивать), из-за большого дефицита времени.
Последний раз редактировалось Алексей.Ф. 02.01.2007 (Вт) 1:07, всего редактировалось 2 раз(а).

Пред.След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39

    TopList