Ejemplo n.º 1
0
        public void abreDesdeArchivo(string nombre)
        {
            archivo = new Archivo("orgs/"+nombre, false);
            diccionario.Entidades = new List<Entidad>();
            diccionario.NomDic = nombre;

            long dir = archivo.getEncabezado();

            while (dir != -1)
            {
                //Obtiene el bloque de la entidad
                Entidad entida = archivo.getBloqueEntidad(dir);
                long nextAr = entida.ApuntaAt;
                //Si tiene atributos
                while (nextAr != -1)
                {
                    Atributo atri;
                    //Obtiene el bloque del atributo
                    atri = archivo.getBloqueAtributo(nextAr);
                    entida.Atributos.Add(atri);
                    nextAr = atri.ApuntaAtri;
                }
                //Si tiene datos
                long nextBloq = entida.ApuntaDat;
                while (nextBloq != -1)
                {
                    Bloque bloq;

                    bloq = archivo.getBloqueDatos(nextBloq);
                    entida.ListBloq.Add(bloq);
                    nextBloq = bloq.ApuntaDato;
                }
                diccionario.Entidades.Add(entida);
                dir = entida.ApuntaEnt;
            }
        }