Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.09;
Скачать: CL | DM;

Вниз

Проблема кодировки при копировании через буфер, хелп!   Найти похожие ветки 

 
lipskiy ©   (2004-12-20 22:27) [0]

Замечаю эту проблему со многими программами, не только со своими - русский текст после копировани-вставки изменяет кодировку на типа такую - Ïðèìåð òåêñòà.
Как это починить?

Во-первых, как сделать в моих программах, чтобы копирование работало при любых текущих настройках системы.
Во-вторых, как нужно настроить систему, чтобы чужие программы правильно копировали текст.

У меня WinXP rus SP2. НО проблему это наблюдаю практически на любых виндах.


 
Alexander Panov ©   (2004-12-20 22:29) [1]

Проблема во всех.
Пока, по-моему, нашли только такое решение - перед копированием в ClipBoard нужно переключиться на русскую раскладку клавиатуры.


 
lipskiy ©   (2004-12-20 23:31) [2]

Спасибо! Все прокатило.
Если кому надо, вот решение (насобирал из разных мест и немного добавил):

function ChangeLayout(LANG: Integer): Boolean;
var
Layouts: array [0..16] of HKL;
i, Count: Integer;
begin
Result:=False;
Count:=GetKeyboardLayoutList(High(Layouts)+1, Layouts)-1;
for i:=0 to Count do if (LoWord(Layouts[i]) and $FF) = LANG then
 Result:=ActivateKeyboardLayout(Layouts[i], 0)<>0;
end;

function GetLayout:Integer;
begin
result:= (GetKeyboardLayout(0) shr $10) and $FF;
end;

// собственно, эту процедуру используем:
procedure CopyToClipBoard(Text:string);
 var lw:longword;
begin
lw:= GetLayout;
ChangeLayout(LANG_RUSSIAN);
Clipboard.AsText:= Text;
ChangeLayout(lw);
end;


Может че некорректно или некрасиво, но работает!


 
Amoeba ©   (2004-12-21 11:33) [3]

Смотри статью, посвященную этой проблеме, на http:\\www.delphikingdom.com


 
Fay ©   (2004-12-21 11:39) [4]

Обсуждалось на прошлой неделе.


 
Amoeba ©   (2004-12-21 11:39) [5]

А именно:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=780


 
MBo ©   (2004-12-21 11:50) [6]

http://delphimaster.net/view/1-1103147632/



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

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

Наверх




Память: 0.48 MB
Время: 0.042 c
1-1103620067
Sha
2004-12-21 12:07
2005.01.09
MSWord: узнать Cell.Width в случае Cell.Width=wdUndefined


14-1103215583
}|{yk
2004-12-16 19:46
2005.01.09
Как из формата djvu "выдрать" картинки?


4-1101237995
Piter
2004-11-23 22:26
2005.01.09
Как узнать какому процессу принадлежит окно по его Handle?


14-1103695590
ghg
2004-12-22 09:06
2005.01.09
Castalia 3.0


14-1103568792
Profi
2004-12-20 21:53
2005.01.09
Возможно ли сделать на Pascal е