예제 #1
0
        /// <summary>
        /// Inserta un bloque en el archivo
        /// </summary>
        /// <param name="ent"></param>
        /// <param name="nomDat"></param>
        public void insertaBloqueDatos(Entidad ent,List<string> nomDat)
        {
            Bloque bloque;
            long dirBloque = 0;

            //toma la direccion que tendra el bloque
            dirBloque = archivo.getLength();
            bloque = new Bloque(dirBloque, (long)-1);
            ent.ListBloq.Add(bloque);
            //escribe en archivo el bloque
            archivo.escribeBloque(bloque);
            //escribe los atributos en archivo
            for(int i=0;i<ent.Atributos.Count;i++)
            {
                insertaAtDato(ent.Atributos[i], nomDat[i]);
            }
            //Reescribe las direcciones de la lista
            reescribeDirsDatos(ent);
        }
예제 #2
0
 public void escribeBloque(Bloque bl)
 {
     stream.Position = stream.Length;
     writer.Write(bl.Direccion);
     writer.Write(bl.ApuntaDato);
 }
예제 #3
0
 public Bloque getBloqueDatos(long direccion)
 {
     stream.Position = direccion;
     Bloque bl = new Bloque(reader.ReadInt64(), reader.ReadInt64());
     return bl;
 }