Вниз
Скачать: CL | DM;

проблема с кодировкой при копированиии в буфер   Найти похожие ветки 

 
MetalFan ©   (2006-02-06 10:22) [0]


uses Clipbrd;
...
var
 lStr: string;
begin
 ....
 lStr := memo1.lines.text;
 ....
 Clipboard.AsText := lStr;
end;

казалось бы все должно быть в порядке...
но если у текущего (приложения)окна , где выполняется этот код, включена английская раскладка клавиатуры, а копирутеся кириллица, то при вставке (в браузер) получаем нечитаемый текст(((
кто знает как лечить?!
да, WinXP SP2, D5 sp1.


 
wal ©   (2006-02-06 10:27) [1]


> кто знает как лечить?!
Переключением раскладки.


 
Альф   (2006-02-06 10:34) [2]

>Переключением раскладки.

примерно так

 ActivateKeyboardLayout(SUBLANG_DEFAULT shl 10 + LANG_RUSSIAN, 0);


 
MetalFan ©   (2006-02-06 10:48) [3]

пока я так и сделал... но в чем может быть проблема?! причем тут буфер и активная раскладка клавы?


 
Desdechado ©   (2006-02-06 10:59) [4]

это фишка "интеллекта винды"
http://delphimaster.net/view/2-1139141002/


 
MetalFan ©   (2006-02-06 12:31) [5]

кроме варианта переключения раскладки, как я понял, больше ничего не поделаешь?


 
capkoh ©   (2006-02-06 17:44) [6]

Можно еще как CF_UNICODETEXT копировать, но для этого нужно чуть углубиться в TClipboard и преобразовать строку в Unicode. Точнее смотри TClipboard.Set(Get)Buffer > Set(Get)ClipboardData.
Мне не удалось избавиться от закорючек другими (не переключающими раскладки) методами, кроме как описанным выше.

Удачи!


 
Leonid Troyanovsky ©   (2006-02-06 19:36) [7]


> MetalFan ©   (06.02.06 12:31) [5]
> кроме варианта переключения раскладки, как я понял, больше
> ничего не поделаешь?



var
 h:THandle;
begin
 Clipboard.Open;
 Clipboard.AsText := Memo1.Text;
 h := Clipboard.GetAsHandle(CF_TEXT);
 SetClipboardData(CF_LOCALE, h);
 Clipboard.Close;
end;

--
Regards, LVT.


 
MetalFan ©   (2006-02-07 16:51) [8]

2 Leonid Troyanovsky
СПАСИБО!!!!


 
REA   (2006-02-08 10:39) [9]

Есть компонент, который подменяет переменную Clipboard и делает примерно то же, что и [7]



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
15-1140184660
yanval
2006-02-17 16:57
2006.03.12
IEEE сколько то там


2-1141008211
Adios
2006-02-27 05:43
2006.03.12
BitButon


15-1140295546
Volf_555
2006-02-18 23:45
2006.03.12
Где m-agent хранит историю сообщений и настройки?


15-1140036883
zep
2006-02-15 23:54
2006.03.12
Asm в Delphi


15-1140033510
Yeg
2006-02-15 22:58
2006.03.12
Геометрия - задача




   Наверх