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

Вниз

unicode & clipboard   Найти похожие ветки 

 
Вадим ©   (2003-03-23 23:37) [0]

Есть s: string. Необходимо копировать стустроку в буфер обмена в юникоде. Как это сделать. Если я правильно понял, то сначала надо ее конвертировать в юникод функцией StringToWideChar(), а дальше что делать? Как получившийся данные копировать в буфер обмена?

Спасибо!


 
Вадим ©   (2003-03-24 10:38) [1]

up

Если я плохо объяснил суть задачи, то попробую еще раз. Есть PWideChar. Как копировать это в буфер обмена?


 
NAlexey ©   (2003-03-24 10:53) [2]

Взял кажется с сайта "Королевство 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>



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-70394
edicon
2003-05-11 00:28
2003.05.22
ExcelApplication


11-70199
zetta
2002-08-16 18:19
2003.05.22
а почему бы не сделать как в вцл?


1-70365
Rocker
2003-05-10 07:25
2003.05.22
Случайный выбор


1-70214
anbezr
2003-05-08 10:21
2003.05.22
Получить высоту одной строчки в TEdit


3-70106
romario
2003-04-29 10:20
2003.05.22
Как произвести обсчет?