SizeLib

« Older   Newer »
  Share  
Aaly
CAT_IMG Posted on 25/6/2010, 14:02     +1   -1




Ho creato questa semplice UDF per convertire velocemente la dimensione dei file.
Infatti autoit prende la dimensione in byte, e spesso risulta scomodo.
Allego lo script con l'esempio in .au3 ed ecco la udf singola:

SPOILER (click to view)
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


Un commento sarebbe gradito ^^

Download attachment
SizeLib.rar ( Number of downloads: 26 )

 
Top
Lahace
CAT_IMG Posted on 25/6/2010, 14:05     +1   -1




lol abbastanza utile peccato che ad aprirla si sformatta tutta la pagina xD
 
Top
Aaly
CAT_IMG Posted on 25/6/2010, 14:05     +1   -1




Voto per rimettere la vecchia skin ù.ù
 
Top
MHack
CAT_IMG Posted on 25/6/2010, 14:17     +1   -1




Bravo Aaly, molto utile. ;)
 
Top
Aaly
CAT_IMG Posted on 25/6/2010, 14:24     +1   -1




Grazie :)
 
Top
Gianlu-thebest
CAT_IMG Posted on 25/6/2010, 14:48     +1   -1




Cuoto aaly xD

Bella udf...
 
Top
Aaly
CAT_IMG Posted on 25/6/2010, 16:45     +1   -1




thanks
 
Top
3ad_Pr0grammer
CAT_IMG Posted on 1/7/2010, 10:38     +1   -1




Bella e utile ;) GooD.
 
Top
7 replies since 25/6/2010, 14:02   167 views
  Share