From a0f6fd68a56068a20e7186e2dd2d7daccfbce4aa Mon Sep 17 00:00:00 2001 From: Pavel Perminov Date: Wed, 26 Sep 2012 19:02:53 +0000 Subject: Chess4Net_MI 2010.0 release (106 rev. truncated adjusted copy) git-svn-id: http://svn.miranda-ng.org/main/trunk@1666 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- .../lib/TntUnicodeControls/Source/TntClipBrd.pas | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 plugins/Chess4Net/lib/TntUnicodeControls/Source/TntClipBrd.pas (limited to 'plugins/Chess4Net/lib/TntUnicodeControls/Source/TntClipBrd.pas') diff --git a/plugins/Chess4Net/lib/TntUnicodeControls/Source/TntClipBrd.pas b/plugins/Chess4Net/lib/TntUnicodeControls/Source/TntClipBrd.pas new file mode 100644 index 0000000000..cf2c16e9f6 --- /dev/null +++ b/plugins/Chess4Net/lib/TntUnicodeControls/Source/TntClipBrd.pas @@ -0,0 +1,86 @@ + +{*****************************************************************************} +{ } +{ Tnt Delphi Unicode Controls } +{ http://www.tntware.com/delphicontrols/unicode/ } +{ Version: 2.3.0 } +{ } +{ Copyright (c) 2002-2007, Troy Wolbrink (troy.wolbrink@tntware.com) } +{ } +{*****************************************************************************} + +unit TntClipBrd; + +{$INCLUDE TntCompilers.inc} + +interface + +uses + Windows, Clipbrd; + +type +{TNT-WARN TClipboard} + TTntClipboard = class(TClipboard{TNT-ALLOW TClipboard}) + private + function GetAsWideText: WideString; + procedure SetAsWideText(const Value: WideString); + public + property AsWideText: WideString read GetAsWideText write SetAsWideText; + property AsText: WideString read GetAsWideText write SetAsWideText; + end; + +{TNT-WARN Clipboard} +function TntClipboard: TTntClipboard; + +implementation + +{ TTntClipboard } + +function TTntClipboard.GetAsWideText: WideString; +var + Data: THandle; +begin + Open; + Data := GetClipboardData(CF_UNICODETEXT); + try + if Data <> 0 then + Result := PWideChar(GlobalLock(Data)) + else + Result := ''; + finally + if Data <> 0 then GlobalUnlock(Data); + Close; + end; + if (Data = 0) or (Result = '') then + Result := inherited AsText +end; + +procedure TTntClipboard.SetAsWideText(const Value: WideString); +begin + Open; + try + inherited AsText := Value; {Ensures ANSI compatiblity across platforms.} + SetBuffer(CF_UNICODETEXT, PWideChar(Value)^, (Length(Value) + 1) * SizeOf(WideChar)); + finally + Close; + end; +end; + +//------------------------------------------ + +var + GTntClipboard: TTntClipboard; + +function TntClipboard: TTntClipboard; +begin + if GTntClipboard = nil then + GTntClipboard := TTntClipboard.Create; + Result := GTntClipboard; +end; + +initialization + +finalization + GTntClipboard.Free; + +end. -- cgit v1.2.3