lunes, 11 de agosto de 2008

Cut File

Alien [blackhat4all@gmail.com]

Este código no es ni será catalogado como la gran invención del año, pero si puede ser de utilidad para muchos que quieran meter en un dispositivo de poca capacidad un archivo de audio o video que supera el tamaño de la unidad en la que se quiere introducir.

CLS
'Definimos el buffer, que no es más que la cantidad de bites que serán leídos en cada pasada.
'Mientras mayor sea el buffer más rápido terminará
DIM buffer AS STRING * 32000
OPEN ("k:\nuevo\a.dat") FOR BINARY AS #1
  OPEN ("c:\b.dat") FOR BINARY AS #2

'Hacemos un ciclo hasta la cantidad de Megas que queremos copiar (en este caso son 490 Mb)
    FOR i = 1 TO 490 * 1048576 STEP 32000
      GET #1, i, buffer
      PUT #2, i, buffer

'Nos paramos en la primera línea y mostramos el progreso...
      LOCATE 1, 1
      PRINT "Guardando: "; INT(i / 1048576); " Mb"
    NEXT
  CLOSE #2
CLOSE #1


Sabiendo de antemano que un archivo de audio o video puede funcionar aún faltandole parte de este, este código lo que hace en sí es definir un tamaño (siempre menor que el del archivo) y empezar a copiar hasta que se llegue a ese tamaño. En este caso el tamaño definido es de 490 Mb. Al terminar, se tendrá solo la primera parte del archivo hasta que este llegue al tamaño especificado.

Si se sabe el tamaño de la cabecera del archivo, se pudiera hacer un programa que, en lugar de solo llevar a parte los primeros x Mb del archivo, divida al mismo en varios pedazos, pero bueno, eso será en otra edición xD.

Artículos relacionados


No hay comentarios: