Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
ВнизПри копировании в буфер обмена строки портятся, как исправить? Найти похожие ветки
← →
Kolan © (2007-06-16 14:39) [0]Копирую так:
Clipboard.SetTextBuf(PAnsiChar(SomeText));
SomeText — русские символы
Вставляю, одини кракозябры, как правильно?
← →
Loginov Dmitry © (2007-06-16 14:51) [1]Вот содержимое недавней ветки, может подойдет:
Не работает копирование в буфер в win9x
[0] A Programmer (26.05.07 16:10)
SelLen:= Length(ws);
if (SelLen > 0) then
begin
OpenClipboard(Application.Handle);
try
EmptyClipboard;
hg:=GlobalAlloc(GMEM_DDESHARE or GMEM_MOVEABLE, SelLen*2+2);
try
if (hg <> 0) then
begin
P:=GlobalLock(hg);
if P <> nil then
begin
Move(PWideChar(ws)^, P^, SelLen * 2 + 2);
SetClipboardData(CF_UNICODETEXT,hg);
end;
end;
finally
GlobalUnlock(hg);
GlobalFree(hg);
end;
finally
CloseClipboard;
end;
end;
В Win2000 всё работает, в win9x не происходит копирования в буфер, хотя переменная ws содержит юникод-символы.
Как это исправить?
[цитата]
--------------------------------------------------------------------------------
[1] begin...end © (26.05.07 17:30)
CF_UNICODETEXT
Windows NT/2000/XP: Unicode text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data.
(c) MSDN
[цитата]
--------------------------------------------------------------------------------
[2] A Programmer (26.05.07 18:02)
>CF_UNICODETEXT
Ясно,но я пробовал и CF_TEXT, всё равно не работает - указатель P указывает на адрес, по которому находится мусор или одни нули (если обнулить hg:=GlobalAlloc(GMEM_DDESHARE or GMEM_MOVEABLE or GMEM_ZEROINIT, SelLen*2+2);).
А как же поместить юникод в буфер обмена в win9x, опера ведь это как-то делает?
[цитата]
--------------------------------------------------------------------------------
[3] A Programmer (26.05.07 19:15)
Нашёл в чём дело:
GlobalFree(hg);
должен быть после
CloseClipboard;
← →
Kolan © (2007-06-16 14:56) [2]> Вот содержимое недавней ветки, может подойдет:
А стандартная выходит не годится? :(
← →
Kolan © (2007-06-16 14:56) [3]> стандартная
В смысле Clipboard
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c