Beispiel #1
0
        public virtual void calcProperties()
        {
            ShortMap propEngMap = ExpMap.PropEngMap;

            if (propEngMap != null)
            {
                if (row != null)
                {
                    row.DataSet.CurrentRow = row;
                }
                for (int i = 0; i < propEngMap.size(); i++)
                {
                    short key = propEngMap.getKey(i);
                    if ((key != 304) && (key != 305))
                    {
                        var expInfo = (ExpParseInfo)propEngMap.getValue(i);
                        setPropResult(key, ConvertTool.getSingleValue(expInfo.Exp.calculate()));
                    }
                }
            }
        }
Beispiel #2
0
        private void method_13(ShortMap shortMap_0, int int_0, int int_1, int int_2, int int_3, int int_4, int int_5)
        {
            if (shortMap_0 != null)
            {
                for (int i = 0; i < shortMap_0.size(); i++)
                {
                    int    num3;
                    int    num5;
                    char   ch;
                    short  num2 = shortMap_0.getKey(i);
                    string str  = (string)method_15(int_0, int_1, num2);
                    if (((str == null) || (str.Trim().Length == 0)) || (str.StartsWith("#REF!") || str.StartsWith("#ERR!")))
                    {
                        continue;
                    }
                    StringBuilder builder = null;
                    int           num6    = str.Length;
                    bool          flag    = false;
                    int           num4    = 0;
                    goto Label_0188;
Label_0075:
                    ch = str[num4];
                    switch (ch)
                    {
                    case '\'':
                    case '"':
                        goto Label_015A;

                    default:
                        if (method_10(ch))
                        {
                            goto Label_0146;
                        }
                        num3 = method_11(str, num4);
                        num5 = num4;
                        while (num5 < num3)
                        {
                            if (str[num5] == '.')
                            {
                                break;
                            }
                            num5++;
                        }
                        break;
                    }
                    if (!method_9(str, num4, num5))
                    {
                        if (builder != null)
                        {
                            builder.Append(str.Substring(num4, num5 - num4));
                        }
                    }
                    else
                    {
                        if (builder == null)
                        {
                            builder = new StringBuilder(64);
                            builder.Append(str.Substring(0, num4));
                        }
                        if (!method_14(str, num4, num5, int_2, int_3, int_5, int_4, builder))
                        {
                            goto Label_0193;
                        }
                    }
                    if ((num5 < num3) && (builder != null))
                    {
                        builder.Append(str.Substring(num5, num3 - num5));
                    }
                    num4 = num3;
                    goto Label_0188;
Label_0146:
                    if (builder != null)
                    {
                        builder.Append(ch);
                    }
                    num4++;
                    goto Label_0188;
Label_015A:
                    num3 = ExpString.scanQuotation(str, num4, '\\');
                    if (num3 < 0)
                    {
                        goto Label_01E0;
                    }
                    if (builder != null)
                    {
                        builder.Append(str.Substring(num4, (num3 + 1) - num4));
                    }
                    num4 = num3 + 1;
Label_0188:
                    if (num4 >= num6)
                    {
                        goto Label_0202;
                    }
                    goto Label_0075;
Label_0193:
                    if (_relativeList == null)
                    {
                        _relativeList = new ArrayList(10);
                    }
                    _relativeList.Add(new RelativeFix(int_0, int_1, num2));
                    method_16(int_0, int_1, num2, "#REF!" + str.ToString().ToString());
                    flag = true;
                    goto Label_0202;
Label_01E0:
                    method_16(int_0, int_1, num2, "#ERR!" + str.ToString().ToString());
                    flag = true;
Label_0202:
                    if (!flag && (builder != null))
                    {
                        method_16(int_0, int_1, num2, builder.ToString());
                    }
                }
            }
        }