using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace HH.WMS.Utils.ExcelLibrary.BinaryFileFormat
{
public partial class FORMULA : Record
{
public FORMULA(Record record) : base(record) { }
public FORMULA()
{
this.Type = RecordType.FORMULA;
}
public UInt16 RowIndex;
public UInt16 ColIndex;
public UInt16 XFIndex;
///
/// Result of the formula.
///
public UInt64 Result;
public UInt16 OptionFlags;
public UInt32 Unused;
///
/// Formula data (RPN token array)
///
public Byte[] FormulaData;
public override void Decode()
{
MemoryStream stream = new MemoryStream(Data);
BinaryReader reader = new BinaryReader(stream);
this.RowIndex = reader.ReadUInt16();
this.ColIndex = reader.ReadUInt16();
this.XFIndex = reader.ReadUInt16();
this.Result = reader.ReadUInt64();
this.OptionFlags = reader.ReadUInt16();
this.Unused = reader.ReadUInt32();
this.FormulaData = reader.ReadBytes((int)(stream.Length - stream.Position));
}
public override void Encode()
{
MemoryStream stream = new MemoryStream();
BinaryWriter writer = new BinaryWriter(stream);
writer.Write(RowIndex);
writer.Write(ColIndex);
writer.Write(XFIndex);
writer.Write(Result);
writer.Write(OptionFlags);
writer.Write(Unused);
writer.Write(FormulaData);
this.Data = stream.ToArray();
this.Size = (UInt16)Data.Length;
base.Encode();
}
}
}