Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Clipboard (Unicode) -> Clipboard/File (Win-1252)   Найти похожие ветки 

 
Clip   (2004-10-09 20:36) [0]

Здравствуйте.

Ситуация такая:

имеем в буфере обмена 3 формата:
- Plain Text
- OEM Text
- Unicode Text

Задача:

1) взять оттуда Unicode Text и перекодировать в codepage Win-1252 (Western European). Эта перекодировка должна происходить независимо от Clipboard locale, System locale, User locale.

2) записать перекодированное содержимое (в Win-1252) в файл или обратно в буфер обмена (как Plain Text)

Перекодировку непосредственно в буфере может выполнять программа
ClipConvert
http://www.codeguru.com/Cpp/W-P/clipboard/article.php/c3009
То, как она это делает - меня полностью устраивает, но надо реализовать это в автоматическом режиме под собственным контролем.


 
DiamondShark ©   (2004-10-10 12:16) [1]

Получить данные из клипборда GetClipboardData(CF_UNICODETEXT)
Преобразовать в нужную кодировку WideCharToMultibyte


 
Clip   (2004-10-10 15:58) [2]

Спасибо за ответ! Можно ли при этом (WideCharToMultibyte) быть уверенным, что преобразование будет происходить независимо от системных установок?


 
Clip   (2004-10-10 17:10) [3]

Вы уж простите новичка, еще вопросы:
GetClipboardData(CF_UNICODETEXT) - где это? В Delphi не нашел. Имеется ввиду WinAPI-функция или из какой-то третьесторонней компоненты?


 
Clip   (2004-10-10 17:55) [4]

Ага, понял. И то, и то - WinAPI-функции.
Delphi-аналоги либо не существуют, либо не позволяют указывать целевую кодировку (просто используется system locale). Правильно?


 
Суслик ©   (2004-10-11 11:08) [5]


> Delphi-аналоги либо не существуют

Я что-то не помню, что у widechartomultibyte есть аналог в дельфи.

Дельфи сама использует эту функцию при преобразовании WideChar -> AnsiChar. Дельфи действительно использует умолчательную кодовую страницу (ansi кажется). Наверное, такое использование можно с натяжкой назвать аналогом.

Так что ответ на вопрос "Правильно?" - да, правильно.



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
14-1099397598
R.O.O.T
2004-11-02 15:13
2004.11.21
Из-за чего перегружается компьютер


4-1097224290
W 123
2004-10-08 12:31
2004.11.21
Разделитель целой и дробной части числа


14-1099666667
quickblack
2004-11-05 17:57
2004.11.21
Как открыт php файл?


4-1096978886
andrey__
2004-10-05 16:21
2004.11.21
Избежать двойной запуск программы.


14-1099135392
Yuri Btr
2004-10-30 15:23
2004.11.21
Входящие подключения - проблема с модемом в XP