private void FormOrg_FormClosed(object sender, FormClosedEventArgs e) { CNodoEntidad entidadAux, entCopia; CArchivo aO, aD; string nameFileO, nameFileN; int despCE, tipoD, tamCE, tamBloq, despCB, tipoCB, tamCB; ; despCE = tipoD = tamCE = tamBloq = despCB = tipoCB = tamCB = 0; aO = getArchivo(); aD = new CArchivo("Copia");//Se crea el nuevo archivo y se almacena en un directorio temporal nameFileO = aO.getNameFile();//Se obtienen la ruta de la organizacion de trabajo nameFileN = aD.getNameFile();//Se Obtiene la ruta del donde se hara el mantenimiento creaCopia(aO, aD);//Se caraga el diccionario de datos que utilizo en la organiacion aO.AbrirArchivo();//Abrir los flujos de archivos para operar en ellos aD.AbrirArchivo(); entidadAux = aO.getListaEntidad().getCabListEnt(); entCopia = aD.getListaEntidad().getCabListEnt(); while (entidadAux != null)//Se visitan todas las entidades de la organizacion { if (entidadAux.getApCabDatos() != -1) { DameCE(entidadAux, ref despCE, ref tipoD, ref tamCE, ref tamBloq, ref despCB, ref tipoCB, ref tamCB, null); switch(getTipoOrg()) { case 1://Mantenimiento en Organizacion Secuencial MantenimientoSec(aO, aD, entidadAux, entCopia, tamBloq); break; case 2://Manteniemito en Organizacion Secuencial Indexada MantenimientoSecInd(aO, aD, entidadAux, entCopia, tamBloq); break; case 3://Mantenimiento en Arboles B+ MantenimientoArbolBplus(aO, aD, entidadAux, entCopia, tamBloque); break; case 4://Mantenimiento en Hash Estática MantenimientoHashEstatica(aO, aD, entidadAux, entCopia, tamBloque); break; case 5://Mantenimiento en hash Dinámica MantenimientoHashDinamica(aO, aD, entidadAux, entCopia, tamBloque); break; } } entidadAux = entidadAux.getSigEnt(); entCopia = entCopia.getSigEnt(); } aO.CerrarArchivo(); aD.CerrarArchivo(); File.Delete(nameFileO);//Se elimina la organizacion a la que se le hizo mantenimiento File.Move(nameFileN,nameFileO);//Se mueve el archivo creado a la ruta de la orgnizacion que fue mantenida //Se conserva el mismo nombre de archivo }