ファイルサイズを取得(U)         <TOP>


ファイルサイズを取得します。

GetCompressedFileSize ファイルサイズを取得

 

例は、選択したファイルのサイズを取得します。

左:通常(圧縮に対して)ファイルサイズ取得例    右:圧縮ファイルのサイズ取得例

 

 

'================================================================
'= ファイルサイズを取得
'=    (GetCompressedFileSize.bas)
'================================================================
#include "Windows.bi"

' ファイルサイズを取得
Declare Function Api_GetCompressedFileSize& Lib "kernel32" Alias "GetCompressedFileSizeA" (ByVal lpFileName$, lpFileSizeHigh&)

Var Shared Text1 As Object
Var Shared Text2 As Object

Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14
Text2.Attach GetDlgItem("Text2") : Text2.SetFontSize 14

Var Shared FileName As String

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Text1.SetWindowText ""
    Text2.SetWindowText ""

    FileName = WinOpenDlg("ファイルのオープン","C:\*.*","全てのファイル(*.*)", 0)
    If FileName <> Chr$(&H1B) Then
        Text1.SetWindowText FileName
    End If
End Sub

'================================================================
'=
'================================================================
Declare Sub Button2_on edecl ()
Sub Button2_on()
    Var Ret As Long

    Ret = Api_GetCompressedFileSize(FileName, ByVal 0)

    Text2.SetWindowText Format$(Ret," ###,###,###,### Bytes")
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End