// TODO: Comprobar que no se excederá el limite de ficheros.. protected override void _Partir(string fichero,string sal1, string dir, long kb) { string bas = dir + Path.DirectorySeparatorChar + "SF{0:0000}.SF"; long tamano = kb*1024; CabeceraSF cab = new CabeceraSF(); cab.Nombre = fichero; tamano -= cab.Tamano; int contador = 1; long total_a_leer = new FileInfo(fichero).Length; if ((total_a_leer / tamano) > 255){ throw new Dalle.Formatos.FileFormatException(); } long transferidos = 0; OnProgress (0, 1); do{ byte[] b = UtilidadesFicheros.LeerSeek(fichero, transferidos, tamano); cab.Numero = contador; string nombreFichero = string.Format (bas, contador); transferidos += b.Length; UtilidadesFicheros.Append (nombreFichero, cab.ToByteArray()); UtilidadesFicheros.Append (nombreFichero, b); contador++; OnProgress (transferidos, total_a_leer); }while (transferidos < total_a_leer); }