![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
unicode & clipboard
Вадим © (2003-03-23 23:37:00)Есть s: string. Необходимо копировать стустроку в буфер обмена в юникоде. Как это сделать. Если я правильно понял, то сначала надо ее конвертировать в юникод функцией StringToWideChar(), а дальше что делать? Как получившийся данные копировать в буфер обмена?
Спасибо!
NAlexey (2003-03-24 10:53:00) [1]Взял кажется с сайта "Королевство Delphi"
procedure BufferToClipboard(Buffer: String);
var
WideBuffer: WideString;
BuffSize: Cardinal;
Data: THandle;
DataPtr: Pointer;
begin
if Buffer <> "" then begin
WideBuffer := Buffer;
BuffSize := length(Buffer) * SizeOf(WideChar);
Data := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE+GMEM_ZEROINIT, BuffSize + 2);
try
DataPtr := GlobalLock(Data);
try
Move(PWideChar(WideBuffer)^, Pointer(Cardinal(DataPtr))^, BuffSize);
finally
GlobalUnlock(Data);
end;
Clipboard.SetAsHandle(CF_UNICODETEXT, Data);
except
GlobalFree(Data);
raise;
end;
end;
end;
<\CODE>
Вадим (2003-03-24 10:38:00) [2]up
Если я плохо объяснил суть задачи, то попробую еще раз. Есть PWideChar. Как копировать это в буфер обмена?