Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.044 c
2-1140433954
Лом
2006-02-20 14:12
2006.03.12
помогите разобраться


9-1118245719
Ford
2005-06-08 19:48
2006.03.12
созданние Города


2-1140578291
Непонял
2006-02-22 06:18
2006.03.12
MDI


2-1141033977
Azeem
2006-02-27 12:52
2006.03.12
Буфер обмена


2-1140617744
Silica
2006-02-22 17:15
2006.03.12
Сканер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский