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

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

Delphi+uses Clipbrd VS Notepad


DevilDevil ©   (2006-09-15 17:08:00) 

Блокнот, Ворд, Эксель показывают каракули при вставке из буфера обмена, если сделать так:

Clipboard.AsText := 'Засунули текст в буфак';


DprYg   (2006-09-15 19:04:00) [1]

http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=780


DevilDevil   (2006-09-15 19:02:00) [2]

procedureCopyStrToClipBoard(STR : string);
var
 Data: THandle;
 DataPtr: Pointer;
 Buf : WideString;
 Size : integer;
begin
 Buf := WideString(STR);
 Size := (Length(Buf)+1)*2;

 Clipboard.Open;
  try
   Data := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE, Size);
    try
     DataPtr := GlobalLock(Data);
      try
       Move(Buf[0], DataPtr^, Size);
       SetClipboardData(CF_UNICODETEXT, Data);
      finally
       GlobalUnlock(Data);
     end;
   except

     GlobalFree(Data);
     raise;
   end;
 finally

   Clipboard.Close;
 end;
end;


DevilDevil   (2006-09-15 18:55:00) [3]

void __fastcallCopyStrToClipBoard(AnsiString STR)
{
 WideString Buf = WideString(STR);
  intSize = (Buf.Length()+1)*2;

  void*Data;
  void*DataPtr;

 Clipboard()->Open();

   Data = GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE, Size);
   DataPtr = GlobalLock(Data);
   memmove(DataPtr, Buf.c_bstr(), Size);

   SetClipboardData(CF_UNICODETEXT,  Data);

   GlobalUnlock(Data);
   GlobalFree(Data);

 Clipboard()->Close();
}


default   (2006-09-15 18:42:00) [4]

у меня работает


DevilDevil   (2006-09-15 17:19:00) [5]

Должно корректно работать при любой :)


Loginov Dmitry   (2006-09-15 17:11:00) [6]

DevilDevil ©   (15.09.06 17:08)
Блокнот, Ворд, Эксель показывают каракули при вставке из буфера обмена, если сделать так:


А раскладка при этом какая?


Наверх

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