using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using QiHe.CodeLib;
namespace HH.WMS.Utils.ExcelLibrary.BinaryFileFormat
{
///
/// List of nm Unicode strings, 16-bit string length
///
public partial class SST : Record
{
public SST(Record record) : base(record) { }
public SST()
{
this.Type = RecordType.SST;
this.StringList = new FastSearchList();
}
///
/// Total number of strings in the workbook
///
public Int32 TotalOccurance;
///
/// Number of following strings (nm)
///
public Int32 NumStrings;
///
/// List of nm Unicode strings, 16-bit string length
///
public FastSearchList StringList;
public void decode()
{
MemoryStream stream = new MemoryStream(Data);
BinaryReader reader = new BinaryReader(stream);
this.TotalOccurance = reader.ReadInt32();
this.NumStrings = reader.ReadInt32();
int count = this.NumStrings;
this.StringList = new FastSearchList(count);
for (int i = 0; i < count; i++)
{
StringList.Add(this.ReadString(reader, 16));
}
}
public void encode()
{
MemoryStream stream = new MemoryStream();
BinaryWriter writer = new BinaryWriter(stream);
writer.Write(TotalOccurance);
writer.Write(NumStrings);
foreach(String stringVar in StringList)
{
writer.Write(stringVar);
}
this.Data = stream.ToArray();
this.Size = (UInt16)Data.Length;
base.Encode();
}
}
}