![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ctrl+C >> *(%*^(*&^&^(*%5
HrenovijMaster © (2004-12-16 00:53:00)Респект Вам !!! при коприовании текста (кирилицы) из Memo а затем вставке в другой редактор - вместо руских букв вывоится совсем другая кдровка !!! как быть? что делать ???
GrayFace (2004-12-19 10:30:00) [1]Anatoly Podgoretsky © (16.12.04 19:33) [4]
А ты не лезь в прерогатмвы пользоваетеля.
Я бы не сказал, что это прераготивы пользователя. Но с глюками операционки тоже бороться не нужно.
BlackTr (2004-12-19 00:32:00) [2]HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage
SetValue "1250"="c_1251.nls"
HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage
SetValue "1252"="c_1251.nls"
Вроде должно помочь
Kolan (2004-12-18 15:18:00) [3]
> HrenovijMaster (16.12.04 19:07) [3]
У меня тоже есть знакомый
- Х..вый повор. На экзамене венегрет кубиками по 5см нарезал :). Сдал
- Х..вый милиционер - торч.
А весь мой факультет - х..вые программисты :)
KSergey (2004-12-18 11:54:00) [4]> MBo © (17.12.04 09:00) [8]
Благодарю!
Fay (2004-12-17 09:03:00) [5]Спасибы
MBo (2004-12-17 09:00:00) [6]>KSergey © (17.12.04 08:44) [6]
вот процедура Alex Konshin
procedure SetClipboardText( const AText : String );
var len, ulen : Integer;
hClip : THandle;
pClip : Pointer;
begin
if Win32Platform=VER_PLATFORM_WIN32_NT then
begin
len := Length(AText)+1;
ulen := len+len;
hClip := GlobalAlloc(GMEM_MOVEABLE,ulen);
if hClip=0 then raise Exception.Create(SysErrorMessage(GetLastError))
else
try
pClip := PWideChar(GlobalLock(hClip));
if pClip=nil then raise Exception.Create(SysErrorMessage(GetLastError))
else
begin
try
MultiByteToWideChar(CODEPAGE,0,PChar(AText),len,pClip,ulen);
finally
GlobalUnlock(hClip);
end;
Clipboard.SetAsHandle(CF_UNICODETEXT,hClip);
end;
except
GlobalFree(hClip);
raise;
end;
end
else
begin
Clipboard.SetTextBuf(PChar(AText));
SetClipboardData(CF_LOCALE,LANG_RUSSIAN);
end;
end;
Fay (2004-12-17 08:58:00) [7]2 Anatoly Podgoretsky © (16.12.04 19:33) [4]
>> Или вставляй в буфер сведенья о кодировке
Вы не могли бы прокомментировать и/или привести пример кода.
Был бы (думаю, не я один) очень признателен.
KSergey (2004-12-17 08:44:00) [8]> [4] Anatoly Podgoretsky © (16.12.04 19:33)
> А ты не лезь в прерогатмвы пользоваетеля. Или вставляй в
> буфер сведенья о кодировке, или гони в Юникод.
Прошу прощения, а не подскажете как?
Yanis (2004-12-16 19:39:00) [9]Может OEMConvert сработает?
Anatoly Podgoretsky (2004-12-16 19:33:00) [10]А ты не лезь в прерогатмвы пользоваетеля. Или вставляй в буфер сведенья о кодировке, или гони в Юникод.
HrenovijMaster (2004-12-16 19:07:00) [11]Respect once more !!!!!
2 Walker: da so smenoj rasklaki polu4aetsya ! ))) no 4to zhe delat, programno pereklu4at raskladku kazhdij raz kogda polzovatel copiruet teskt ??? MOshet est sposob menee gemorojnij ???
2 Zacho: mozhno ssil4ki plz !!!!
Zacho (2004-12-16 04:21:00) [12]Или использовать не TMemo а какой-либо unicode-компонент.
Walker (2004-12-16 04:17:00) [13]Такая ерунда встречается не только в Memo, а вообще в WindowsXP в том случае, если перед копированием стоит "другая" раскладка
У меня эта проблема решается так: сначала переключаю раскладку клавиатуры на Кириллицу, затем копирую в буфер - и всё нормально