示例#1
0
            private Cell DefaultFieldNulls(int ColumnCount)
            {
                CellArray x = new CellArray();

                for (int i = 0; i < ColumnCount; i++)
                {
                    x.Append(true);
                }
                return(new Cell(x));
            }
示例#2
0
            private Cell DefaultFieldTypes(int ColumnCount)
            {
                CellArray x = new CellArray();

                for (int i = 0; i < ColumnCount; i++)
                {
                    x.Append((byte)(CellAffinity.VARIANT));
                }
                return(new Cell(x));
            }
示例#3
0
            public override Cell Evaluate(SpoolSpace Memory)
            {
                CellArray x = new CellArray();

                foreach (Expression z in this._Children)
                {
                    x.Append(z.Evaluate(Memory));
                }
                return(x);
            }
示例#4
0
        public CellArray ToArray(SpoolSpace Memory)
        {
            CellArray x = new CellArray();

            foreach (Expression sx in this._Values.Values)
            {
                x.Append(sx.Evaluate(Memory));
            }
            return(x);
        }
示例#5
0
            public override Cell Evaluate(SpoolSpace Memory)
            {
                this.CheckParameters();
                Cell x = this._Children[0].Evaluate(Memory);

                if (x.Affinity != CellAffinity.TREF)
                {
                    return(CellValues.NullARRAY);
                }
                CellArray y = new CellArray();

                foreach (int n in this._Host.TableStore.RequestTable(x.valueTREF).Columns.Sizes)
                {
                    y.Append(n);
                }
                return(y);
            }
示例#6
0
            public override Cell Evaluate(SpoolSpace Memory)
            {
                this.CheckParameters();
                Cell      Value       = this._Children[0].Evaluate(Memory);
                Cell      SplitValues = this._Children[1].Evaluate(Memory);
                CellArray z           = new CellArray();

                // Two parameters //
                if (this._Children.Count == 2)
                {
                    if (Value.Affinity == CellAffinity.BINARY)
                    {
                        BString x = new BString(Value.valueBINARY);
                        foreach (BString y in x.Split(SplitValues.valueBINARY))
                        {
                            z.Append(new Cell(y.ToByteArray));
                        }
                    }
                    else if (Value.Affinity == CellAffinity.BSTRING)
                    {
                        foreach (BString y in Value.valueBSTRING.Split(SplitValues.valueBINARY))
                        {
                            z.Append(new Cell(y));
                        }
                    }
                    else if (Value.Affinity == CellAffinity.CSTRING)
                    {
                        foreach (string y in Util.StringUtil.Split(Value.valueCSTRING, SplitValues.valueCSTRING.ToCharArray()))
                        {
                            z.Append(new Cell(y));
                        }
                    }

                    return(z);
                }

                // Three paramters
                Cell Escape = this._Children[2].Evaluate(Memory);

                if (Value.Affinity == CellAffinity.BINARY)
                {
                    BString x = new BString(Value.valueBINARY);
                    foreach (BString y in x.Split(SplitValues.valueBINARY, Escape.valueBYTE))
                    {
                        z.Append(new Cell(y.ToByteArray));
                    }
                }
                else if (Value.Affinity == CellAffinity.BSTRING)
                {
                    foreach (BString y in Value.valueBSTRING.Split(SplitValues.valueBINARY, Escape.valueBYTE))
                    {
                        z.Append(new Cell(y));
                    }
                }
                else if (Value.Affinity == CellAffinity.CSTRING)
                {
                    foreach (string y in Util.StringUtil.Split(Value.valueCSTRING, SplitValues.valueCSTRING.ToCharArray(), Escape.valueCSTRING.ToCharArray()[0]))
                    {
                        z.Append(new Cell(y));
                    }
                }

                return(z);
            }