Saber el tamaño en bytes de un archivo
Publicado por Roberto Garcia Garcia (5 intervenciones) el 11/04/2005 07:20:01
Hola, estoy haciendo un programa que genera cadenas de caracteres al azar, bueno no al azar, pero si genera cadenas de caracteres, muchas, muchisisimas, el archvio podria llegar a ocupar varios cientos de megas
entonces se me ocurrio la idea de tener una opcion para que el programa genere varios archivos de tantos kb, por ejemplo el usuario puede elejir que se generen todos los archivos de texto que sean necesarios pero de 500 kb cada uno y asi por el estilo, pero no he podido hacer una funcion que me devuelva el tamaño en bytes de un archivo, tenia la siguiente funcion que la baje de internet.
function tamanioA(nom:String):Dword;
var
FHandle: integer;
begin
FHandle := FileOpen(nom, 0);
try
Result := (getfilesize(FHandle,nil));
finally
FileClose(FHandle);
end;
end;
en mi programa la uso de esta forma
if tamanioA(narchivo) >= strtoint(edit1.text) *1024) then
cambiar de archivo
pero no hace nada, se supone que la funcion devuelve el tamaño de un archivo en byte, por eso el contenido de edit1 que es el tamaño maximo de kb por archivo lo multiplico por 1024
alguien sabe que esta fallando, o alguna otra sugerncia para obtener el tamaño de un archivo.
Gracias
Roberto Garcia
entonces se me ocurrio la idea de tener una opcion para que el programa genere varios archivos de tantos kb, por ejemplo el usuario puede elejir que se generen todos los archivos de texto que sean necesarios pero de 500 kb cada uno y asi por el estilo, pero no he podido hacer una funcion que me devuelva el tamaño en bytes de un archivo, tenia la siguiente funcion que la baje de internet.
function tamanioA(nom:String):Dword;
var
FHandle: integer;
begin
FHandle := FileOpen(nom, 0);
try
Result := (getfilesize(FHandle,nil));
finally
FileClose(FHandle);
end;
end;
en mi programa la uso de esta forma
if tamanioA(narchivo) >= strtoint(edit1.text) *1024) then
cambiar de archivo
pero no hace nada, se supone que la funcion devuelve el tamaño de un archivo en byte, por eso el contenido de edit1 que es el tamaño maximo de kb por archivo lo multiplico por 1024
alguien sabe que esta fallando, o alguna otra sugerncia para obtener el tamaño de un archivo.
Gracias
Roberto Garcia
Valora esta pregunta


0