⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testfunctionunit.pas

📁 软件可自动完成SQL Server数据库和文档的数据定时自动备份
💻 PAS
字号:
unit TestFunctionUnit;

interface
uses
  Classes, Windows, SysUtils;
  
function CovFileDate(Fd:_FileTime):TDateTime;
function GetFileLastModifyTime(sFileName:string):TDateTime;
function GetFileSize(sFileName:string): real;
function SendFile(sFileName, aFileName:String):Boolean;
implementation


function CovFileDate(Fd:_FileTime):TDateTime;
{ 转换文件的时间格式 } 
var 
  Tct:_SystemTime;
  Temp:_FileTime;
begin 
  FileTimeToLocalFileTime(Fd,Temp);
  FileTimeToSystemTime(Temp,Tct);
  CovFileDate:=SystemTimeToDateTime(Tct); 
end; 

{function GetFileLastModifyTime(sFileName:string):TDateTime;
var
  FileOp : TOFStruct ;
  FHandle : THandle ;
  FInfo : TByHandleFileInformation ;
  dtCreate : TSystemTime;
  dtGet:TDateTime;
  Temp:_FileTime;
begin
  FHandle:= openfile(pchar(sFileName),FileOp,OF_READ);
  GetFileInformationByHandle(FHandle,FInfo);
  FileTimeToLocalFileTime(FInfo.ftLastWriteTime,Temp);
  FileTimeToSystemTime(Temp,dtCreate);
  dtGet:=SystemTimeToDateTime(dtCreate);
  {result:= StrToDateTime(inttostr(dtCreate.wYear)+'-'+inttostr(dtCreate.wMonth)+'-'+inttostr(dtCreate.wDay)
           +' '+inttostr(dtCreate.wHour)+':'+inttostr(dtCreate.wMinute)+':'+inttostr(dtCreate.wSecond));
  result:=dtGet;
  _lclose(FHandle);
end;   }

function GetFileLastModifyTime(sFileName:string):TDateTime;
{ 获取文件时间,Tf表示目标文件路径和名称 } 
const 
  Model='yyyy/mm/dd hh:mm:ss'; { 设定时间格式 }
var 
  Tp:TSearchRec; { 申明Tp为一个查找记录 }
  //T1,T2,T3:string;
begin
  FindFirst(sFileName,faAnyFile,Tp); { 查找目标文件 }
  ///T1:=FormatDateTime(Model,CovFileDate(Tp.FindData.ftCreationTime)));
  { 返回文件的创建时间 }
  result:=StrToDateTime(FormatDateTime(Model,CovFileDate(Tp.FindData.ftLastWriteTime)));
  { 返回文件的修改时间 }
  //T3:=FormatDateTime(Model,Now));
  { 返回文件的当前访问时间 }
  FindClose(Tp);
end;


function GetFileSize(sFileName:string): real;
var f : TFileStream;
begin
  if FileExists(sFileName) then
    begin
      f:= TFileStream.Create(sFileName,fmOpenRead or fmShareDenyNone);
      Result:= f.Size/1024;
      F.Free;
    end
  else
    Result:= 0;
end;

function SendFile(sFileName, aFileName:String):Boolean;
var
  sourceFile: file;
  aimFile: file;
  NumRead,NumWrite:integer;
  Buf:array[1..2048] of Char;
  noWrong:Boolean;
begin
  noWrong:=True;
  try
    try
      AssignFile(sourceFile,sFileName);
      Reset(sourceFile,1);
      AssignFile(aimFile,aFileName);
      Rewrite(aimFile,1);
      repeat
        BlockRead(sourceFile,Buf,SizeOf(Buf),NumRead);
        BlockWrite(aimFile,Buf,NumRead,NumWrite);
      until (NumRead = 0)or(NumWrite <> NumRead);
    except
      noWrong:=False;
    end;
  finally
    CloseFile(sourceFile);
    CloseFile(aimFile);
  end;
  result:=noWrong;
end;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -