/* * Constructeur */ public __Valeur(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, String _code = "") : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Initialisations // --------------- __code = _code; __codeDInitialisation = ""; }
/* * Constructeur */ public __Variable(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { if (__variables == null) { __variables = new Dictionary <string, int>(); } }
/* * Constructeur */ public __Valeur_Boutons(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _bouton) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Initialisation des membres // -------------------------- __code = __BOUTONS.code(_bouton); }
/* * Constructeur */ public __Bloc(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) { __UID = _UID; __commentaire = ""; __nomDansBlockly = _XMLDuBloc.Attributes["type"].Value; __blocPrécédent = _blocPrécédent; __groupeDeBlocs = _groupeDeBlocs; if (__blocPrécédent != null) { __UIDDuSéquenceur = __blocPrécédent.__UIDDuSéquenceur; } else if (__groupeDeBlocs != null) { __UIDDuSéquenceur = __groupeDeBlocs.__UIDDuSéquenceur; } __séquences = new List <Séquence>(); }
/* * Méthodes statiques */ public static __GroupeDeBlocs groupeDInstructions_Faire_AuDessus(__GroupeDeBlocs groupeDeBlocs) { if (groupeDeBlocs == null) { return(null); } if (groupeDeBlocs.__bloc_SortDeLaBoucleFaire_Possible) { return(groupeDeBlocs); } return(__GroupeDeBlocs.groupeDInstructions_Faire_AuDessus(groupeDeBlocs.__groupeDeBlocs)); }
/* * Constructeur */ public __Instruction(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { __UID = _UID; __nomDansBlockly = _XMLDuBloc.Attributes["type"].Value; __blocPrécédent = _blocPrécédent; if (__blocPrécédent != null) { __UIDDuSéquenceur = __blocPrécédent.UIDDuSéquenceur; } __séquences = new List <Séquence>(); }
/* * Constructeur */ public Valeur_Math_Number(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Déclarations // ------------ String nomDeLAttribut; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "NUM": __code = XMLDUnNoeudFils.FirstChild.InnerText; break; } } }
/* * Constructeur */ public Paramètre_LAdresseDeLaTélécommandeEst_SAIValeur(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Déclarations // ------------ String nomDeLAttribut; // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "Adresse": Valeur_CapteurIR_SELBouton.adresseIR = Int32.Parse(XMLDUnNoeudFils.InnerText); break; } } }
/* * Constructeur */ public __GroupeDInstructions_Si_Alors_Sinon_AvecCondition(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, __BlocsInternes _blocsInternesSi, __BlocsInternes _blocsInternesSinon, __Valeur _ConditionDEntré) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Initialisation des membres // -------------------------- __blocsInternes = _blocsInternesSi; __blocsInternesSupplémentaires = _blocsInternesSinon; __conditionDEntré = _ConditionDEntré; // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); __séquences.Add((Séquence)Séquence_2); __séquences.Add((Séquence)Séquence_3); __séquences.Add((Séquence)Séquence_4); __nombreDeBlocsInternes = 2; }
/* * Constructeur */ public Variable_DéfinirUneVariable(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Déclarations // ------------ String erreur; String nomDeLAttribut; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "VAR": __nom = XMLDUnNoeudFils.FirstChild.InnerText; break; case "VALUE": __expression = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs); break; } } if (__expression == null) { erreur = String.Format(Messages.Message((int)Messages.TYPE.VARIABLE_NON_INITIALISÉE), __nom); throw new Exception(erreur); } __Variable.AjouteUneVariable(__nom); // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); }
/* * Constructeur */ public __Sons_JoueUnSon_AvecSon(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _son) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { __son = _son; // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); __séquences.Add((Séquence)Séquence_2); }
/* * Constructeur */ public __Contrôle_Attends_AvecDurée(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, float _durée) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Initialisation des membres // -------------------------- __durée = _durée; // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); __séquences.Add((Séquence)Séquence_2); }
/* * Constructeur */ public Paramètre_CalibreLesMoteurs_SAIValeur(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Déclarations // ------------ String nomDeLAttribut; // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "Valeur": __MOTEUR.calibration = Int32.Parse(XMLDUnNoeudFils.InnerText); break; } } }
/* * Constructeur */ public Variable_IncrémenterUneVariable(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Déclarations // ------------ String nomDeLAttribut; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "VAR": __nom = XMLDUnNoeudFils.FirstChild.InnerText; break; case "DELTA": switch (XMLDUnNoeudFils.ChildNodes.Count) { case 1: // Le Noeud fils contient seulement une balise <shadow> // C'est la balise <shadow> qui est sélectionnée avec XMLDUnNoeudFils.FirstChild __expression = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs); break; case 2: // Le Noeud fils contient une balise <shadow> et une balise <block> // C'est la balise <block> qui est sélectionnée avec XMLDUnNoeudFils.LastChild __expression = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.LastChild, _blocPrécédent, _groupeDeBlocs); break; } break; } } __Variable.AjouteUneVariable(__nom); // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); }
/* * Constructeur */ public Valeur_CapteurIR_SELBouton( int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs ) : base( _UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs ) { // Déclarations // ------------ String nomDeLAttribut; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc ) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; switch(nomDeLAttribut) { case "Bouton": switch (XMLDUnNoeudFils.InnerText) { case "GO": __code = "rc5.command==53"; break; case "STOP": __code = "rc5.command==87"; break; case "AVANT": __code = "rc5.command==80 or rc5.command==32"; break; case "ARRIERE": __code = "rc5.command==81 or rc5.command==33"; break; case "GAUCHE": __code = "rc5.command==85"; break; case "DROITE": __code = "rc5.command==86"; break; case "OK": __code = "rc5.command==11"; break; case "MOINS": __code = "rc5.command==17"; break; case "PLUS": __code = "rc5.command==16"; break; case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": __code = "rc5.command==" + XMLDUnNoeudFils.InnerText; break; } // Complète le test avec l'adresse de la commande IR if ( Valeur_CapteurIR_SELBouton.adresseIR != -1 ) __code += " and rc5.address==" + Valeur_CapteurIR_SELBouton.adresseIR; break; } } }
/* * Constructeur */ public Valeur_Entier_OpérationNumériques_ENTEntier_SELComparaison_ENTEntier(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Déclarations // ------------ String nomDeLAttribut; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "Valeur1": __valeur1 = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs); break; case "Valeur2": __valeur2 = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs); break; case "Opération": switch (XMLDUnNoeudFils.InnerText) { case "ADDITION": opération = (int)__OPÉRATIONS_NUMÉRIQUES.NOM.ADDITION; break; case "SOUSTRACTION": opération = (int)__OPÉRATIONS_NUMÉRIQUES.NOM.SOUSTRACTION; break; case "MULTIPLICATION": opération = (int)__OPÉRATIONS_NUMÉRIQUES.NOM.MULTIPLICATION; break; case "DIVISION": opération = (int)__OPÉRATIONS_NUMÉRIQUES.NOM.DIVISION; break; case "MODULO": opération = (int)__OPÉRATIONS_NUMÉRIQUES.NOM.MODULO; break; } break; } } switch (opération) { case (int)__OPÉRATIONS_NUMÉRIQUES.NOM.ADDITION: __code = "(" + __valeur1.codePourLeSéquenceur + "+" + __valeur2.codePourLeSéquenceur + ")"; break; case (int)__OPÉRATIONS_NUMÉRIQUES.NOM.SOUSTRACTION: __code = "(" + __valeur1.codePourLeSéquenceur + "-" + __valeur2.codePourLeSéquenceur + ")"; break; case (int)__OPÉRATIONS_NUMÉRIQUES.NOM.MULTIPLICATION: __code = "(" + __valeur1.codePourLeSéquenceur + "*" + __valeur2.codePourLeSéquenceur + ")"; break; case (int)__OPÉRATIONS_NUMÉRIQUES.NOM.DIVISION: __code = "(" + __valeur1.codePourLeSéquenceur + "/" + __valeur2.codePourLeSéquenceur + ")"; break; case (int)__OPÉRATIONS_NUMÉRIQUES.NOM.MODULO: __code = "(" + __valeur1.codePourLeSéquenceur + "%" + __valeur2.codePourLeSéquenceur + ")"; break; } }
/* * Constructeur */ public GroupeDInstructions_Si_ENTCondition_Alors(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, null, null) { // Déclarations // ------------ String nomDeLAttribut; XmlNode XMLInterne; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "Condition": __conditionDEntré = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs); break; } } // Blocs internes au groupe // ------------------------ XMLInterne = _XMLDuBloc.SelectSingleNode("./statement"); if (XMLInterne != null) { __blocsInternes = new __BlocsInternes(UID + 1, XMLInterne.FirstChild, null, this); } }
/* * Constructeur */ public __Paramètre(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { }
/* * Constructeur */ public __Mouvement_Tourne_AvecSensAngle(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _sens, int _angle) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Initialisation des membres // -------------------------- __sens = _sens; angle = _angle; // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); __séquences.Add((Séquence)Séquence_2); }
/* * Constructeur */ public __GroupeDInstructions_Boucle_Répète_AvecNombre(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, __BlocsInternes _blocsInternes, int _nombreDeBoucle) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Initialisation des membres // -------------------------- __compteurDeBoucle++; __UIDDeBoucle = __compteurDeBoucle; __blocsInternes = _blocsInternes; __nombreDeBoucle = _nombreDeBoucle + 1; // Il est possible de sortir de ce groupe, à l'aide du bloc SortDeLaBoucleFaire __bloc_SortDeLaBoucleFaire_Possible = true; // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); __séquences.Add((Séquence)Séquence_2); __séquences.Add((Séquence)Séquence_3); __séquences.Add((Séquence)Séquence_4); __nombreDeBlocsInternes = 1; }
/* * Constructeur */ public Mouvement_Tourne_SELSens_SAIAngle(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, (int)__MOTEUR.TOURNE.PAS, 0) { // Déclarations // ------------ String nomDeLAttribut; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "Angle": angle = Int32.Parse(XMLDUnNoeudFils.InnerText); break; case "Sens": switch (XMLDUnNoeudFils.InnerText) { case "A_DROITE": __sens = (int)__MOTEUR.TOURNE.A_DROITE; break; case "A_GAUCHE": __sens = (int)__MOTEUR.TOURNE.A_GAUCHE; break; } break; } } }
/* * Constructeur */ public Evénement_ArrêterLeChronomètre(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); }
/* * Méthode privées */ /* * Constructeur */ public Mouvement_VitesseDesRoues_ENTVitesseAGauche_ENTVitesseADroite(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, (int)__MOTEUR.SENS.LIBRE, 0, 0) { // Déclarations // ------------ String nomDeLAttribut; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "VitesseAGauche": __vitesseAGauche = 5 * int.Parse(XMLDUnNoeudFils.InnerText); break; case "VitesseADroite": __vitesseADroite = 5 * int.Parse(XMLDUnNoeudFils.InnerText); break; } } }
/* * Constructeur */ public __Lumières_AllumeLesLEDs_AvecLEDCouleurDurée(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _led, int _couleur, float _durée) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Initialisation des membres // -------------------------- __couleur = _couleur; __led = _led; durée = _durée; // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); __séquences.Add((Séquence)Séquence_2); }
/* * Constructeur */ public Contrôle_SortDeLaBoucleFaire(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); }
/* * Constructeur */ public GroupeDInstructions_Si_IlYAUnObstacleDevant_Alors(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, null, null) { // Déclarations // ------------ XmlNode XMLInterne; // Initialisation des membres // -------------------------- __conditionDEntré = new __Valeur(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, __CAPTEURS.code((int)__CAPTEURS.NOM.AVANT_AU_MOINS_UN, (int)__CAPTEURS.PARAMÈTRE.DISTANCE_PRÈS)); // Blocs internes au groupe // ------------------------ XMLInterne = _XMLDuBloc.SelectSingleNode("./statement"); if (XMLInterne != null) { __blocsInternes = new __BlocsInternes(UID + 1, XMLInterne.FirstChild, null, this); } }
/* * Constructeur */ public GroupeDInstructions_Boucle_Répète_SAINombre(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, null, 0) { // Déclarations // ------------ String nomDeLAttribut; XmlNode XMLInterne; // Initialisation des membres // -------------------------- // Il est possible de sortir de ce groupe, à l'aide du bloc SortDeLaBoucleFaire __bloc_SortDeLaBoucleFaire_Possible = true; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "NombreDeBoucle": nombreDeBoucle = Int32.Parse(XMLDUnNoeudFils.InnerText); break; } } XMLInterne = _XMLDuBloc.SelectSingleNode("./statement"); if (XMLInterne != null) { __blocsInternes = new __BlocsInternes(UID + 2, XMLInterne.FirstChild, null, this); } }
/* * Constructeur */ public Valeur_Booléen_ComparaisonNumériques_ENTEntier_SELComparaison_ENTEntier(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Déclarations // ------------ String nomDeLAttribut; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "Valeur1": __valeur1 = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs); break; case "Valeur2": __valeur2 = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs); break; case "Comparaison": switch (XMLDUnNoeudFils.InnerText) { case "ÉGAL": __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.ÉGAL; break; case "DIFFÉRENT": __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.DIFFÉRENT; break; case "PLUS_GRAND": __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_GRAND; break; case "PLUS_PETIT": __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_PETIT; break; case "PLUS_GRAND_OU_ÉGAL": __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_GRAND_OU_ÉGAL; break; case "PLUS_PETIT_OU_ÉGAL": __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_PETIT_OU_ÉGAL; break; } break; } } switch (__comparaison) { case (int)__COMPARAISONS_NUMÉRIQUES.NOM.ÉGAL: __code = "(" + __valeur1.codePourLeSéquenceur + "==" + __valeur2.codePourLeSéquenceur + ")"; break; case (int)__COMPARAISONS_NUMÉRIQUES.NOM.DIFFÉRENT: __code = "(" + __valeur1.codePourLeSéquenceur + "!=" + __valeur2.codePourLeSéquenceur + ")"; break; case (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_GRAND: __code = "(" + __valeur1.codePourLeSéquenceur + ">" + __valeur2.codePourLeSéquenceur + ")"; break; case (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_PETIT: __code = "(" + __valeur1.codePourLeSéquenceur + "<" + __valeur2.codePourLeSéquenceur + ")"; break; case (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_GRAND_OU_ÉGAL: __code = "(" + __valeur1.codePourLeSéquenceur + ">=" + __valeur2.codePourLeSéquenceur + ")"; break; case (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_PETIT_OU_ÉGAL: __code = "(" + __valeur1.codePourLeSéquenceur + "<=" + __valeur2.codePourLeSéquenceur + ")"; break; } }
/* * Constructeur */ public Paramètre_InitialiseLeChronomètre_SAIValeur(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Déclarations // ------------ String nomDeLAttribut; // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "Valeur": chronomètre = Int32.Parse(XMLDUnNoeudFils.InnerText); break; } } // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); }
/* * Constructeur */ public Valeur_Entier_Température(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { __code = "(temperature/10)"; }