using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace HH.WMS.Utils.ExcelLibrary.BinaryFileFormat
{
///
/// contains relative offsets to calculate the stream position of the first cell
/// record for each row in each row block.
///
public partial class DBCELL : Record
{
public DBCELL(Record record) : base(record) { }
public DBCELL()
{
this.Type = RecordType.DBCELL;
this.FirstCellOffsets = new List();
}
///
/// Relative offset to first ROW record in the Row Block
///
public UInt32 FirstRowOffset;
///
/// relative offsets to calculate stream position of the first cell record for the respective row
///
public List FirstCellOffsets;
public override void Decode()
{
MemoryStream stream = new MemoryStream(Data);
BinaryReader reader = new BinaryReader(stream);
this.FirstRowOffset = reader.ReadUInt32();
int count = (this.Size - 4) / 2;
this.FirstCellOffsets = new List(count);
for (int i = 0; i < count; i++)
{
FirstCellOffsets.Add(reader.ReadUInt16());
}
}
public override void Encode()
{
MemoryStream stream = new MemoryStream();
BinaryWriter writer = new BinaryWriter(stream);
writer.Write(FirstRowOffset);
foreach(UInt16 uint16Var in FirstCellOffsets)
{
writer.Write(uint16Var);
}
this.Data = stream.ToArray();
this.Size = (UInt16)Data.Length;
base.Encode();
}
}
}