예제 #1
0
        //============================================================================
        /// <summary>
        /// Set the minimum value.
        /// </summary>
        /// <param name="aValue">The new minimum value.</param>
        /// <returns>True if successful.</returns>
        // N.Herrmann Apr 2002
        //============================================================================
        public bool setMin(int aValue)
        {
            Boolean result = false;

            try
            {
                if (FMin != null)
                {
                    FMin.setValue(aValue);
                    result = true;
                }
            }
            catch (TypeMisMatchException)
            {
                result = false;
            }

            return(result);
        }
예제 #2
0
        //============================================================================
        /// <summary>
        /// Set the default value and range based on the scalar type.
        /// </summary>
        //============================================================================
        protected void makeDefaultAndRange()
        {
            if (FBaseType != TTypedValue.TBaseType.ITYPE_DEF)
            {                                                    // Default value is automatically set
                FDefault = new TDDMLValue("default", FBaseType); //   to zero/FALSE/null string
                parseRangeValue("defval", FDefault);
            }

            if ((FBaseType < TTypedValue.TBaseType.ITYPE_INT1) || (FBaseType > TTypedValue.TBaseType.ITYPE_DOUBLE))
            {  //Only numeric types have max & min values
                FMax = null;
                FMin = null;
            }
            else
            {
                FMax = new TDDMLValue("maxval", FBaseType);
                FMin = new TDDMLValue("minval", FBaseType);
                switch (FBaseType)
                {
                case TTypedValue.TBaseType.ITYPE_INT1:
                {
                    FMax.setValue(+VERYLARGE_I1);
                    FMin.setValue(-VERYLARGE_I1);
                } break;

                case TTypedValue.TBaseType.ITYPE_INT2:
                {
                    FMax.setValue(+VERYLARGE_I2);
                    FMin.setValue(-VERYLARGE_I2);
                } break;

                case TTypedValue.TBaseType.ITYPE_INT4:
                {
                    FMax.setValue(+VERYLARGE_I4);
                    FMin.setValue(-VERYLARGE_I4);
                } break;

                case TTypedValue.TBaseType.ITYPE_INT8:
                {
                    FMax.setValue(+VERYLARGE_I8);
                    FMin.setValue(-VERYLARGE_I8);
                } break;

                case TTypedValue.TBaseType.ITYPE_SINGLE:
                {
                    FMax.setValue(+1.0 * VERYLARGE_S);
                    FMin.setValue(-1.0 * VERYLARGE_S);
                } break;

                case TTypedValue.TBaseType.ITYPE_DOUBLE:
                {
                    FMax.setValue(VERYLARGE_D_POS);
                    FMin.setValue(VERYLARGE_D_NEG);
                } break;
                }
                parseRangeValue("maxval", FMax);
                parseRangeValue("minval", FMin);
            }
        }