Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

При копировании в Clipboard русских символов изменяется их код-ка [D7, WinXP]


San1712 ©   (2007-11-13 07:31:00) 

Я привязал к ListBox переменную Tstringlist. Если я создаю ListBox1.Item, которая заканчивается латинскими буквами , то при копировании из Tstringlist в Clipboard все русские символы которые были в TStringList заменяются на какие-то др. символы.
Проблема вроде как решается поставил в конце русскую точку и всё. Дык нет пробовал в функции присвоить Edit1.Text {Edit1 сюда у меня вводится название для Item} русскую точку всё равно глюк
остаётся. Пробовал в ListBox и Edit выставлять русскую кодировку и Times New Roman ничего не изменилось. Может кто сталкивался с такой
проблемкой , наведите на мысль?


stanislav_   (2007-11-13 12:39:00) [1]

Когда копируешь раскладка  windows должна быть русской :-)


Amoeba   (2007-11-13 12:34:00) [2]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=780+ обсуждение этой статьи.


Igor Zorkov   (2007-11-13 07:40:00) [3]

procedure WriteToClipboard(text :WideString);
var Handle: THandle;
   HandlePtr: Pointer;
   Size: Cardinal;
begin
 if OpenClipboard(Self.Handle) then
 begin
   EmptyClipboard;
   Size :=  sizeof(text[1])*(length(text)+1);
   Handle := GlobalAlloc(GMEM_MOVEABLE + GMEM_DDESHARE, Size);
   if Handle = 0 then
     Exit;
   HandlePtr := GlobalLock(Handle);
   Move((PWideChar(text))^, HandlePtr^, Size);
   GlobalUnLock(Handle);
   SetClipboardData(CF_UNICODETEXT, Handle);
   CloseClipboard();
 end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо