![]() |
1
9
简单的解决方案:使用带有自定义绘制方法的tlistbox,并使用只包含基本信息而不包含格式的对象将日志条目放入TobjectList(这将在演示代码中应用)。 或者使用虚拟字符串列表/ VirtualTreeView 组件。只呈现需要显示的项目,这将节省资源。 |
![]() |
2
4
假设您的日志长度为1000000行,您可以忘记使用HTML或RTF,最干净的解决方案(我处理100-1000000)是使用(如Mjustin建议的)一个具有
因为一次只能查看几个条目,“按需解析”方法明显更好,因为在您尝试解析所有百万行时,在加载时没有“减速”。 不知道您的实际问题,我只能说,在我的经验中,这是一种技术,一旦学习和掌握,在大多数面向数据的应用程序中是有用的。 增强功能包括在列表框上方附加一个标题控件(我将它们包装在一个面板中),您可以创建一个高级的tlistview控件。在header控件的click事件上附加一点排序逻辑,您可以对对象列表进行排序,您所要做的就是调用列表框。如果可以的话,使其无效以刷新视图。 ++用于实时更新。我现在这样做,是触发一个计时器事件来调整列表框。因为您不想每秒更新列表框1000次,所以计数。-) |
![]() |
3
1
您可能需要为Delphi购买词汇扫描器或源代码/语法高亮显示组件。有很多可用的,大多数不是很贵。在您的情况下,您将希望测试一些,并找到一个有效的足够您的需要。 几个例子是:
为了提高突出显示非常大的日志文件的效率,请查看专门突出显示文本文件的日志文件。它们应该非常快。但里奇德也不是一个懒散的人。 |
![]() |
4
1
如果您决定按照建议使用tlistbox,请确保您允许用户将他们正在查看的行的详细信息复制到剪贴板。没有什么比无法从日志中复制行更糟糕的了。 |
![]() |
5
0
我想你想展示一个现有的纯文本日志,但要对其应用颜色吗? 我可以想到以下几种选择:
如果您自己编写日志,也可以首先使用trichedit在rtf中生成日志。或者,您可以用HTML或XML生成日志(然后可以使用XSLT将其转换为您喜欢的任何内容)。 |
![]() |
6
0
对于那些感兴趣的人,这里是我最终使用的代码。如果将此附加到TvirtualstringTree的OnAfterCellPaint事件,它将提供所需的结果。
|
![]() |
Some1Else · 函数在Delphi中重新创建TForm 3 年前 |
![]() |
Agmcz · Delphi安卓库。so未安装(AAB) 3 年前 |
![]() |
nader · 如何使用delphi在web上提交表单 7 年前 |
![]() |
kwadratens · Delphi中的卡方分布函数代码 7 年前 |
|
user9672569 · 如何在完整的位图图像中绘制阴影效果? 7 年前 |
![]() |
mmmm · MSBuild(用于Delphi)Make-like功能 7 年前 |