Пример #1
0
        private bool readProjHeader(string fileName, ref string msg)
        {
            // read Project header data
            FileStream   fs = new FileStream(fileName, FileMode.Open);
            BinaryReader br = new BinaryReader(fs);

            m_ProjectInfo            = new ProjectInfo();
            m_ProjectInfo.FileTag    = new char[2];
            m_ProjectInfo.FileTag[0] = br.ReadChar();
            m_ProjectInfo.FileTag[1] = br.ReadChar();

            if (m_ProjectInfo.FileTag[0] != 'P' || m_ProjectInfo.FileTag[1] != 'R')
            {
                br.Close();
                fs.Close();
                msg = "File is no CKT-PLC Project Object file or is corupted!\n-> " + fileName;
                return(true);
            }

            m_ProjectInfo.OffsetBlockData = br.ReadInt16();
            m_ProjectInfo.ProjectVersion  = new Version(br.ReadByte(), br.ReadByte());
            m_ProjectInfo.ObjectCount     = br.ReadByte();
            m_ProjectInfo.DateCreation    = new DateTime(br.ReadUInt16(), br.ReadByte(), br.ReadByte(), br.ReadByte(), br.ReadByte(), br.ReadByte());
            m_ProjectInfo.DateLastModify  = new DateTime(br.ReadUInt16(), br.ReadByte(), br.ReadByte(), br.ReadByte(), br.ReadByte(), br.ReadByte());

            List <char> stringList = new List <char>();

            while (br.PeekChar() != 0)
            {
                stringList.Add((char)br.ReadByte());
            }
            br.ReadChar();
            m_ProjectInfo.ProjectName = new String(stringList.ToArray());

            stringList = new List <char>();
            while (br.PeekChar() != 0)
            {
                stringList.Add((char)br.ReadByte());
            }
            br.ReadChar();
            m_ProjectInfo.ProjectCompany = new String(stringList.ToArray());

            stringList = new List <char>();
            while (br.PeekChar() != 0)
            {
                stringList.Add((char)br.ReadByte());
            }
            br.ReadChar();
            m_ProjectInfo.ProjectAuthor = new String(stringList.ToArray());

            stringList = new List <char>();
            while (br.PeekChar() != 0)
            {
                stringList.Add((char)br.ReadByte());
            }
            br.ReadChar();
            m_ProjectInfo.ProjectDesc = new String(stringList.ToArray());

            br.Close();
            fs.Close();

            return(false);
        }
Пример #2
0
        private bool readProjHeader(string fileName, ref string msg)
        {
            // read Project header data
            FileStream fs = new FileStream(fileName, FileMode.Open);
            BinaryReader br = new BinaryReader(fs);

            m_ProjectInfo = new ProjectInfo();
            m_ProjectInfo.FileTag = new char[2];
            m_ProjectInfo.FileTag[0] = br.ReadChar();
            m_ProjectInfo.FileTag[1] = br.ReadChar();

            if (m_ProjectInfo.FileTag[0] != 'P' || m_ProjectInfo.FileTag[1] != 'R')
            {
                br.Close();
                fs.Close();
                msg = "File is no CKT-PLC Project Object file or is corupted!\n-> " + fileName;
                return true;
            }

            m_ProjectInfo.OffsetBlockData = br.ReadInt16();
            m_ProjectInfo.ProjectVersion = new Version(br.ReadByte(), br.ReadByte());
            m_ProjectInfo.ObjectCount = br.ReadByte();
            m_ProjectInfo.DateCreation = new DateTime(br.ReadUInt16(), br.ReadByte(), br.ReadByte(), br.ReadByte(), br.ReadByte(), br.ReadByte());
            m_ProjectInfo.DateLastModify = new DateTime(br.ReadUInt16(), br.ReadByte(), br.ReadByte(), br.ReadByte(), br.ReadByte(), br.ReadByte());

            List<char> stringList = new List<char>();
            while (br.PeekChar() != 0)
            {
                stringList.Add((char)br.ReadByte());
            }
            br.ReadChar();
            m_ProjectInfo.ProjectName = new String(stringList.ToArray());

            stringList = new List<char>();
            while (br.PeekChar() != 0)
            {
                stringList.Add((char)br.ReadByte());
            }
            br.ReadChar();
            m_ProjectInfo.ProjectCompany = new String(stringList.ToArray());

            stringList = new List<char>();
            while (br.PeekChar() != 0)
            {
                stringList.Add((char)br.ReadByte());
            }
            br.ReadChar();
            m_ProjectInfo.ProjectAuthor = new String(stringList.ToArray());

            stringList = new List<char>();
            while (br.PeekChar() != 0)
            {
                stringList.Add((char)br.ReadByte());
            }
            br.ReadChar();
            m_ProjectInfo.ProjectDesc = new String(stringList.ToArray());
            
            br.Close();
            fs.Close();

            return false;
        }