delphi 读取剪粘板内的html格式数据
来源:互联网 发布:网络直播 用英文怎么说 编辑:程序博客网 时间:2024/06/01 10:29
根据剪贴板的原理,在获取剪贴板内容之前,必须指定要获取内容的格式。由于剪贴板中的数据可能存在多种格式,所以有必要对剪贴板的格式类型先做一些了解。W写下了以下的测试代码:
procedure TForm1.Button3Click(Sender: TObject);
var
i: integer;
Buffer: PChar;
s: string;
begin
Memo1.Lines.Clear; //增加了一个Memo控件来跟踪数据
with TClipboard.Create do //利用TClipboard追踪剪贴板
begin
GetMem(Buffer, 20);
for i:=0 to FormatCount - 1 do
begin
GetClipboardFormatName(Formats[i], Buffer, 20);
s := StrPas(Buffer);
Memo1.Lines.Add(Format('%s:%d', [s, Formats[i]]));
end;
FreeMem(Buffer);
Free;
end;
end;
点击Button3,在Memo1文本框中显示出以下的内容:
DataObject:49161
Object Descriptor:49166
Rich Text Format:49312
HTML Format:49394
HTML Format:14
HTML Format:3
PNG:49672
GIF:49536
JFIF:49538
……
很明显,第4行的“HTML Format:49394”应该就是HTML编辑器真正需要的格式。由于“HTML Format”并不是剪贴板默认支持的格式,所以W需要使用API函数RegisterClipboardFormat先进行注册。
procedure TForm1.Button4Click(Sender: TObject);
var
s: string;
hMem: DWORD;
CF_HTML: DWORD; // 声明一个CF_HTML剪贴板格式
txtPtr: PChar;
begin
CF_HTML := RegisterClipboardFormat('HTML Format'); //注册HTML Format格式
with TClipboard.Create do
begin
hMem := GetAsHandle(CF_HTML);
txtPtr := GlobalLock(hMem);
s := StrPas(txtPtr);
GlobalUnlock(hMem);
Memo1.Lines.Add(UF8Decode(s));
Free;
end;
end;
单击Button4就可以在memo1中看到真定html格式文本。
- delphi 读取剪粘板内的html格式数据
- ASP.net 从数据库中读取html格式的数据并显示在页面中
- 如何读取内存的数据 Delphi
- Delphi读取和写入utf-8编码格式的文件
- 使用Delphi读取网络上的文本文件,html文件
- 用Ajax读取XML格式的数据
- .NET 读取 JSON格式的数据
- servlet读取xml格式的post数据
- JQGRID读取json数据的格式要求
- hive存储读取json格式的数据
- java读取Excel指定格式的数据
- R读取spss的sav格式数据
- iOS中按行读取txt格式的数据
- 用Ajax读取XML格式的数据
- jquery处理html格式的数据
- delphi一行一行的读取txt文本的数据
- delphi 读取 .dat文件数据
- delphi ADOQuery读取数据时出现EVariantInvalidArgError的解决
- 13.2.1 系统调用原理
- wince应用程序如何调用控制面板的程序——转载
- 优化MySQL数据库性能的八种方法
- javascript 内存泄露工具使用
- 原来word可以这么玩——word常用技巧精选
- delphi 读取剪粘板内的html格式数据
- [转]解决调试AutoCAD 2006启动过程中的异常问题
- 13.2.2 打开文件、新建文件和关闭文件操作
- 成长的开始
- 减少QQ的内存占用
- 13.2.3 文件状态和属性操作
- C++编译过程中常见的一些错误
- 集群存储系统介绍
- 13.2.4 目录操作