Пример #1
0
        public static TimeEx FromStream(BinaryReader stream)
        {
            TimeEx res = new TimeEx();

            res.m_flags = (TimeExFlags)stream.ReadByte();
            if (!res.SkipTime)
            {
                res.m_hour   = stream.ReadByte();
                res.m_minute = stream.ReadByte();
                res.m_second = stream.ReadByte();
            }
            if (!res.SkipNanoSecond)
            {
                res.m_nanosecond = stream.ReadInt32();
            }
            if (!res.SkipOffset)
            {
                res.m_offset = stream.ReadInt16();
            }
            return(res);
        }
Пример #2
0
 public void SetTimeEx(TimeEx value)
 {
     m_text = value.ToString(m_settings.TimeFormat, CultureInfo.InvariantCulture);
 }
Пример #3
0
 public void SetTimeEx(TimeEx value)
 {
     _values[_curWriteField] = value;
     Changed();
 }
Пример #4
0
 public void SetTimeEx(TimeEx value)
 {
     m_stream.Write((byte)TypeStorage.TimeEx);
     value.WriteTo(m_stream);
 }
Пример #5
0
 public override void SetTimeEx(TimeEx value)
 {
     m_text = "'" + value.ToString("HH:mm:ss.fff", CultureInfo.InvariantCulture) + "'";
 }
Пример #6
0
        public static object GetValueFromXml(string xtype, string xdata)
        {
            switch (xtype)
            {
            case "bool":
                return(xdata == "1");

            case "byte":
                return(Byte.Parse(xdata, CultureInfo.InvariantCulture));

            case "i16":
                return(Int16.Parse(xdata, CultureInfo.InvariantCulture));

            case "i32":
                return(Int32.Parse(xdata, CultureInfo.InvariantCulture));

            case "i64":
                return(Int64.Parse(xdata, CultureInfo.InvariantCulture));

            case "sbyte":
                return(SByte.Parse(xdata, CultureInfo.InvariantCulture));

            case "u16":
                return(UInt16.Parse(xdata, CultureInfo.InvariantCulture));

            case "u32":
                return(UInt32.Parse(xdata, CultureInfo.InvariantCulture));

            case "u64":
                return(UInt64.Parse(xdata, CultureInfo.InvariantCulture));

            case "datetime":
                return(DateTime.ParseExact(xdata, "s", CultureInfo.InvariantCulture));

            case "dtex":
                return(DateTimeEx.ParseNormalized(xdata));

            case "date":
                return(DateEx.ParseNormalized(xdata));

            case "time":
                return(TimeEx.ParseNormalized(xdata));

            case "str":
                return(xdata);

            case "decimal":
                return(Decimal.Parse(xdata, CultureInfo.InvariantCulture));

            case "float":
                return(Single.Parse(xdata, CultureInfo.InvariantCulture));

            case "double":
                return(Double.Parse(xdata, CultureInfo.InvariantCulture));

            case "guid":
                return(new Guid(xdata));

            case "blob":
                return(Convert.FromBase64String(xdata));
                //case "array":
                //    values[pos] = CdlArray.Parse(xdata);
                //    break;
            }
            return(null);
        }
Пример #7
0
 public virtual void SetTimeEx(TimeEx value)
 {
     m_text = "'" + value.ToStringNormalized() + "'";
 }
Пример #8
0
 public void SetTimeEx(TimeEx value)
 {
     m_dateTimeExVal.TimePart = value;
     _type = TypeStorage.TimeEx;
 }
Пример #9
0
 public void SetTimeEx(TimeEx value)
 {
     m_dateTimeExVal.TimePart = value;
     _type = TypeStorage.TimeEx;
 }
Пример #10
0
        public static void ReadValue(this ICdlValueWriter writer, BinaryReader stream)
        {
            TypeStorage storage = (TypeStorage)stream.ReadByte();

            switch (storage)
            {
            case TypeStorage.Null:
                writer.SetNull();
                break;

            case TypeStorage.Boolean:
                writer.SetBoolean(stream.ReadBoolean());
                break;

            case TypeStorage.Byte:
                writer.SetByte(stream.ReadByte());
                break;

            case TypeStorage.Int16:
                writer.SetInt16(stream.ReadInt16());
                break;

            case TypeStorage.Int32:
                writer.SetInt32(stream.ReadInt32());
                break;

            case TypeStorage.Int64:
                writer.SetInt64(stream.ReadInt64());
                break;

            case TypeStorage.SByte:
                writer.SetSByte(stream.ReadSByte());
                break;

            case TypeStorage.UInt16:
                writer.SetUInt16(stream.ReadUInt16());
                break;

            case TypeStorage.UInt32:
                writer.SetUInt32(stream.ReadUInt32());
                break;

            case TypeStorage.UInt64:
                writer.SetUInt64(stream.ReadUInt64());
                break;

            case TypeStorage.Float:
                writer.SetFloat(stream.ReadSingle());
                break;

            case TypeStorage.Double:
                writer.SetDouble(stream.ReadDouble());
                break;

            case TypeStorage.Decimal:
                writer.SetDecimal(stream.ReadDecimal());
                break;

            case TypeStorage.DateTime:
                writer.SetDateTime(DateTime.FromBinary(stream.ReadInt64()));
                break;

            case TypeStorage.DateTimeEx:
                writer.SetDateTimeEx(DateTimeEx.FromStream(stream));
                break;

            case TypeStorage.DateEx:
                writer.SetDateEx(DateEx.FromStream(stream));
                break;

            case TypeStorage.TimeEx:
                writer.SetTimeEx(TimeEx.FromStream(stream));
                break;

            case TypeStorage.ByteArray:
            {
                int len = stream.Read7BitEncodedInteger();
                writer.SetByteArray(stream.ReadBytes(len));
            }
            break;

            case TypeStorage.Guid:
                writer.SetGuid(new Guid(stream.ReadBytes(16)));
                break;

            case TypeStorage.String:
                writer.SetString(stream.ReadString());
                break;
            }
        }
Пример #11
0
 public static TimeEx FromStream(BinaryReader stream)
 {
     TimeEx res = new TimeEx();
     res.m_flags = (TimeExFlags)stream.ReadByte();
     if (!res.SkipTime)
     {
         res.m_hour = stream.ReadByte();
         res.m_minute = stream.ReadByte();
         res.m_second = stream.ReadByte();
     }
     if (!res.SkipNanoSecond)
     {
         res.m_nanosecond = stream.ReadInt32();
     }
     if (!res.SkipOffset)
     {
         res.m_offset = stream.ReadInt16();
     }
     return res;
 }
Пример #12
0
 public void SetTimeEx(TimeEx value)
 {
     m_text = value.ToString(m_settings.TimeFormat, CultureInfo.InvariantCulture);
 }