Форум: "WinAPI";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.03 c