Ejemplo n.º 1
0
 public virtual bool CzyPrawda()
 {
     if (WarunekLogiczny.Typ == WarunekLogicznyTyp.Prawdziwy)
     {
         return((bool)WyrazenieLewe.Wykonaj());
     }
     else
     {
         return(WarunekLogiczny.CzyPrawda(WyrazenieLewe.Wykonaj(), WyrazeniePrawe.Wykonaj()));
     }
 }
Ejemplo n.º 2
0
        private object Ustaw(object wartosc, bool signal)
        {
            System.Diagnostics.Debug.WriteLine(string.Format("{0} = {1}, signal = {2}", this, wartosc, signal), "Script");

            // zerowanie zmiennej bez powiadamiania o jej zmianie
            if (wartosc == null)
            {
                _Wartosc = _WartoscPoczatkowa;
                return(_Wartosc);
            }

            // przetworzenie wartosci
            if (!Utils.CzyPoprawnaWartosc(wartosc, Typ))
            {
                throw new ExecutingScriptException(string.Format(UI.Language.Instance.GetString(UI.UIStrings.IncorrectValueTypeForVariable), Nazwa, Utils.VariableTypeToString(Typ), Utils.VariableTypeToString(Utils.SprawdzTyp(wartosc))));
            }

            object v = Utils.ConvertTo(wartosc, Typ);

            // sprawdzanie czy wartość jest zmieniona tylko gdy wymagane jest powiadomienie słuchaczy
            if (signal)
            {
                if (WarunekLogiczny.CzyPrawda(WarunekLogicznyTyp.Rowny, _Wartosc, v))
                {
                    return(_Wartosc);
                }
            }

            _Wartosc = v;

            // powiadomienie sluchaczy
            if (signal)
            {
                Signal();
            }

            return(wartosc);
        }
Ejemplo n.º 3
0
 public bool CzyPrawda(object lewy, object prawy)
 {
     return(WarunekLogiczny.CzyPrawda(Typ, lewy, prawy));
 }