Obtener un tamaño de archivo
GetFileSize no proporciona ninguna manera de convertir un tamaño de archivo en una cadena descriptiva, este algoritmo funciona
función GetAFileSize(SizeInBytes: Integer): String
const
& nbsp & nbsp Preffixes: array[0..3] of String = //Común de los tamaños de archivo preffixes
& nbsp & nbsp & nbsp (' Bytes', 'KB', 'MB', 'GB') //Cambiar si desea cualquier cosa que se adapte a
& nbsp & nbsp FormatSpecifier: array[Booleano] of String =
& nbsp & nbsp & nbsp ('%n', '%.2n') //la forma en que nos formato de la cadena
var
& nbsp & nbsp i: entero //Un contador
& nbsp & nbsp TmpSize: Real //Una variable temporal
begin
& nbsp & nbsp i := -1 //Evitar el compilador se quejan
& nbsp & nbsp tmpSize := SizeInBytes //Evitar el compilador se quejan
& nbsp & nbsp mientras (i <= 3) //ciclo Principal es hacer mientras i < Alta(Preffixes) pero desde que
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // un archivo dejará pasar un GB hasta 3
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp TmpSize := TmpSize / 1024 //1 MB = 1024 KB, 1 KB = 1024 Bytes, 1 Byte = 8 Bits, 1 bit = nada
& nbsp & nbsp & nbsp & nbsp inc( i ) //incrementa el contador y seleccione el prefijo para españa de la cadena
& nbsp & nbsp & nbsp & nbsp si Trunc( TmpSize )= 0, entonces //llegamos a un máximo de nuber de las divisiones, por lo que
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp TmpSize := TmpSize * 1024 //Tmpsize fue dividido 1 hora más de lo necesario
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Break //Salida de bucle
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp final
& nbsp & nbsp //formato Real de rutina
& nbsp & nbsp Resultado := Format(FormatSpecifier[((Frac(TmpSize)*10) >1)], [TmpSize]) Preffixes[i]
fin
Notas de interés:
& nbsp & nbsp * Estos algoritmo se basa en delphi formato nativo de la función, que tipo de límites es
& nbsp & nbsp * isnot parte de la api de windows, tienes que copiar y pegar cada vez que se utilizan
& nbsp & nbsp * a Diferencia de la api de windows se ha correcta de redondeo y puede ser extendida
Obtener un tamaño de archivo
Obtener un tamaño de archivo : Multi-millones de consejos para hacer su vida mas facil.
GetFileSize no proporciona ninguna manera de convertir un tamaño de archivo en una cadena descriptiva, este algoritmo funciona
funcion GetAFileSize(SizeInBytes: Integer): String
const
& nbsp & nbsp Preffixes: array[0..3] of String = //Comun de los tamaños de archivo preffixes
& nbsp & nbsp & nbsp (' Bytes', 'KB', 'MB', 'GB') //Cambiar si desea cualquier cosa que se adapte a
& nbsp & nbsp FormatSpecifier: array[Booleano] of String =
& nbsp & nbsp & nbsp ('%n', '%.2n') //la forma en que nos formato de la cadena
var
& nbsp & nbsp i: entero //Un contador
& nbsp & nbsp TmpSize: Real //Una variable temporal
begin
& nbsp & nbsp i := -1 //Evitar el compilador se quejan
& nbsp & nbsp tmpSize := SizeInBytes //Evitar el compilador se quejan
& nbsp & nbsp mientras (i <= 3) //ciclo Principal es hacer mientras i < Alta(Preffixes) pero desde que
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // un archivo dejara pasar un GB hasta 3
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp TmpSize := TmpSize / 1024 //1 MB = 1024 KB, 1 KB = 1024 Bytes, 1 Byte = 8 Bits, 1 bit = nada
& nbsp & nbsp & nbsp & nbsp inc( i ) //incrementa el contador y seleccione el prefijo para españa de la cadena
& nbsp & nbsp & nbsp & nbsp si Trunc( TmpSize )= 0, entonces //llegamos a un maximo de nuber de las divisiones, por lo que
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp TmpSize := TmpSize * 1024 //Tmpsize fue dividido 1 hora mas de lo necesario
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Break //Salida de bucle
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp final
& nbsp & nbsp //formato Real de rutina
& nbsp & nbsp Resultado := Format(FormatSpecifier[((Frac(TmpSize)*10) >1)], [TmpSize]) Preffixes[i]
fin
Notas de interes:
& nbsp & nbsp * Estos algoritmo se basa en delphi formato nativo de la funcion, que tipo de limites es
& nbsp & nbsp * isnot parte de la api de windows, tienes que copiar y pegar cada vez que se utilizan
& nbsp & nbsp * a Diferencia de la api de windows se ha correcta de redondeo y puede ser extendida
Obtener un tamaño de archivo
By Consejos Y Trucos
Obtener un tamaño de archivo : Multi-millones de consejos para hacer su vida más fácil.