Stringlist排序进度条

时间:2014-03-09 19:42:35

标签: delphi sorting listbox delphi-4

我有一个TListBox,在加载时可以有一个很长的字符串列表,所以我让操作员通过单击按钮启动一个Sort。有时排序可能需要一分钟,操作员仍然想知道发生了什么。

有什么方法可以使用TProgressBar来表明发生了什么事吗?如果是这样,怎么样?

OR

我可以在开始时使用灰色(视觉上禁用)屏幕,然后在排序完成后再将颜色变回白色吗?如果是这样,怎么样?

由于

1 个答案:

答案 0 :(得分:8)

我认为您的根本问题是您使用视觉控件作为容器。对容器内的列表进行排序将会产生糟糕的性能。在TStringList中放入60,000个字符串,您就可以立即对它们进行排序。

您可以在虚拟模式下操作,而不是将项目保存在可视控件中。这将是最有效的运作方式。

如果您进行了这些更改,那么您将不需要进度条。