http://www.swissdelphicenter.com/torry/showcode.php?id=640有一个复制列表项目到剪贴板的示例。该代码适用于WIN-XP和Delphi 7.它不适用于XE7。我猜测16位字符或字符串类型导致问题,因为列表中的数据来自一个USB外设与8位字符。 但代码看起来正确。XE7将文本复制到剪贴板
回答
复制到剪贴板代码应该是这样的:
procedure ListBoxToClipboard(ListBox: TListBox; CopyAll: Boolean);
var
i: Integer;
s: string;
begin
s := '';
for i := 0 to ListBox.Items.Count - 1 do
begin
if CopyAll or ListBox.Selected[i] then
s := s + ListBox.Items[i] + sLineBreak;
end;
ClipBoard.AsText := s;
end;
注:我从原代码改变CopyAll逻辑,因为它没有多大意义了我。所有项目都必须复制到剪贴板,或只有选定的项目。不管ListBox是否具有MultiSelect,都不应该有任何区别。
@jc您可能想知道是否值得保留'if not Assigned(ListBox)'。我知道我不会。 – 2014-12-19 10:30:12
@David同意,这个Assigned只是多余的。 – 2014-12-19 10:31:32
你会在'Clipbrd'单元中找到'ClipBoard'。 – 2016-04-08 02:49:26
procedure ListBoxToClipBoard(lb:TListBox; copyAll:Boolean);
var
i: integer;
sb: TStringBuilder;
begin
sb := TStringBuilder.Create;
try
for i := 0 to lb.Items.Count -1 do
if copyAll or lb.Selected[i] then
sb.AppendLine(lb.Items[i]);
Clipboard.AsText := sb.ToString;
finally
sb.Free;
end;
end;
欢迎来到SO.Code可能会回答这个问题,但稍微有些解释可能会帮助其他程序员了解它是如何工作的。 – Daenarys 2014-12-19 10:46:25
为了列表框内容到剪贴板复制,您可以使用下面的代码:
uses
Vcl.Clipbrd;
procedure TForm1.FormCreate(Sender: TObject);
begin
Clipboard.AsText := ListBox1.Items.Text;
end;
添加一些关于此代码的解释,代码只能回答删除的风险。 – 2017-12-04 22:50:27
我不认为这需要解释。它不会做的只是复制选定的文本。如果列表框有1000行,并且只需要最后5行,那么就会产生问题。但否则这是一个非常简单的解决方案。 – jcdammeyer 2017-12-05 16:29:44
- 1. 复制的JTextPane文本到剪贴板
- 2. 将文件复制到剪贴板Node.JS
- 3. 将文件夹复制到剪贴板
- 4. 将文件复制到剪贴板
- 5. 将文件复制到剪贴板
- 6. PyQT - 将文件复制到剪贴板
- 7. Prism.js复制到剪贴板
- 8. 将文本从WPF DataGrid复制到剪贴板到Excel
- 9. 复制到基本html的剪贴板
- 10. 检查复制文本的剪贴板
- 11. Android:防止剪贴板复制文本
- 12. Sketch.js将画布复制到剪贴板
- 13. 将DataGridView内容复制到剪贴板
- 14. WebBrowser将图像复制到剪贴板
- 15. 剪贴板将对象复制到
- 16. Codename one:将msg复制到剪贴板
- 17. Eclipse:将警告复制到剪贴板
- 18. 将userdomain复制到剪贴板错误
- 19. 将属性复制到剪贴板
- 20. 将图像复制到剪贴板
- 21. asp.net将表格复制到剪贴板
- 22. 将属性值复制到剪贴板
- 23. 通过UIButton从UITextView将文本复制到剪贴板(粘贴板)?
- 24. jQuery文档复制到剪贴板
- 25. 将文本从列表视图复制到剪贴板长按
- 26. 平台无关的工具将文本复制到剪贴板
- 27. Photoshop JSX - 如何将任意文本复制到剪贴板?
- 28. 使用javascript将文本复制到剪贴板
- 29. 使用鼠标递增地将文本复制到剪贴板
- 30. 将文本复制到MFC中的剪贴板中
该代码是可怕的。它使用短字符串。不要使用该代码。 – 2014-12-19 10:10:56