CODICE
; #INDEX# =======================================================================================================================
;Titolo: SizeLib
;Versione AutoIt: 3.3.6.1
;Lingua: Italiano
;Descrizione: UDF per calcolare e convertire la dimensione di file e cartelle
;Autore: Aaly
; ===============================================================================================================================
Local $Ctype, $Cconv, $Csize, $Cedec
Local $2Ctype, $2Cconv, $2Csize, $2Cedec
Local $3Ctype, $3Cconv, $3Csize, $3Cedec
Local $hndl, $2hndl
#cs
Nome: __ConvertSize
Descrizione: Trasforma il valore inserito
Parametri: $CCtype -> Valore di partenza
"byte"
"kbyte"
"mbyte"
"gbyte"
$CCconv -> Unità in cui trasformare il valore $Ctype
"byte"
"kbyte"
"mbyte"
"gbyte"
$CCsize -> Unità da trasformare
$CCedec -> Numero di unità visualizzate dopo la virgola
Return values: $Return -> Valore convertito
#ce
Func __ConvertSize($Ctype = "byte", $Cconv = "", $Csize = 0, $Cedec = 2)
; ----------------------------------------------------------------------------------+
; Cconverte i BYTE ;|
; ----------------------------------------------------------------------------------+
If $Ctype = "byte" Then ;Cconverte i byte
If $Cconv = "byte" Then ;Byte to byte
Return(Round($Csize, $Cedec))
ElseIf $Cconv = "kbyte" Then ;Byte to Kbyte
Return(Round(($Csize / 1024 * 100000) / 100000, $Cedec))
ElseIf $Cconv = "mbyte" Then ;Byte to Mbyte
Return(Round(($Csize / 1048576 * 100000) / 100000, $Cedec))
ElseIf $Cconv = "gbyte" Then ;Byte to Gbyte
Return(Round(($Csize / 1073741824 * 100000) / 100000, $Cedec))
EndIf
EndIf
; ----------------------------------------------------------------------------------+
; Cconverte i K BYTE ;|
; ----------------------------------------------------------------------------------+
If $Ctype = "kbyte" Then ;Cconverte i Kbyte
If $Cconv = "byte" Then ;Kbyte to byte
Return(Round(($Csize * 1024 * 100000) / 100000, $Cedec))
ElseIf $Cconv = "kbyte" Then ;Kbyte to Kbyte
Return(Round($Csize, $Cedec))
ElseIf $Cconv = "mbyte" Then ;Kbyte to Mbyte
Return(Round(($Csize / 1024 * 100000) / 100000, $Cedec))
ElseIf $Cconv = "gbyte" Then ;Kbyte to Gbyte
Return(Round(($Csize / 1048576 * 100000) / 100000, $Cedec))
EndIf
EndIf
; ----------------------------------------------------------------------------------+
; Cconverte i M BYTE ;|
; ----------------------------------------------------------------------------------+
If $Ctype = "mbyte" Then ;Cconverte i Mbyte
If $Cconv = "byte" Then ;Mbyte to byte
Return(Round(($Csize * 1048576 * 100000) / 100000, $Cedec))
ElseIf $Cconv = "kbyte" Then ;Mbyte to Kbyte
Return(Round(($Csize * 1024 * 100000) / 100000, $Cedec))
ElseIf $Cconv = "mbyte" Then ;Mbyte to Mbyte
Return(Round($Csize, $Cedec))
ElseIf $Cconv = "gbyte" Then ;Mbyte to Gbyte
Return(Round(($Csize / 1024 * 100000) / 100000, $Cedec))
EndIf
EndIf
; ----------------------------------------------------------------------------------+
; Cconverte i G BYTE ;|
; ----------------------------------------------------------------------------------+
If $Ctype = "gbyte" Then ;Cconverte i Gbyte
If $Cconv = "byte" Then ;Gbyte to byte
Return(Round(($Csize * 1073741824 * 100000) / 100000, $Cedec))
ElseIf $Cconv = "kbyte" Then ;Gbyte to Kbyte
Return(Round(($Csize * 1048576 * 100000) / 100000, $Cedec))
ElseIf $Cconv = "mbyte" Then ;Gbyte to Mbyte
Return(Round(($Csize * 1024 * 100000) / 100000, $Cedec))
ElseIf $Cconv = "gbyte" Then ;Gbyte to Gbyte
Return(Round($Csize, $Cedec))
EndIf
EndIf
Return
EndFunc ;==>__ConvertSize
#cs
Nome: __File_GetConvertSize
Descrizione: Ritorna il valore di un file convertito
Parametri: $hndl -> Posizione del file
$CCtype -> Valore di partenza
"byte"(default)
"kbyte"
"mbyte"
"gbyte"
$CCconv -> Unità in cui trasformare il valore $Ctype
"byte"
"kbyte"
"mbyte"
"gbyte"
$CCedec -> Numero di unità visualizzate dopo la virgola
Return values: $Return -> Valore convertito
#ce
Func __File_GetConvertSize($hndl = "", $2Ctype = "byte", $2Cconv = "kbyte", $2Cedec = 2)
If $2Ctype = "byte" Then Return(__ConvertSize("byte", $2Cconv, FileGetSize($hndl), $2Cedec))
If $2Ctype = "kbyte" Then Return(__ConvertSize("kbyte", $2Cconv, FileGetSize($hndl), $2Cedec))
If $2Ctype = "mbyte" Then Return(__ConvertSize("mbyte", $2Cconv, FileGetSize($hndl), $2Cedec))
If $2Ctype = "gbyte" Then Return(__ConvertSize("gbyte", $2Cconv, FileGetSize($hndl), $2Cedec))
Return
EndFunc ;==>__File_GetConvertSize
#cs
Nome: __Dir_GetConvertSize
Descrizione: Ritorna il valore di una cartella convertito
Parametri: $hndl -> Posizione della cartella
$CCtype -> Valore di partenza
"byte"(default)
"kbyte"
"mbyte"
"gbyte"
$CCconv -> Unità in cui trasformare il valore $Ctype
"byte"
"kbyte"
"mbyte"
"gbyte"
$CCedec -> Numero di unità visualizzate dopo la virgola
Return values: $Return -> Valore convertito
#ce
Func __Dir_GetConvertSize($2hndl = "", $3Ctype = "byte", $3Cconv = "kbyte", $3Cedec = 2)
If $3Ctype = "byte" Then Return(__ConvertSize($3Ctype, $3Cconv, DirGetSize($2hndl), $3Cedec))
If $3Ctype = "kbyte" Then Return(__ConvertSize($3Ctype, $3Cconv, DirGetSize($2hndl), $3Cedec))
If $3Ctype = "mbyte" Then Return(__ConvertSize($3Ctype, $3Cconv, DirGetSize($2hndl), $3Cedec))
If $3Ctype = "gbyte" Then Return(__ConvertSize($3Ctype, $3Cconv, DirGetSize($2hndl), $3Cedec))
Return
EndFunc ;==>__Dir_GetConvertSize