Exemplo n.º 1
0
        //-----------------------------------------------
        public CResultAErreur RefreshParametres()
        {
            CResultAErreur result = CResultAErreur.True;

            foreach (KeyValuePair <int, string> kv in m_dicParametresGraphiques)
            {
                CRepresentationExpressionGraphique rep  = RepresentationRacine.GetFormule(kv.Value);
                CRepresentationExpressionGraphique graf = rep;
                while (graf != null)
                {
                    result = graf.RefreshParametres();
                    if (!result)
                    {
                        return(result);
                    }
                    if (graf.LastErreur != "")
                    {
                        result.EmpileErreur(graf.LastErreur);
                        return(result);
                    }
                    else
                    {
                        if (graf.Formule == null)
                        {
                            LastErreur = I.T("Bad parameter @1|20104", kv.Key.ToString());
                            result.EmpileErreur(LastErreur);
                            return(result);
                        }
                    }
                    graf = graf.Next;
                }
                m_formule.SetParametre(kv.Key, rep.FormuleFinale);
            }
            return(result);
        }
Exemplo n.º 2
0
        //-----------------------------------------------
        public CResultAErreur RefreshFormuleFinale()
        {
            m_formuleFinale = null;
            CResultAErreur     result  = CResultAErreur.True;
            C2iExpressionBegin formule = new C2iExpressionBegin();

            foreach (CDefinitionProprieteDynamiqueVariableFormule def in m_listeVariables)
            {
                C2iExpressionVariable var = new C2iExpressionVariable();
                C2iExpression         exp = new C2iExpressionChamp();
                ((C2iExpressionChamp)exp).DefinitionPropriete = def;
                var.Parametres.Add(exp);
                exp = new C2iExpressionConstante(def.TypeDonnee.TypeDotNetNatif.ToString());
                var.Parametres.Add(exp);
                if (def.TypeDonnee.IsArrayOfTypeNatif)
                {
                    exp = new C2iExpressionVrai();
                    var.Parametres.Add(exp);
                }
                formule.Parametres.Add(var);
            }
            CRepresentationExpressionGraphique graf = StartPoint;

            if (graf == null)
            {
                result.EmpileErreur(I.T("No start point|20103"));
                return(result);
            }

            while (graf != null)
            {
                result = graf.RefreshParametres();
                if (!result)
                {
                    return(result);
                }
                if (graf.Formule != null)
                {
                    formule.Parametres.Add(graf.Formule);
                }
                graf = graf.Next;
            }
            m_formuleFinale = formule;
            return(CResultAErreur.True);
        }