コード例 #1
0
ファイル: MemoEncoder.cs プロジェクト: lordstanius/dBASE.NET
        public override object Decode(ArraySegment <byte> bytes, DbfMemo memo)
        {
            int index;

            // Memo fields of 5+ bytes in length store their index in text, e.g. "     39394"
            // Memo fields of 4 bytes store their index as an int.
            if (bytes.Count > 4)
            {
                string text = Encoding.ASCII.GetString(bytes.Array, bytes.Offset, bytes.Count).Trim();
                if (text.Length == 0)
                {
                    return(null);
                }

                index = Convert.ToInt32(text);
            }
            else
            {
                index = BitConverter.ToInt32(bytes.Array, bytes.Offset);
                if (index == 0)
                {
                    return(null);
                }
            }

            return(memo.GetMemo(index));
        }
コード例 #2
0
        public override object Decode(ArraySegment <byte> bytes, DbfMemo memo)
        {
            string text = Encoding.GetString(bytes.Array, bytes.Offset, bytes.Count).Trim();

            if (text.Length == 0)
            {
                return(null);
            }
            return(DateTime.ParseExact(text, "yyyyMMdd", CultureInfo.InvariantCulture));
        }
コード例 #3
0
        public override object Decode(ArraySegment <byte> bytes, DbfMemo memo)
        {
            string text = Encoding.GetString(bytes.Array, bytes.Offset, bytes.Count).Trim().ToUpper();

            if (text == "?")
            {
                return(null);
            }
            return(text == "Y" || text == "T");
        }
コード例 #4
0
        public override object Decode(ArraySegment <byte> bytes, DbfMemo memo)
        {
            string text = Encoding.GetString(bytes.Array, bytes.Offset, bytes.Count).Trim();

            if (text.Length == 0)
            {
                return(null);
            }

            return(Convert.ToSingle(text, CultureInfo.InvariantCulture));
        }
コード例 #5
0
 public override object Decode(ArraySegment <byte> bytes, DbfMemo memo)
 {
     return(ConvertFoxProToDateTime(bytes));
 }
コード例 #6
0
 public abstract object Decode(ArraySegment <byte> bytes, DbfMemo memo);
コード例 #7
0
        public override object Decode(ArraySegment <byte> bytes, DbfMemo memo)
        {
            string text = Encoding.GetString(bytes.Array, bytes.Offset, bytes.Count).Trim();

            return(text.Length == 0 ? null : text);
        }
コード例 #8
0
 public override object Decode(ArraySegment <byte> bytes, DbfMemo memo)
 {
     return(bytes.Array[bytes.Offset]);
 }
コード例 #9
0
 public override object Decode(ArraySegment <byte> bytes, DbfMemo memo)
 {
     return(BitConverter.ToInt32(bytes.Array, bytes.Offset));
 }