Exemple #1
0
 public DataRow MakeEntry(CatalogEntry entry)
 {
     return(DataRow.Create(Table.Heading, new TypedValue[] {
         TextValue.Create(entry.Name),
         TextValue.Create(entry.Kind.ToString()),
         TextValue.Create(entry.DataType.BaseType.Name),
         BinaryValue.Create(entry.ToBinary())
     }));
 }
Exemple #2
0
        public BinaryValue BinarySet(BinaryValue value, NumberValue index, NumberValue newvalue)
        {
            if (index.Value < 0 || index.Value > value.Value.Length)
            {
                throw ProgramError.Fatal("Binary", "set index out of range");
            }
            var b = value.Value.Clone() as byte[];

            b[(int)index.Value] = (byte)newvalue.Value;
            return(BinaryValue.Create(b));
        }
Exemple #3
0
        ///=================================================================
        ///
        /// binary operations
        ///

        public BinaryValue Binary(TypedValue value)
        {
            if (value.DataType == DataTypes.Text)
            {
                return(BinaryValue.Default); // TODO: convert text to binary
            }
            if (value.DataType == DataTypes.Number)
            {
                var size = (int)((NumberValue)value).Value;
                return(BinaryValue.Create(new byte[size]));
            }
            throw ProgramError.Fatal("Binary", "invalid arg type");
        }
Exemple #4
0
 public void SetBinary(int colno, byte[] value)
 {
     _valueholder._values[colno] = BinaryValue.Create(value);
 }