Главная страница
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.051 c
1-1099664462
Sergeich
2004-11-05 17:21
2004.11.21
Безразмерный массив


1-1099886622
Кто---то
2004-11-08 07:03
2004.11.21
Существует ли функция обратная Format ? Чтобы вытаскивала по


14-1099187545
Думкин
2004-10-31 04:52
2004.11.21
С днем рождения! 31 октября


1-1099682272
Kolan
2004-11-05 22:17
2004.11.21
Работа с RichEdit


8-1093192962
iudjen
2004-08-22 20:42
2004.11.21
как сделать пианино