用delphi监控文件修改时间是否发生变化并作出自动处理

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    tmrl: TTimer;
    mmo1: TMemo;
    edtT1: TEdit;
    edtT3: TEdit;
    procedure tmrlTimer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function CovFileDate(Fd:_FileTime):TDateTime;
var
Tct:_SystemTime;
Temp:_FileTime;
begin
FileTimeToLocalFileTime(Fd,Temp);
FileTimeToSystemTime(Temp,Tct);
CovFileDate:=SystemTimeToDateTime(Tct);
end;

procedure TForm1.tmrlTimer(Sender: TObject);
const
Model='HH:mm:ss';
var
SysTime: Windows.TSystemTime;
Tp:TSearchRec;
T1,T2,T3:String;
Result:TDateTime;
begin
if FileExists('js.txt') then
    begin
      FindFirst('js.txt',faAnyFile,Tp);
      T2:=FormatDateTime(Model,CovFileDate(Tp.FindData.ftLastWriteTime));
      mmo1.Lines.Append(T2);
      FindClose(Tp);
      T1:=T2;
      edtT1.Text:=T1;
      mmo1.Lines.Append('循环中T1=T2='+T1);
      if(T1<>edtT3.Text) then   //T3=''
      begin
       mmo1.Lines.Append(T1+'变更一次!');  //
       T3:=T1;
       edtT3.Text:=T3;
      end;

    end;
end;

end.

算法:

1.定义一个timer每隔几秒自动执行一次;
2.检查文件是否存在,如果存在
3.每隔几秒就获取一次修改时间
4.和初始变量对比,如果值已经发生变化,作出相应处理,并将当前值计入新的edit中
5.将重新获取的值与edit.text值进行对比

转载于:https://my.oschina.net/u/3793336/blog/3054936

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值