Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / RichTextEdit кодировка / 12 сообщений из 12, страница 1 из 1
06.02.2008, 17:27
    #35114660
dimon84
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
Подскажите пожалуйста, я в RichTextEdit загружаю файлы c расширением txt, но проблема в том что некоторые txt файлы имеют кодировку виндовс, а некоторые дос, как мне поменять кодировку в RichTextEdit что бы можно было их читать,а не смотреть на какие-то иероглифы:), ведь в RichTextEdit вроде как нету такой функции как FontCharSet, заранье благодарен.
...
Рейтинг: 0 / 0
06.02.2008, 17:39
    #35114718
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
Не знаю, есть ли для этого специальные средства в RTE, но файл перекодировать можно с помощью функций CharToOEM/OEMToChar
...
Рейтинг: 0 / 0
06.02.2008, 17:54
    #35114792
dimon84
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
мне файлам не нужно менять кодировку, а нужно лиш поменять кодировку в самом RichTextEdit что бы можно было его прочитать, все эти текстовики находять на серваке, соответственно к им имеет доступ много пользователей
...
Рейтинг: 0 / 0
06.02.2008, 18:04
    #35114827
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
Ну так читайте файл в память, там перекодируйте его и вставляйте в RTE.
...
Рейтинг: 0 / 0
06.02.2008, 18:07
    #35114844
dimon84
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
а можно примерчик?:)
...
Рейтинг: 0 / 0
07.02.2008, 11:35
    #35116237
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
string s

rte_1.InsertDocument("c:\1.txt",true)
rte_1.SelectTextAll()

s = rte_1.SelectedText()

OemToCharA(s,s)

rte_1.ReplaceText(s)
И функции
Код: plaintext
1.
FUNCTION boolean CharToOemA(string LPCTSTR, ref string LPSTR) LIBRARY "USER32.DLL"
FUNCTION boolean OemToCharA(string LPCTSTR, ref string LPSTR) LIBRARY "USER32.DLL"
...
Рейтинг: 0 / 0
07.02.2008, 13:36
    #35116852
dimon84
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
Огромное спасибо
...
Рейтинг: 0 / 0
07.02.2008, 15:33
    #35117279
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
При перекодировки с иврита нужно было добавлять ПЕРЕД OemToCharA(s_input,s_output) это:
Код: plaintext
s_output = space( 3  * LenA(s_input))
Не знаю почему, но без этой фигни программа падала.
...
Рейтинг: 0 / 0
07.02.2008, 16:12
    #35117438
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
RiskaПри перекодировки с иврита нужно было добавлять ПЕРЕД OemToCharA(s_input,s_output) это:
Код: plaintext
s_output = space( 3  * LenA(s_input))
Не знаю почему, но без этой фигни программа падала.
Необходимо зарезервировать область памяти, и передать указатель на нее
...
Рейтинг: 0 / 0
10.02.2008, 11:12
    #35122409
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
spas2001 RiskaПри перекодировки с иврита нужно было добавлять ПЕРЕД OemToCharA(s_input,s_output) это:
Код: plaintext
s_output = space( 3  * LenA(s_input))
Не знаю почему, но без этой фигни программа падала.
Необходимо зарезервировать область памяти, и передать указатель на нее
В PB6.5 работало без этого. В PB10.5 пришлось добавить.
...
Рейтинг: 0 / 0
10.02.2008, 11:31
    #35122423
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
RiskaВ PB6.5 работало без этого. В PB10.5 пришлось добавить.
1. Очень странно что вообще работало в 6.5.
2. Совершенно не ясно, зачем умножать на 3 (я думаю *2 +2 - хватит).
3. PB 10.5 Unicode, поэтому мне не очень ясно, что там делают ANSI вызовы функций?
4. У меня в примере переводится в туже строку, поэтому ничего выделять вообще не нужно.
...
Рейтинг: 0 / 0
10.02.2008, 12:39
    #35122472
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RichTextEdit кодировка
1. Очень странно что вообще работало в 6.5.
Это факт.
2. Совершенно не ясно, зачем умножать на 3 (я думаю *2 +2 - хватит).
Думаю, что если бы было написано *2 +2, то вопрос бы звучал так:
Совершенно не ясно, зачем умножать на 2, затем прибавлять 2, если можно умножить на 3 :)
3. PB 10.5 Unicode, поэтому мне не очень ясно, что там делают ANSI вызовы функций?
Эта функция нужна для перевода HEBREW(DOS) в HEBREW(WINDOWS). Без перевода asc/ascA выдает ерунду.
4. У меня в примере переводится в туже строку, поэтому ничего выделять вообще не нужно.
Если использовать 2 раза s_input, то вместо одной закарлючки получаем другую.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / RichTextEdit кодировка / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]