请教关于在文本框(Edit)中快速显示大量数据的问题
在写程序中需要将生成的大量数据(1万字符以上)显示在文本框里,使用
for i:=0 to j do //j>10000
RE1.Text := RE1.Text + stOut[i] + ',';
的方法将数据显示在文本框里。但是在使用时发现,在刚开始显示的时候文本框内没有内容,右侧滚动条在不停下滚,等好长时间后文本框内才将内容显示出来。请教各位老师,在这种情况下有没有其他更好的方法来显示大量数据呢?(速度更快,而且能即时显示出来,让用户看到数据显示过程) Dephi文本框?大量数据?快速显示 Dephi 文本框 大量数据 快速显示
[解决办法]
在循环里加一句试试
Application.ProcessMessages;
[解决办法]
这种循环复制数据再添加的方法很耗费资源,尝试直接添加数据到末端的方式。
RE1.Lines.Add(stOut[i]);
然后在RichEdit的OnChange事件中加入滚屏:
SendMessage(RE1.Handle, WM_VSCROLL, SB_BOTTOM, 0);
[解决办法]
这个用下面的方法添加数据:
procedure TForm1.btn1Click(Sender: TObject);
begin
re1.SetFocus;
re1.SelStart := Length(re1.Text);
re1.SelText := stOut[i] + ',';
end;