起码有500间房,要求在一个窗体上用不同的颜色直接看出各个房间的房态,房态库由以下几个字段构成:
fh(房号)
fl(房间类型)
ftdm(房态代码,1表示空房,2表示是散客在住,3表示是团体的客人在住,4表示是维修的房,5表示是已经被预订的房等等)我准备用500多个Panel,每个Panel代表一间房。
现在的问题的要求30秒或者最迟60秒就刷新房态一次,如果用
for i:=0 to 500 do
begin
...
end;
的方法去刷新那会很慢,而且如果查到房态代码是有客人在住的话,就要到另一个库去取得客人的信息
各位大侠帮我想想有什么好的办法解决这个问题吧

解决方案 »

  1.   

    不要用PANEL,直接就生成一个LABEL用加换行的方法,把LABEL的颜色设置一下就行了,我用PANEL画图,慢死了。控件直接就用数组,用代码添加这样会快很多
      

  2.   

    建议你用dbctrlgrid试一下,应该比panel要好,有机会还是学习一下泰能的房态盘,它是国内最好的。
      

  3.   

    用onpaint来画图会更快一点,vcl用了double buffer技术,而且,用label的话还要再创建500个窗体ps: for i:=1 to 500 do //不是for i:=0 to 500 do
      

  4.   

    500个panel
    建议有房子状态发生改变的时候 才通知刷新一次 刷新的时候也只对改变的房间刷新
    就不用一次刷新500个panel了
    速度应该没问题