Главная страница
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.025 c
4-1097249553
pirate
2004-10-08 19:32
2004.11.21
Необходимо получить список запущенных процессов.


14-1099243806
123
2004-10-31 20:30
2004.11.21
MS-DOS


14-1099645672
Nick-From
2004-11-05 12:07
2004.11.21
Пятничная задачка :) Продажа машины ОКА :)


14-1099522689
Сашок
2004-11-04 01:58
2004.11.21
Железо


8-1093165374
SNV-Soft
2004-08-22 13:02
2004.11.21
Поверхность TPanel в Bmp файл!?