[코드] Delphi는 파일과 폴더 크기를 가져옵니다(2G 이상의 큰 파일 지원).
1648 단어 Delphi
function FileSize(FileName: string): Int64;
var
sr: TSearchRec;
begin
if FindFirst(FileName, faAnyFile, sr) = 0 then
Result := Int64(sr.FindData.nFileSizeHigh) shl 32 + Int64(sr.FindData.nFileSizeLow)
else
Result := 0;
FindClose(sr);
end;
폴더 크기를 가져오는 함수는 다음과 같습니다.
function FolderSize(FolderName: string): Int64;
var
sr: TSearchRec;
begin
Result := 0;
if RightStr(FolderName, 1) <> '\' then FolderName := FolderName + '\';
if FindFirst(FolderName + '*.* ', faAnyFile, sr) = 0 then
repeat
if (sr.Name <> '.') and (sr.Name <> '..') then begin
Result := Result + FileSize(FolderName + sr.Name);
if (sr.Attr and faDirectory) <> 0 then
Result := Result + FolderSize(FolderName + sr.Name + '\');
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;
참조:
Technorati 태그:
Delphi ,
FindFirst ,
nFileSizeHigh
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.