首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

定时读取内容解决方法

2013-11-03 
定时读取内容白日依山尽,黄河入海流。欲穷千里目,更上一层楼。我想安顺序每一秒读取一句,这个怎么实现(最好

定时读取内容
白日依山尽,
黄河入海流。
欲穷千里目,
更上一层楼。

我想安顺序每一秒读取一句,这个怎么实现(最好能给出详细的代码)
[解决办法]
“读取一句”何谓“读取”?
或者说,这四句诗放在什么地方,在文件中,还是在变量中?


我假设这四句诗是保存在一个叫 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;

热点排行