/**\brief Se inserta una entidad en el Diccionario de datos*/ public void AltaEntidad(CNodoEntidad nueva) { /** * \details * \param nueva Recibe un objeto de tipo entidad, que sera agregada a la lista de entidades * y posteriormente escrita en el diccionario **/ CNodoEntidad aux, ant = null; long ptrAnt, ptrAux, posCab; bool band = false; ptrAux = ptrAnt = -1; AbrirArchivo();//Se abren el archivo que contiene el diccionario de datos aux = listaEntidades.getCabListEnt(); ptrAux = leerCabecera(); while (aux != null) if ((aux.getNombre()).CompareTo(nueva.getNombre()) < 0) { ant = aux; ptrAnt = ptrAux; ptrAux = aux.getApSigEnt(); aux = aux.getSigEnt(); } else if ((aux.getNombre()).CompareTo(nueva.getNombre()) == 0) { band = true; break; } else break; if (aux == listaEntidades.getCabListEnt()) { if (band == false) { posCab = leerCabecera(); nueva.setApSigEnt(posCab); actCab(fs.Length); listaEntidades.setCabListEnt(nueva); } } else if (band == false) { nueva.setApSigEnt(ptrAux); ant.setApSigEnt(fs.Length); escribeEntidad(ant, ptrAnt); ant.setSigEnt(nueva); } if (band == false) { nueva.setDir(fs.Length); escribeEntidad(nueva, fs.Length); nueva.setSigEnt(aux); } numEntidades++; CerrarArchivo(); }