Exemple #1
0
        /// <summary>
        /// Sets the values to be written to the PQDIF
        /// file for the increment storage method.
        /// </summary>
        /// <param name="start">The start of the increment.</param>
        /// <param name="count">The number of values in the series.</param>
        /// <param name="increment">The amount by which to increment each value in the series.</param>
        public void SetValues(object start, object count, object increment)
        {
            VectorElement seriesValuesElement;

            seriesValuesElement = new VectorElement()
            {
                Size         = 3,
                TagOfElement = SeriesValuesTag,
                TypeOfValue  = PhysicalTypeExtensions.GetPhysicalType(start.GetType())
            };

            seriesValuesElement.Set(0, start);
            seriesValuesElement.Set(1, count);
            seriesValuesElement.Set(2, increment);
        }
        // Sets the value of the vector element to the given value.
        public static void SetValue(this VectorElement element, string value)
        {
            string[] values = value.Trim('{', '}').Split(',');

            if (element.TypeOfValue == PhysicalType.Char1)
            {
                byte[] bytes = Encoding.ASCII.GetBytes(value + (char)0);
                element.Size = bytes.Length;
                element.SetValues(bytes, 0);
            }
            else if (element.TypeOfValue == PhysicalType.Char2)
            {
                byte[] bytes = Encoding.Unicode.GetBytes(value + (char)0);
                element.Size = bytes.Length;
                element.SetValues(bytes, 0);
            }
            else
            {
                element.Size = values.Length;

                for (int i = 0; i < values.Length; i++)
                {
                    string trim = values[i].Trim();

                    if (element.TypeOfValue == PhysicalType.Guid)
                    {
                        element.SetGuid(i, Guid.Parse(trim));
                    }
                    else if (element.TypeOfValue == PhysicalType.Complex8)
                    {
                        element.Set(i, ComplexNumber.Parse(trim));
                    }
                    else if (element.TypeOfValue == PhysicalType.Complex16)
                    {
                        element.Set(i, ComplexNumber.Parse(trim));
                    }
                    else
                    {
                        element.Set(i, trim);
                    }
                }
            }
        }
Exemple #3
0
        /// <summary>
        /// Sets the raw values to be written to the PQDIF file as the <see cref="SeriesValues"/>.
        /// </summary>
        /// <param name="values">The values to be written to the PQDIF file.</param>
        public void SetValues(IList <object> values)
        {
            VectorElement seriesValuesElement;

            seriesValuesElement = new VectorElement()
            {
                Size         = values.Count,
                TagOfElement = SeriesValuesTag,
                TypeOfValue  = PhysicalTypeExtensions.GetPhysicalType(values[0].GetType())
            };

            for (int i = 0; i < values.Count; i++)
            {
                seriesValuesElement.Set(i, values[i]);
            }
        }