Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2011, 21:54   #1
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию Unicode

Доброго времени суток. Прошу помощи при разрешении следующей проблемы:
Пишу переводчик слов, для добавления слова и его перевода в ListView написал функцию типа addTransl('слово','его перевод')
Код:
....
procedure addTransl(Str,StrChngd:string);
 begin
 with Form1.ListView1.Items.Add do
begin
Caption := Str;
SubItems.Add(StrChngd);
end;
....
проблема заключается в том, что если, например, при переводе китайского иероглифа в русское слово приходится менять свойство CHARSET в GB2312_CHARSET у компонента TListView, но при этом во второй колонке отображается вместо русского слова непонятные символы, а если не менять
свойство CHARSET у компонента TListView, а оставить DEFAULT_CHARSET, то китайские иероглифы в первой колонке высвечиваются непонятными символами. Как тут быть ? Что посоветуете ?
Спасибо за любую помощь.
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ

Последний раз редактировалось Den7656; 17.12.2011 в 21:57.
Den7656 вне форума Ответить с цитированием
Старый 17.12.2011, 21:56   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Ansistring побывали использовать?
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 17.12.2011, 21:59   #3
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Пробовал Ansistring, тогда иероглифы и там и там получаются (в одной колонке и другой).
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 17.12.2011, 22:06   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в не юникодных Делфи string=AnsiString итак.
да и для разных чарсетов анси не особо помошник.

нужна Делфи поновее.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.12.2011, 22:12   #5
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

а без этого никак ?
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 17.12.2011, 22:12   #6
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
нужна Делфи поновее.
а без этого никак ?
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 17.12.2011, 22:18   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну можно попробовать Юникод компоненты(не помню название).
или же написать свой малый компонент для этого.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.12.2011, 22:39   #8
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

блин, жаль... И компонентов-то никогда не писал...
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 17.12.2011, 22:45   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В GB2312 есть кирилица (http://ru.wikipedia.org/wiki/GB2312). Сделать у ListView GB2312_CHARSET. CP1251 конвертировать перед записью в GB2312. С такой функцией не встречался, возможно она и существует, а можно и самому написать, узнав соответствие между кодами CP1251 и GB2312. И ни каких компонент в этом случае писать не прийдется

ADD

Кстати в таблице символов Китайские (упрощенное письмо) очень похоже на выжимку из GB2312
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 17.12.2011 в 22:56.
Аватар вне форума Ответить с цитированием
Старый 17.12.2011, 23:25   #10
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
По умолчанию

Спасибо ОГРОМНОЕ мне это очень помогло )))
Тему можно закрывать.
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
unicode to ansi Евгений79 Общие вопросы Delphi 10 25.05.2011 22:04
Unicode и Delphi 7 Valio Общие вопросы Delphi 3 05.05.2011 19:57
Unicode Pedro Общие вопросы Delphi 8 13.03.2009 10:50
Unicode в Delphi Fedorovich БД в Delphi 2 31.10.2008 21:34
Unicode }{UTPUU Общие вопросы Delphi 4 02.04.2007 15:21