__int64 nSize = GetLocalFileSize("c:\a.jpg");
Edit1->Text = IntToStr(nSize);
if ( nSize > 1000 ){
ShowMessage("1000 바이트 보다 크네요~");
}
니라카 님이 쓰신 글 :
: 답변감사합니다.
:
: 그런데, 비교와 동시에 Edit Box 에 용량값을 담고싶습니다.
: a.jpg가 542kb 라면 Edit box에 542kb 가 찍히도록 가능합니까?ㅠ
: doolrifeel 님이 쓰신 글 :
:
: : // 파일 크기 구하는 함수
: __int64 __fastcall GetLocalFileSize(AnsiString FileName){
: DWORD dwLow;
: DWORD dwHigh = 0;
: __int64 FileSize = 0;
: HANDLE hFile = ::CreateFile( FileName.c_str(),
: GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL );
: if( hFile != INVALID_HANDLE_VALUE ) {
: dwLow = ::GetFileSize( hFile, &dwHigh );
: if( (dwLow != 0xFFFFFFFF) || GetLastError() == NO_ERROR )
: FileSize = (__int64)dwHigh << 32 | dwLow;
: ::CloseHandle( hFile );
: }
: return FileSize;
: }
:
: // 사용법
: if ( GetLocalFileSize("c:\a.jpg") > 1000 ){
: ShowMessage("1000 바이트 보다 크네요~");
: }
: |