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)); }
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)); }
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"); }
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)); }
public override object Decode(ArraySegment <byte> bytes, DbfMemo memo) { return(ConvertFoxProToDateTime(bytes)); }
public abstract object Decode(ArraySegment <byte> bytes, DbfMemo memo);
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); }
public override object Decode(ArraySegment <byte> bytes, DbfMemo memo) { return(bytes.Array[bytes.Offset]); }
public override object Decode(ArraySegment <byte> bytes, DbfMemo memo) { return(BitConverter.ToInt32(bytes.Array, bytes.Offset)); }