gpt4 book ai didi

delphi - 如何处理大型字符串网格?

转载 作者:行者123 更新时间:2023-12-03 15:03:55 25 4
gpt4 key购买 nike

我发现我可能必须使用少于 10 列但大约 50k 行的字符串网格。

实验表明它对 CPU 的 react 非常迟钝。

有什么指点吗?

代码还是组件?

最好是 Delphi (7) 内置或 TMS(我有许可证)或 FOSS(用于商业用途)。

<小时/>

更新:请不要只告诉我使用虚拟 TreeView 等。请告诉我为什么,以便我可以学到一些东西。谢谢。

最佳答案

我不认为问题来自于将此数字添加到 TStringGrid。

添加 100k 行只需不到 1 秒(700 毫秒)(不是高端 PC,只是双核)。

procedure TForm1.btn1Click(Sender: TObject);
Const
arr : array[1..5] of string = ('One','Two','Three','Four','Five');
Rows = 100000;
var
I: Integer;
F,E : Integer;
begin
StringGrid1.RowCount := Rows;
F := GetTickCount;
for I := 0 to Rows do
begin
StringGrid1.Cells[1,I] := Arr[1] + IntToStr(I);
StringGrid1.Cells[2,I] := Arr[2]+ IntToStr(I);
StringGrid1.Cells[3,I] := Arr[3]+ IntToStr(I);
StringGrid1.Cells[4,I] := Arr[4]+ IntToStr(I);
StringGrid1.Cells[5,I] := Arr[5]+ IntToStr(I);
end;
E := GetTickCount;
ShowMessage(Inttostr(E-F));
end;

我认为你的代码很慢,你从数据库中获取数据吗?如果是这样,这将是您代码的瓶颈,还会向任何网格添加 50k 来向用户显示,称为“不好的做法”

如果不显示任何代码,很难告诉您为什么速度很慢。

关于delphi - 如何处理大型字符串网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4600168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com