📄 testfunctionunit.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 + -