Exemplo n.º 1
0
        private static void GetPddbItemListNames(string filePath)
        {
            try
            {
                if (!File.Exists(filePath))
                {
                    return;
                }
                var fs  = new FileStream(filePath, FileMode.Open);
                var ebr = new EndianBinaryReader(new BigEndianBitConverter(), fs);
                fs.Position        = PddbStartOffsetReadStart;
                _pddbTableLength   = ebr.ReadUInt32();
                fs.Position        = PddbFirstItemOffset;
                _pddbSymbolsOffset = _pddbTableLength + SaveFileHeaderLength;

                byte pdddbDataType = 0;
                var  sb            = new StringBuilder(string.Empty);
                bool bool0         = false;
                int  int0          = 0;
                var  byte4         = new byte[5];
                var  byte5         = new byte[2];

                while (fs.Position < _pddbSymbolsOffset)
                {
                    ReadPddbValues(fs, pdddbDataType, byte4, byte5, ref sb, ref bool0, ref int0);
                }
                List1 = List0.Distinct().ToList();
                List1.Sort();
                int num2 = 0;
                foreach (int num3 in List1)
                {
                    PddbItemListNames.Add(ReadPddbSymbols(fs, num2++));
                }
                fs.Close();
            }
            catch
            {
            }
        }