Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.079 c
11-1121177748
kukuks
2005-07-12 18:15
2006.03.12
Пример программы с unicode


2-1140895416
49 Cent
2006-02-25 22:23
2006.03.12
Как программно определить текущий месяц?


2-1140539041
Алексей Петухов
2006-02-21 19:24
2006.03.12
FastReport


15-1139918449
DelphiLexx
2006-02-14 15:00
2006.03.12
unit OpenGL


2-1140831170
49 Cent
2006-02-25 04:32
2006.03.12
Как недопустить текстовые символы в edit?