public FileReaderItem Next() { TryAgain: m_nextPacket = m_stream.Read(); if ((object)m_nextPacket == null) { return(FileReaderItem.EndOfStream); } if (m_nextPacket.CommandName == "DataStreamNormal") { if (m_decoderNormal == null) { m_decoderNormal = new NormalDecoder(); } m_decoderNormal.Load(((CommandDataStreamNormal)m_nextPacket)); m_currentDecoder = m_decoderNormal; return(FileReaderItem.DataPoint); } else if (m_nextPacket.CommandName == "ProducerMetadata") { m_metadata = (SttpProducerMetadata)m_nextPacket; foreach (var item in m_metadata.DataPoints) { m_metadataLookup[item.DataPointID] = item; } return(FileReaderItem.ProducerMetadata); } goto TryAgain; }
private void ReadCtp(string fileName) { DataTable dt = new DataTable(); dt.Columns.Add("Command", typeof(string)); dt.Columns.Add("Length", typeof(int)); dt.Columns.Add("Record", typeof(string)); using (var fs = new FileStream(fileName, FileMode.Open)) using (var ctp = new CtpFileStream(fs, CtpCompressionMode.None, false)) { while (true) { var cmd = ctp.Read(); if ((object)cmd == null) { break; } dt.Rows.Add(cmd.CommandName, cmd.DataLength, cmd); } } dataGridView1.DataSource = dt; }