示例#1
0
        private string SolveExpressionPrevValues()
        {
            string exp = _expression;

            foreach (Function func in _functions)
            {
                switch (func.Type)
                {
                case Function.FunctionType.SequentialIntFunction:
                    SequentialIntFunction sif = (SequentialIntFunction)func;
                    exp = exp.Replace(sif.Name, sif.PrevVal().ToString().PadLeft(sif.Padding, '0'));
                    break;

                case Function.FunctionType.SequentialCharFunction:
                    SequentialCharFunction scf = (SequentialCharFunction)func;
                    exp = exp.Replace(scf.Name, scf.PrevVal().ToString());
                    break;

                case Function.FunctionType.ConstantTextFunction:
                    ConstantTextFunction ctf = (ConstantTextFunction)func;
                    exp = exp.Replace(ctf.Name, ctf.Constant);
                    break;

                case Function.FunctionType.ConstantFileFunction:
                    ConstantFileFunction cff = (ConstantFileFunction)func;
                    exp = exp.Replace(cff.Name, cff.NextVal());
                    break;

                case Function.FunctionType.ConstantFileFunctionEx:
                    ConstantFileFunctionEx cffe = (ConstantFileFunctionEx)func;
                    exp = exp.Replace(cffe.Name, cffe.NextVal());
                    break;

                case Function.FunctionType.ConstantFileExtFunction:
                    ConstantFileExtFunction cfef = (ConstantFileExtFunction)func;
                    exp = exp.Replace(cfef.Name, cfef.NextVal());
                    break;
                }
            }
            return(exp);
        }
示例#2
0
        public string SolveExpressionFromBeginning(int iteration)
        {
            string exp = _expression;

            foreach (Function func in _functions)
            {
                switch (func.Type)
                {
                case Function.FunctionType.SequentialIntFunction:
                    SequentialIntFunction sif = (SequentialIntFunction)func;
                    exp = exp.Replace(sif.Name, sif.AllVals(iteration).Last <int>().ToString().PadLeft(sif.Padding, '0'));
                    break;

                case Function.FunctionType.SequentialCharFunction:
                    SequentialCharFunction scf = (SequentialCharFunction)func;
                    exp = exp.Replace(scf.Name, scf.AllVals(iteration).Last <char>().ToString());
                    break;

                case Function.FunctionType.ConstantTextFunction:
                    ConstantTextFunction ctf = (ConstantTextFunction)func;
                    exp = exp.Replace(ctf.Name, ctf.Constant);
                    break;

                case Function.FunctionType.ConstantFileFunction:
                    ConstantFileFunction cff = (ConstantFileFunction)func;
                    exp = exp.Replace(cff.Name, cff.NextVal());
                    break;

                case Function.FunctionType.ConstantFileFunctionEx:
                    ConstantFileFunctionEx cffe = (ConstantFileFunctionEx)func;
                    exp = exp.Replace(cffe.Name, cffe.NextVal());
                    break;

                case Function.FunctionType.ConstantFileExtFunction:
                    ConstantFileExtFunction cfef = (ConstantFileExtFunction)func;
                    exp = exp.Replace(cfef.Name, cfef.NextVal());
                    break;
                }
            }
            return(exp);
        }