function filectime(filename:string):tdatetime; var vSearchRec: TSearchRec; LocalFileTime: TFileTime; I: Integer; begin if FindFirst(filename, faAnyFile, vSearchRec) = 0 then FileTimeToLocalFileTime(vSearchRec.FindData.ftLastWriteTime, LocalFileTime); FileTimeToDosDateTime(LocalFileTime, LongRec(I).Hi, LongRec(I).Lo); // Memo1.Lines.Values['修改时间'] := DateTimeToStr(FileDateToDateTime(I)); FindClose(vSearchRec); result:=FileDateToDateTime(I); end;这是取文件修改时间的其它的自已查一下msdn改吧
const FILE_CREATE_TIME = 0; //创建时间 FILE_MODIFY_TIME = 1; //修改时间 FILE_ACCESS_TIME = 3; //访问时间function TForm1.GetFileLastAccessTime(a_FileName: string; a_Flag: Byte): TDateTime; var ffd: TWin32FindData; dft: DWord; lft: TFileTime; h: THandle; begin h:=FindFirstFile(PChar(a_FileName),ffd); if h<>INVALID_HANDLE_VALUE then begin case a_Flag of FILE_CREATE_TIME:FileTimeToLocalFileTime(ffd.ftCreationTime,lft); FILE_MODIFY_TIME:FileTimeToLocalFileTime(ffd.ftLastWriteTime,lft); FILE_ACCESS_TIME:FileTimeToLocalFileTime(ffd.ftLastAccessTime,lft); else FileTimeToLocalFileTime(ffd.ftLastAccessTime,lft); end; FileTimeToDosDateTime(lft,LongRec(dft).Hi,LongRec(dft).Lo); Result := FileDateToDateTime(dft); Windows.FindClose(h); end else Result:=0; end;//整型 function TForm1.IFormatByte(nSize: Int64): string; begin if nSize > 1073741824 then Result := FormatFloat('###,##0.00G', nSize / 1073741824) else if nSize > 1048576 then Result := FormatFloat('###,##0.00M', nSize / 1048576) else if nSize > 1024 then Result := FormatFloat('###,##00K', nSize / 1024) else Result := FormatFloat('###,#0B', nSize); if Length(Result) > 2 then if Result[1] = '0' then Delete(Result, 1, 1); end;function TForm1.FFormatByte(fSize: Double): string; begin if fSize > 1073741824.0 then Result := FormatFloat('###,##0.00G', fSize / 1073741824.0) else if fSize > 1048576.0 then Result := FormatFloat('###,##0.00M', fSize / 1048576.0) else if fSize > 1024.0 then //Result := FormatFloat('###,##00K', fSize / 1024.0) Result := FormatFloat('###,##00.00K', fSize / 1024.0) else Result := FormatFloat('###,#0B', fSize); if Length(Result) > 2 then if Result[1] = '0' then Delete(Result, 1, 1); end;
var
vSearchRec: TSearchRec;
LocalFileTime: TFileTime;
I: Integer;
begin
if FindFirst(filename, faAnyFile, vSearchRec) = 0 then FileTimeToLocalFileTime(vSearchRec.FindData.ftLastWriteTime, LocalFileTime);
FileTimeToDosDateTime(LocalFileTime, LongRec(I).Hi, LongRec(I).Lo);
// Memo1.Lines.Values['修改时间'] := DateTimeToStr(FileDateToDateTime(I));
FindClose(vSearchRec);
result:=FileDateToDateTime(I);
end;这是取文件修改时间的其它的自已查一下msdn改吧
FILE_CREATE_TIME = 0; //创建时间
FILE_MODIFY_TIME = 1; //修改时间
FILE_ACCESS_TIME = 3; //访问时间function TForm1.GetFileLastAccessTime(a_FileName: string;
a_Flag: Byte): TDateTime;
var
ffd: TWin32FindData;
dft: DWord;
lft: TFileTime;
h: THandle;
begin
h:=FindFirstFile(PChar(a_FileName),ffd);
if h<>INVALID_HANDLE_VALUE then
begin
case a_Flag of
FILE_CREATE_TIME:FileTimeToLocalFileTime(ffd.ftCreationTime,lft);
FILE_MODIFY_TIME:FileTimeToLocalFileTime(ffd.ftLastWriteTime,lft);
FILE_ACCESS_TIME:FileTimeToLocalFileTime(ffd.ftLastAccessTime,lft);
else
FileTimeToLocalFileTime(ffd.ftLastAccessTime,lft);
end;
FileTimeToDosDateTime(lft,LongRec(dft).Hi,LongRec(dft).Lo);
Result := FileDateToDateTime(dft);
Windows.FindClose(h);
end
else
Result:=0;
end;//整型
function TForm1.IFormatByte(nSize: Int64): string;
begin
if nSize > 1073741824 then
Result := FormatFloat('###,##0.00G', nSize / 1073741824)
else if nSize > 1048576 then
Result := FormatFloat('###,##0.00M', nSize / 1048576)
else if nSize > 1024 then
Result := FormatFloat('###,##00K', nSize / 1024)
else
Result := FormatFloat('###,#0B', nSize);
if Length(Result) > 2 then
if Result[1] = '0' then
Delete(Result, 1, 1);
end;function TForm1.FFormatByte(fSize: Double): string;
begin
if fSize > 1073741824.0 then
Result := FormatFloat('###,##0.00G', fSize / 1073741824.0)
else if fSize > 1048576.0 then
Result := FormatFloat('###,##0.00M', fSize / 1048576.0)
else if fSize > 1024.0 then
//Result := FormatFloat('###,##00K', fSize / 1024.0)
Result := FormatFloat('###,##00.00K', fSize / 1024.0)
else
Result := FormatFloat('###,#0B', fSize);
if Length(Result) > 2 then
if Result[1] = '0' then
Delete(Result, 1, 1);
end;
txt 文本文档
文本文件属性: 显示的就是
文件类型: 文本文档这个你自已去找吧,很简单的就是注册表操作,从注册表中获取文件类型名称。