![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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)
Блокнот, Ворд, Эксель показывают каракули при вставке из буфера обмена, если сделать так:
А раскладка при этом какая?