当前位置: 首页>>代码示例>>C#>>正文


C# ILittleEndianInput.ReadUShort方法代码示例

本文整理汇总了C#中ILittleEndianInput.ReadUShort方法的典型用法代码示例。如果您正苦于以下问题:C# ILittleEndianInput.ReadUShort方法的具体用法?C# ILittleEndianInput.ReadUShort怎么用?C# ILittleEndianInput.ReadUShort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ILittleEndianInput的用法示例。


在下文中一共展示了ILittleEndianInput.ReadUShort方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateSubRecord

        public static SubRecord CreateSubRecord(ILittleEndianInput in1, CommonObjectType cmoOt)
        {
            int sid = in1.ReadUShort();
            int secondUShort = in1.ReadUShort(); // Often (but not always) the datasize for the sub-record


            switch (sid)
            {
                case CommonObjectDataSubRecord.sid:
                    return new CommonObjectDataSubRecord(in1, secondUShort);
                case EmbeddedObjectRefSubRecord.sid:
                    return new EmbeddedObjectRefSubRecord(in1, secondUShort);
                case GroupMarkerSubRecord.sid:
                    return new GroupMarkerSubRecord(in1, secondUShort);
                case EndSubRecord.sid:
                    return new EndSubRecord(in1, secondUShort);
                case NoteStructureSubRecord.sid:
                    return new NoteStructureSubRecord(in1, secondUShort);
                case LbsDataSubRecord.sid:
                    return new LbsDataSubRecord(in1, secondUShort, (int)cmoOt);
                case FtCblsSubRecord.sid:
                    return new FtCblsSubRecord(in1, secondUShort);
            }
            return new UnknownSubRecord(in1, sid, secondUShort);
        }
开发者ID:ctddjyds,项目名称:npoi,代码行数:25,代码来源:SubRecord.cs

示例2: ReadAConstantValue

 private static object ReadAConstantValue(ILittleEndianInput in1)
 {
     byte grbit = (byte)in1.ReadByte();
     switch (grbit)
     {
         case TYPE_EMPTY:
             in1.ReadLong(); // 8 byte 'not used' field
             return EMPTY_REPRESENTATION;
         case TYPE_NUMBER:
             return in1.ReadDouble();
         case TYPE_STRING:
             return StringUtil.ReadUnicodeString(in1);
         case TYPE_BOOLEAN:
             return ReadBoolean(in1);
         case TYPE_ERROR_CODE:
             int errCode = in1.ReadUShort();
             // next 6 bytes are Unused
             in1.ReadUShort();
             in1.ReadInt();
             return ErrorConstant.ValueOf(errCode);
     }
     throw new Exception("Unknown grbit value (" + grbit + ")");
 }
开发者ID:xoposhiy,项目名称:npoi,代码行数:23,代码来源:ConstantValueParser.cs

示例3: TblPtg

 public TblPtg(ILittleEndianInput in1)
 {
     field_1_first_row = in1.ReadUShort();
     field_2_first_col = in1.ReadUShort();
 }
开发者ID:hanwangkun,项目名称:npoi,代码行数:5,代码来源:TblPtg.cs

示例4: ReadCoordinates

 protected void ReadCoordinates(ILittleEndianInput in1)
 {
     field_1_first_row = in1.ReadUShort();
     field_2_last_row = in1.ReadUShort();
     field_3_first_column = in1.ReadUShort();
     field_4_last_column = in1.ReadUShort();
 }
开发者ID:hanwangkun,项目名称:npoi,代码行数:7,代码来源:AreaPtgBase.cs

