/** \brief Alta de un registro*/
        public bool AltaOS()
        {
            long ptrAux, ptrAnt = 0;
            bool res = false;
            bool band = true;
            CBloque bloqueAux, bloqueAnt = null;

            getArchivo().AbrirArchivo();

            ptrAux = ent.getApCabDatos();
            //Se busca en la ubicacion del bloque en el archivo.
            while (ptrAux != -1 && band == true && res == false)
            {
                bloqueAux = getArchivo().leerBloque(ptrAux, tamBloque);
                bloqueAux.setTamBlo(tamBloque);
                
                switch(bloque.ComparateTo(bloqueAux))
                {
                    case -1:
                        res = band = true;
                    break;
                    case 0:
                        res = band = false;
                    break;
                    case 1:
                        ptrAnt = ptrAux;
                        bloqueAnt = bloqueAux;
                        ptrAux = bloqueAux.getSigBlo();
                    break;
                }

            }

            if (band == true)//No hay bloques repetidos
            {
                if (ptrAux == ent.getApCabDatos())//Se insertara en la primera posición
                {
                    ent.setApCabDatos(getArchivo().ENDF());
                    getArchivo().escribeEntidad(ent, ent.getDir());
                }
                else
                {
                    bloqueAnt.setSigBlo(getArchivo().ENDF());
                    getArchivo().EscribeBloque(bloqueAnt, ptrAnt);
                }
            }

            bloque.setSigBlo(ptrAux);
            getArchivo().EscribeBloque(bloque, getArchivo().ENDF());
        
            getArchivo().CerrarArchivo();

            return (res);
        }