示例#1
0
        private static string GetMeterString(int value, int minval, int maxval, int meterLen)
        {
            int indicatorPos;

            if (value == minval)
            {
                indicatorPos = 0;
            }
            else if (value == maxval)
            {
                indicatorPos = meterLen - 1;
            }
            else
            {
                indicatorPos = SCommon.ToRange(
                    SCommon.ToInt(DDUtils.RateAToB(minval, maxval, value) * (meterLen - 1)),
                    1,
                    meterLen - 2
                    );
            }

            StringBuilder buff = new StringBuilder();

            buff.Append("[");

            for (int index = 0; index < meterLen; index++)
            {
                buff.Append(index == indicatorPos ? "■" : "-");
            }

            buff.Append("] ");
            buff.Append(value);

            return(buff.ToString());
        }