首页 > 代码库 > XE7 & FMX 那些年我们一起上过的控件:ListView 之 (2) 加载数据时如何显示进度条
XE7 & FMX 那些年我们一起上过的控件:ListView 之 (2) 加载数据时如何显示进度条
本文介绍一下ListView下如何加载数据、及使用进度条反馈当前进度给用户。
注意:
原创作品,请尊重作者劳动成果,转载请注明出处!!!原文永久固定地址:http://www.cnblogs.com/weii/p/4190694.html
我们先来看看效果图:
进度条需要这样用的,以下为本文参考代码:
procedure TForm1.Button2Click(Sender: TObject);begin TThread.CreateAnonymousThread( procedure() var i,j: integer; t1,t2: cardinal; t3: double; begin listView1.Items.Clear; label1.Text:=‘‘; i:=1000; ProgressBar1.Value:=0; //没有数据, 置0 ProgressBar1.Max:=i; //最大值 t1:=TThread.GetTickCount; //记录时间,非必须的 for j := 0 to i do begin //如果你是从数据库或内存表里取数据的,则应该如 for j:=0 to ClientDataSet.RecordCount-1 do 这样取 sleep(5); //停5ms,必须的,否则下面填数据时会卡菊花。这里看你CPU的强硬程度,5-20即可,手机用户需适当设置 TThread.Synchronize(TThread.CurrentThread, procedure() begin with ListView1.Items.Add do begin text:=‘No: ‘+j.ToString; t2:=TThread.GetTickCount; //记录时间,非必须的 t3:=(t2-t1)/1000; //计算时间,非必须的 detail:=Format(‘耗时:%f 秒‘,[t3]); //显示耗时 end; ProgressBar1.Value:=j; //进度条当前进度 Label1.Text:=Format(‘[ 进度:%d / %d ]‘,[j,i]); //显示当前进度 end ); end; end).start;end;
以上只是简单表示一下思路,各位可以发挥想像处理得更好。
在下一篇,我们介绍一下如何自定义进度样式显示ListView加载进度。谢谢关注本文。
PS:
---------------------------------------------------------------
FireMonkey移动开发可加QQ群:165232328 (本人非管理员,仅仅其中一成员,此群高手林立,期待各位Delphi爱好者共同交流)。
XE7 & FMX 那些年我们一起上过的控件:ListView 之 (2) 加载数据时如何显示进度条
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。