多谢 sololie 我按着做了提示[Hint] Unit1.pas(42): Value assigned to 'sli' never used [Hint] Unit1.pas(41): Value assigned to 'count' never used [Error] Unit1.pas(48): Undeclared identifier: 'sli' [Error] Unit1.pas(55): Undeclared identifier: 'count' [Warning] Unit1.pas(55): Comparing signed and unsigned types - widened both operands [Error] Unit1.pas(64): Statement expected but end of file found [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
或者说,这四句诗放在什么地方,在文件中,还是在变量中?
我假设这四句诗是保存在一个叫 c:\1.txt 的文件中。
你在c盘根目录下创建一个1.txt文件,把这四句诗保存到里面。先拖一个button控件和一个timer控件到窗体上,
button 控件起名btn1,timer控件起名tmr1
timer的属性面板中,把 inteval属性设置为1000毫秒(即1秒),
把它的enabled属性设为false// 定义一个TStringList 和 integer 全局变量
var
sli:TStringList; // 用来保存诗句字符串
count:integer; // 用来计数
// 在窗体的Create事件中初始化 sli、count
procedure TForm1.FormCreate(Sender: TObject);
begin
count:=0;
sli:=TStringList.Create;
end;// 双击button进入Click事件代码中
procedure TForm1.btn1Click(Sender: TObject);
begin
// 在这里先从文件中读取这四句诗到 sli 中
sli.LoadFromFile('c:\1.txt');
// 启动计时器
tmr1.Enabled:= true;
end;// 在窗体的Destroy事件中销毁 sli
procedure TForm1.FormDestroy(Sender: TObject);
begin
sli.free;
end;// 双击timer控件进入它的Timer事件代码中
procedure TForm1.tmr1Timer(Sender: TObject);
begin
if i = sli.count-1 then // 如果已经读到了最后一句
tmr1.Enabled:= false; // 则停止计时器 Caption:= sli[i]; // 把该句显示到窗体标题栏
Inc(i); // 计数+1
end;
定时取第i行
// 双击timer控件进入它的Timer事件代码中
procedure TForm1.tmr1Timer(Sender: TObject);
begin
if count = sli.count-1 then // 如果已经读到了最后一句
tmr1.Enabled:= false; // 则停止计时器
Caption:= sli[count]; // 把该句显示到窗体标题栏
Inc(count); // 计数+1
end;
[Hint] Unit1.pas(41): Value assigned to 'count' never used
[Error] Unit1.pas(48): Undeclared identifier: 'sli'
[Error] Unit1.pas(55): Undeclared identifier: 'count'
[Warning] Unit1.pas(55): Comparing signed and unsigned types - widened both operands
[Error] Unit1.pas(64): Statement expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'