关于Ansi版Delphi剪切板中文乱码的问题

    xiaoxiao2021-03-25  110

    Ansi版Delphi的剪贴板也是用Ansi字符串实现的,Clipboard.AsText是用CF_TEXT方式,设置和获取的都是AnsiString类型,处理中文时就是乱码,直接改Clipbrd单元当然不是好办法,嗯,可以在TClipboard上继承一个新类来实现:

    TUnicodeClipboard = class(TClipboard) private function GetAsUnicodeText: WideString; procedure SetAsUnicodeText(const Value: WideString); public property AsUnicodeText: WideString read GetAsUnicodeText write SetAsUnicodeText; end; 使用时:

    var s: string; begin s := TUnicodeClipboard(Clipboard).AsUnicodeText; end;

    转载请注明原文地址: https://ju.6miu.com/read-18872.html

    最新回复(0)