using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using Biff8Excel.Interfaces; namespace Biff8Excel.Records { ////SST校验 //[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Auto, Pack = 1)] //struct sExtSSt //{ // public ushort opcode; // 0xFF // public ushort length; // public ushort npoint; // >=8 每隔多少非重复校验一次(至少为8) //} //internal class ExtSSt : IRecords //{ // sExtSSt extsst; // int m_absolut; // ushort[] relativePoints; // public ExtSSt() // { // extsst.opcode = 0xFF; // extsst.npoint = Globals.npoint; // } // //绝对偏移量 // public int absolutoffset // { // set { m_absolut = value; } // } // public ushort[] relaPoint // { // set { relativePoints = value; } // } // #region IRecords 成员 // public byte[] GetByte() // { // int len = (relativePoints.Length ) * 8 + 2; // uint absolutPoint = 0; // 所在的数据长度的绝对位置 // //ushort relativePoint = 0; // 相对SST数据长度的相对位置 // //public ushort noUsed; // 0x0; // extsst.length = (ushort)len; // byte[] b = new byte[len+4]; // Globals.GetByte(extsst).CopyTo(b, 0); // if (relativePoints.Length > 0) // { // int pos = 6; // for (int i = 0; i < relativePoints.Length; i++) // { // absolutPoint = (uint)(m_absolut + relativePoints[i]); // BitConverter.GetBytes(absolutPoint).CopyTo(b, pos); // pos += 4; // BitConverter.GetBytes(relativePoints[i]).CopyTo(b, pos); // pos += 4; // } // } // return b; // } // #endregion //} }