Delphi Clipboard[2] SetTextBuf、GetTextBuf、AsText -文本操作

{该文首发于博客园 滔Roy,无须授权即可转发,请自觉保留头部申明}

Delphi Clipboard[2] SetTextBuf、GetTextBuf、AsText -文本操作

Clipboard是全局类函数 

1、AsText 属性(允许从剪贴板放置和检索文本)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
property AsText: string read GetAsText write SetAsText;
 
function TClipboard.GetAsText: string;
var
  Data: THandle;
begin
  Open;
  Data := GetClipboardData(CF_TEXT);
  try
    if Data <> 0 then
      Result := PChar(GlobalLock(Data))
    else
      Result := '';
  finally
    if Data <> 0 then GlobalUnlock(Data);
    Close;
  end;
end;
 
procedure TClipboard.SetAsText(const Value: string);
begin
  SetBuffer(CF_TEXT, PChar(Value)^, Length(Value) + 1);
end;

使用示例:

1
2
Clipboard.AsText:='滔Roy ' + DateTimeToStr(Now);    //传值到剪贴板
ShowMessage(Clipboard.AsText);                     //输出剪贴板的内容

2、SetTextBuf  (将句柄以给定格式放置在剪贴板上)

1
2
3
4
procedure TClipboard.SetTextBuf(Buffer: PChar);
begin
  SetBuffer(CF_TEXT, Buffer^, StrLen(Buffer) + 1);
end;

使用示例:

1
2
Clipboard.SetTextBuf(PChar('滔Roy ' + DateTimeToStr(Now)) );    //传值到剪贴板
ShowMessage(Clipboard.AsText);                      //输出剪贴板的内容

3、GetTextBuf  //检索、取回缓冲区的文本数据  

1
2
3
4
5
6
7
8
9
10
11
12
13
function TClipboard.GetTextBuf(Buffer: PChar; BufSize: Integer): Integer;
var
  Data: THandle;
begin
  Open;
  Data := GetClipboardData(CF_TEXT);
  if Data = 0 then Result := 0 else
  begin
    Result := StrLen(StrLCopy(Buffer, GlobalLock(Data), BufSize - 1));
    GlobalUnlock(Data);
  end;
  Close;
end;

示例:

1
2
3
4
5
6
7
var
  PArr:array[0..1024] of Char;
begin
  Clipboard.AsText:='滔Roy ' + DateTimeToStr(Now);    //传值到剪贴板
  Clipboard.GetTextBuf(PArr,Length(PArr));          //获取缓冲区的内容
  ShowMessage(PArr);                //输出内容
end;

  

  

 

 

创建时间:2022.04.14  更新时间:

posted on   滔Roy  阅读(401)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
历史上的今天:
2021-04-14 Delphi 自定义组件/控件图标
2021-04-14 Delphi Classes.TComponentState - 组件当前状态

导航

点击右上角即可分享
微信分享提示