怎么在image控件里按一定时间间隔循环显示10张图片,高手赐教,(50分)

  • 主题发起人 主题发起人 delphikings
  • 开始时间 开始时间
D

delphikings

Unregistered / Unconfirmed
GUEST, unregistred user!
如题!谢谢!
 
用Timer定时,在Timer中加入计数,10次后返回。
 
是啊,我用timer了,以下是在timer的事件里的代码
for i:=1 to 9 do
begin
temp:='00'+inttostr(i)+'.jpg';
image1.Picture.LoadFromFile(temp);
end;
可是总显示一张,帮忙看看,最好带源码
 
var i:integer
filename:string;

for i:=0 to 9 do
begin
filename:=inttostr(i)+'.图片格式';
image1.picture.loadfile(filename);
if i:=9 then i:=0;
end;
 
还有时间的循环忘了,自己加
 
我就是不知道时间应该怎么循环,你这个想法跟我的差不多,你把时间加上好吗
谢谢
 
你的方法不对!!!!
声明一个全局变量:
var
ImgIndex:integer;
并初始化为 0;

在timer中如下进行:

var
temp:string;
begin
temp:='00'+inttostr(iMgIndex)+'.jpg';
image1.Picture.LoadFromFile(temp);
inc(ImgIndex);
if ImgIndex=10 then ImgIndex:=0;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
const
ImgId: Integer = 0;
begin
image1.picture.loadfile(inttostr(imgid)+'.图片格式');
inc(ImgId);
if ImgId > 9 then ImgId := 0;
end;
 
谢谢,我想问问为什么用for 循环就不行呢
 
因为在timer中是没阁一定时间就触发依次,不用循环 了
 
不要用全局变量吧,用一个私有变量解决更好
private
ImgIndex:integer;
并初始化为 0;

在timer中如下进行:

var
temp:string;
begin
temp:='00'+inttostr(iMgIndex)+'.jpg';
image1.Picture.LoadFromFile(temp);
inc(ImgIndex);
if ImgIndex=10 then ImgIndex:=0;
end;
 
看看ttimer怎么用吧,这些基本控件都应当掌握的
 
Timer timer timer

 
>>谢谢,我想问问为什么用for 循环就不行呢
Timer每执行一次,就会把你的for循环全部执行完,最后载入的当然只是最后一张图片而
不会是其他图片了。按照jsxjd说的做就没错了。
 
同意HunterTeam的说法,没错的
 

Similar threads

D
回复
0
查看
848
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部