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); }
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; }