delphi panel 隔段时间显示不同的内容
大家好!
我想实现以下的功能。
一张表中有十条记录。我想每隔10秒钟就将一条记录以字符串的形式放到panel caption 属性中。当到最后一笔记录的时候,程序又要从第一条开始显示!
谢谢!
[解决办法]
新建工程、将定时器Timer1、Panel1、ADOQuery1放入窗体,将Timer1.Enabled设为false、Timer1.Interval设为10000,设置好 ADOQuery1 与数据库的连接,摆放好Panel1后,双击定时器Timer1并输入如下代码:
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
s:string;
begin
for i:=0 to ADOQuery1.FieldCount-1 do
s:=s+ADOQuery1.Fields.Fields[i].AsString+' ';
Panel1.Caption:=s;
if ADOQuery1.Eof then
ADOQuery1.First
else
ADOQuery1.Next;
end;
在窗体的FormShow事件输入如下代码:
procedure TForm1.FormShow(Sender: TObject);
begin
ADOQuery1.Open;
Timer1.Enabled:=true;
end;
编译运行,即可达到你的目的。
[解决办法]
定时器事件代码改为:
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
s:string;
begin
for i:=0 to ADOQuery1.FieldCount-1 do
s:=s+ADOQuery1.Fields.Fields[i].AsString+' ';
Panel1.Caption:=s;
ADOQuery1.Next;
if ADOQuery1.Eof then ADOQuery1.First
end;