示例5: EmbeddedObjectRefSubRecord

        /**
         * Constructs an EmbeddedObjectRef record and Sets its fields appropriately.
         *
         * @param in the record input stream.
         */
        public EmbeddedObjectRefSubRecord(ILittleEndianInput in1, int size)
        {
            // Much guess-work going on here due to lack of any documentation.
            // See similar source code in OOO:
            // http://lxr.go-oo.org/source/sc/sc/source/filter/excel/xiescher.cxx
            // 1223 void XclImpOleObj::ReadPictFmla( XclImpStream& rStrm, sal_uInt16 nRecSize )

            int streamIdOffset = in1.ReadShort(); // OOO calls this 'nFmlaLen'
            int remaining = size - LittleEndianConsts.SHORT_SIZE;

            int dataLenAfterFormula = remaining - streamIdOffset;
            int formulaSize = in1.ReadUShort();

            remaining -= LittleEndianConsts.SHORT_SIZE;
            field_1_unknown_int = in1.ReadInt();
            remaining -= LittleEndianConsts.INT_SIZE;
            byte[] formulaRawBytes = ReadRawData(in1, formulaSize);
            remaining -= formulaSize;
            field_2_refPtg = ReadRefPtg(formulaRawBytes);
            if (field_2_refPtg == null)
            {
                // common case
                // field_2_n16 seems to be 5 here
                // The formula almost looks like tTbl but the row/column values seem like garbage.
                field_2_unknownFormulaData = formulaRawBytes;
            }
            else
            {
                field_2_unknownFormulaData = null;
            }


            int stringByteCount;
            if (remaining >= dataLenAfterFormula + 3)
            {
                int tag = in1.ReadByte();
                stringByteCount = LittleEndianConsts.BYTE_SIZE;
                if (tag != 0x03)
                {
                    throw new RecordFormatException("Expected byte 0x03 here");
                }
                int nChars = in1.ReadUShort();
                stringByteCount += LittleEndianConsts.SHORT_SIZE;
                if (nChars > 0)
                {
                    // OOO: the 4th way Xcl stores a unicode string: not even a Grbit byte present if Length 0
                    field_3_unicode_flag = (in1.ReadByte() & 0x01) != 0;
                    stringByteCount += LittleEndianConsts.BYTE_SIZE;
                    if (field_3_unicode_flag)
                    {
                        field_4_ole_classname = StringUtil.ReadUnicodeLE(in1,nChars);
                        stringByteCount += nChars * 2;
                    }
                    else
                    {
                        field_4_ole_classname = StringUtil.ReadCompressedUnicode(in1,nChars);
                        stringByteCount += nChars;
                    }
                }
                else
                {
                    field_4_ole_classname = "";
                }
            }
            else
            {
                field_4_ole_classname = null;
                stringByteCount = 0;
            }
            remaining -= stringByteCount;
            // Pad to next 2-byte boundary
            if (((stringByteCount + formulaSize) % 2) != 0)
            {
                int b = in1.ReadByte();
                remaining -= LittleEndianConsts.BYTE_SIZE;
                if (field_2_refPtg != null && field_4_ole_classname == null)
                {
                    field_4_unknownByte = (byte)b;
                }
            }
            int nUnexpectedPadding = remaining - dataLenAfterFormula;

            if (nUnexpectedPadding > 0)
            {
                logger.Log(POILogger.ERROR, "Discarding " + nUnexpectedPadding + " unexpected padding bytes ");
                ReadRawData(in1, nUnexpectedPadding);
                remaining -= nUnexpectedPadding;
            }

            // Fetch the stream ID
            if (dataLenAfterFormula >= 4)
            {
                field_5_stream_id = in1.ReadInt();
                remaining -= LittleEndianConsts.INT_SIZE;
            }
//.........这里部分代码省略.........
开发者ID:Reinakumiko,项目名称:npoi,代码行数:101,代码来源:EmbeddedObjectRefSubRecord.cs

示例6: Initial

 public Initial(ILittleEndianInput in1)
 {
     _reserved0 = in1.ReadInt();
     _reserved1 = in1.ReadUShort();
     _reserved2 = in1.ReadUByte();
 }
开发者ID:missxiaohuang,项目名称:Weekly,代码行数:6,代码来源:ArrayPtg.cs

示例7: ReadUnicodeLE

 public static String ReadUnicodeLE(ILittleEndianInput in1, int nChars)
 {
     char[] buf = new char[nChars];
     for (int i = 0; i < buf.Length; i++)
     {
         buf[i] = (char)in1.ReadUShort();
     }
     return new String(buf);
 }
开发者ID:Johnnyfly,项目名称:source20131023,代码行数:9,代码来源:StringUtil.cs

示例8: GUID

		public GUID(ILittleEndianInput in1) 
            :this(in1.ReadInt(), in1.ReadUShort(), in1.ReadUShort(), in1.ReadLong())
        {
			
		}
开发者ID:JnS-Software-LLC,项目名称:npoi,代码行数:5,代码来源:GUID.cs

示例9: AttrPtg

        public AttrPtg(ILittleEndianInput in1)
        {
            field_1_options =(byte)in1.ReadByte();
            field_2_data = in1.ReadShort();
            if (IsOptimizedChoose)
            {
                int nCases = field_2_data;
                int[] jumpTable = new int[nCases];
                for (int i = 0; i < jumpTable.Length; i++)
                {
                    jumpTable[i] = in1.ReadUShort();
                }
                _jumpTable = jumpTable;
                _chooseFuncOffset = in1.ReadUShort();
            }
            else
            {
                _jumpTable = null;
                _chooseFuncOffset = -1;
            }

        }
开发者ID:89sos98,项目名称:npoi,代码行数:22,代码来源:AttrPtg.cs

示例10: LbsDataSubRecord

    /**
     * @param in the stream to read data from
     * @param cbFContinued the seconf short in the record header
     * @param cmoOt the Containing Obj's {@link CommonObjectDataSubRecord#field_1_objectType}
     */
        public LbsDataSubRecord(ILittleEndianInput in1, int cbFContinued, int cmoOt)
        {
            _cbFContinued = cbFContinued;

            int encodedTokenLen = in1.ReadUShort();
            if (encodedTokenLen > 0)
            {
                int formulaSize = in1.ReadUShort();
                _unknownPreFormulaInt = in1.ReadInt();

                Ptg[] ptgs = Ptg.ReadTokens(formulaSize, in1);
                if (ptgs.Length != 1)
                {
                    throw new RecordFormatException("Read " + ptgs.Length
                            + " tokens but expected exactly 1");
                }
                _linkPtg = ptgs[0];
                switch (encodedTokenLen - formulaSize - 6)
                {
                    case 1:
                        _unknownPostFormulaByte = (byte)in1.ReadByte();
                        break;
                    case 0:
                        _unknownPostFormulaByte = null;
                        break;
                    default:
                        throw new RecordFormatException("Unexpected leftover bytes");
                }
            }

            _cLines = in1.ReadUShort();
            _iSel = in1.ReadUShort();
            _flags = in1.ReadUShort();
            _idEdit = in1.ReadUShort();

            // From [MS-XLS].pdf 2.5.147 FtLbsData:
            // This field MUST exist if and only if the Containing Obj?s cmo.ot is equal to 0x14.
            if (cmoOt == 0x14)
            {
                _dropData = new LbsDropData(in1);
            }

            // From [MS-XLS].pdf 2.5.147 FtLbsData:
            // This array MUST exist if and only if the fValidPlex flag (0x2) is set
            if ((_flags & 0x2) != 0)
            {
                _rgLines = new String[_cLines];
                for (int i = 0; i < _cLines; i++)
                {
                    _rgLines[i] = StringUtil.ReadUnicodeString(in1);
                }
            }

            // bits 5-6 in the _flags specify the type
            // of selection behavior this list control is expected to support

            // From [MS-XLS].pdf 2.5.147 FtLbsData:
            // This array MUST exist if and only if the wListType field is not equal to 0.
            if (((_flags >> 4) & 0x2) != 0)
            {
                _bsels = new bool[_cLines];
                for (int i = 0; i < _cLines; i++)
                {
                    _bsels[i] = in1.ReadByte() == 1;
                }
            }

        }
开发者ID:Johnnyfly,项目名称:source20131023,代码行数:73,代码来源:LbsDataSubRecord.cs

示例11: LbsDropData

 public LbsDropData(ILittleEndianInput in1){
     _wStyle = in1.ReadUShort();
     _cLine = in1.ReadUShort();
     _dxMin = in1.ReadUShort();
     _str = StringUtil.ReadUnicodeString(in1);
     if(StringUtil.GetEncodedSize(_str) % 2 != 0){
         _unused = (byte)in1.ReadByte();
     }
 }
开发者ID:Johnnyfly,项目名称:source20131023,代码行数:9,代码来源:LbsDataSubRecord.cs

示例12: ReadCoordinates

 protected void ReadCoordinates(ILittleEndianInput in1)
 {
     field_1_row = in1.ReadUShort();
     field_2_col = in1.ReadUShort();
 }
开发者ID:Johnnyfly,项目名称:source20131023,代码行数:5,代码来源:RefPtgBase.cs

示例13: RefPtgBase

 protected RefPtgBase(ILittleEndianInput in1)
 {
     field_1_row = in1.ReadUShort();
     field_2_col = in1.ReadUShort();
 }
开发者ID:Johnnyfly,项目名称:source20131023,代码行数:5,代码来源:RefPtgBase.cs

示例14: IntPtg

 public IntPtg(ILittleEndianInput in1)
     : this(in1.ReadUShort())
 {
     
 }
开发者ID:ctddjyds,项目名称:npoi,代码行数:5,代码来源:IntPtg.cs

示例15: ReadUnicodeString

        /**
         * InputStream <c>in</c> is expected to contain:
         * <ol>
         * <li>ushort nChars</li>
         * <li>byte is16BitFlag</li>
         * <li>byte[]/char[] characterData</li>
         * </ol>
         * For this encoding, the is16BitFlag is always present even if nChars==0.
         */
        public static String ReadUnicodeString(ILittleEndianInput in1)
        {

            int nChars = in1.ReadUShort();
            byte flag = (byte)in1.ReadByte();
            if ((flag & 0x01) == 0)
            {
                return ReadCompressedUnicode(in1, nChars);
            }
            return ReadUnicodeLE(in1, nChars);
        }
开发者ID:newlysoft,项目名称:npoi,代码行数:20,代码来源:StringUtil.cs


注:本文中的ILittleEndianInput.ReadUShort方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。