Esempio n. 1
0
        private void WriteQuantum(EmulQuant quant)
        {
            #region Тип Delphi
              // TQuant = packed record
              //   ModuleID:   Byte; 1 байт
              //   ChannelID:  Byte; 1 байт
              //   DataType:   Byte; 1 байт
              //   Data:       array[0..255] of Byte; 256 байт
              // end;
              // Итого: 259
              #endregion

              writer.Write(quant.ModuleID);
              writer.Write(quant.ChannelID);
              writer.Write((byte)quant.DataType);
              writer.Write(quant.Data);
        }
Esempio n. 2
0
        private bool ReadQuantum(out EmulQuant quant)
        {
            #region Тип Delphi
              // TQuant = packed record
              //   ModuleID:   Byte; 1 байт
              //   ChannelID:  Byte; 1 байт
              //   DataType:   Byte; 1 байт
              //   Data:       array[0..255] of Byte; 256 байт
              // end;
              // Итого: 259
              #endregion

              quant = new EmulQuant();
              byte[] data = new byte[259];
              bool result = reader.Read(data, 0, 259) == 259;
              if (result)
              {
            quant.ModuleID = data[0];
            quant.ChannelID = data[1];
            quant.DataType = (DataType)data[2];
            quant.Data = new byte[256];
            Array.Copy(data, 3, quant.Data, 0, 256);
              }

              return result;
        }