Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: [AH]Franky en 23 Julio 2006, 20:40 pm



Título: Tamaño de un archivo???
Publicado por: [AH]Franky en 23 Julio 2006, 20:40 pm
bueno me gustaria saber como sacar el tamaño k ocupa un archivo con el visual basic cuando abres este archivo como binario,,vamos k x ejemplo t ponga lo k ocupa el archivo en un label
espero k alguien me pueda ayudar  :P


Título: Re: Tamaño de un archivo???
Publicado por: WarGhost en 23 Julio 2006, 20:50 pm
Código:
FileLen "Ruta del fichero"

;D Salu2, WarGhost


Título: Re: Tamaño de un archivo???
Publicado por: [AH]Franky en 23 Julio 2006, 21:31 pm
vale me e kedao cn esto xDD,,pro lo k no consigo acer es k en un label me salga el tamaño d ese archivo :-\


Título: Re: Tamaño de un archivo???
Publicado por: WarGhost en 23 Julio 2006, 21:40 pm
Veo que sabes poco de VB  ;D:

Código:
label1.caption = FileLen "Ruta del fichero" & " bytes"

VB se coje rapido ;)


Título: Re: Tamaño de un archivo???
Publicado por: NYlOn en 23 Julio 2006, 23:58 pm
Faltan los parentesis

Código:
label1.caption = FileLen("Ruta del fichero") & " bytes"



 ;D


Título: Re: Tamaño de un archivo???
Publicado por: [AH]Franky en 24 Julio 2006, 00:09 am
vale muxas gracias a los 2 ya lo consegui   ;)


Título: Re: Tamaño de un archivo???
Publicado por: Red Mx en 24 Julio 2006, 00:12 am
no que buena onda por ahi no sanen como sacar la duracion de un  archivo de audio


le estoy dando muchas vueltas pero no me sale.


Título: Re: Tamaño de un archivo???
Publicado por: _Sergi_ en 24 Julio 2006, 14:10 pm
Bueno como la duda parece resuelta, me limitaré a echarle un cable a RedMX. Para la duración de un archivo de audio, lo primero que tienes que plantearte es el formato. ¿Es un MP3? Por ejemplo, un archivo de tres minutos en MP3 codificado a 128 kilobits por segundo (Kbps) ocupa 2,8 Megabytes en disco duro.

Bien, 2,8 * 1048575 = 2936010 bytes. Ok, entonces 3 minutos a 128 kbps son unos 2936010 bytes lo que nos salen unos 978670 bytes por minuto.

Entonces, coges el tamaño del archivo con FileLen. Supongamos que te devuelve 1174404 bytes. Divide 1174404 entre 978670 y ¡voila! tenemos que el archivo tiene 1,2 minutos de duración. Por supuesto esto es muy, muy, muy aproximado y habría que estar seguro de que es un MP3, de que está codificado a 128 kbps etc etc etc; es sólo un ejemplo.

Como ya te dije eso es muy aproximado y algo chapucero (el tamaño final depende de muchisimos otros factores); así que si es un programa "serio" tendrás que buscar alternativas. Por ejemplo, he encontrado un ejemplo de reproductor de MP3 hecho con el control ActiveX de Microsoft Windows Media Player 9 Series con Microsoft Visual Basic .NET, en el que el control ActiveX se mantiene oculto en el formulario y se crean con código los botones de control del reproductor (play, stop, next, previous etc...) Para la duración simplemte tienes que hacer ésto

Código:
Dim minutos As Integer
Dim segundos As Integer
minutos = ocxPlayer.currentMedia.duration \ 60 ' división entera entre la duración en segundos y 60

Como ves, es más exacto y seguro pero te obliga a usar ese control. Tienes el code y el proyecto aquí
http://www.elguille.info/colabora/puntoNET/miliuco_mp3sin.htm

Un saludo
Sergi



Título: Re: Tamaño de un archivo???
Publicado por: Red Mx en 24 Julio 2006, 16:01 pm
Gracias por la info

bueno lo que quiero es que el red music no dependa de otros es reproductores pero la info es muy buena y creo que ya tengo las respuesta gracias me sirvio mucho y sin nesesidad del media player ahora le pondre el control de volumen