问一个算法...实在没分了,谢谢...(20分)

  • 主题发起人 主题发起人 initiald
  • 开始时间 开始时间
I

initiald

Unregistered / Unconfirmed
GUEST, unregistred user!
对于定时器,可以实现计数功能嘛?
对于其每秒钟触发..
比如,第一次触发时,执行A语句
第二次触发时,执行B语句,
第三次触发时,执行C语句,
依次....
然后第11次再执行A语句,
第12次触发时在执行B语句,
依次类推,无限循环......
谢谢...
 
定义一个全局变量就可以了,每次执行timer事件时,该变量加1,然后该变量 >10时,归1就可以了。
 
用一个全局变量,初始为0,以后每触发一次就加一
等于11就重置为1
然后用case语句
 
这个全局变量何时给它赋值呢??
每触发一次加一我会,但是怎么归一呢??
 
inc(a);
if a> 10 then a=1;
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, ExtCtrls;

type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
count : Integer;
implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if count>=10 then count := 0;
case count of
0: {A语句};
1: {B语句};
2: {C语句};
3: {D语句};
4: {E语句};
5: {F语句};
6: {G语句};
7: {H语句};
8: {I语句};
9: {J语句};
end;
Inc(count);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
count := 0;
end;

end.
 

Similar threads

S
回复
0
查看
835
SUNSTONE的Delphi笔记
S
S
回复
0
查看
765
SUNSTONE的Delphi笔记
S
D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
D
回复
0
查看
785
DelphiTeacher的专栏
D
后退
顶部