Exemplo n.º 1
0
        public string SaveToString()
        {
            var buffer = new string[16];

            buffer[0]  = ((short)Address).ToString(CultureInfo.InvariantCulture);
            buffer[1]  = ((int)SizeType).ToString(CultureInfo.InvariantCulture);
            buffer[2]  = Mul.ToString(CultureInfo.InvariantCulture);
            buffer[3]  = Div.ToString(CultureInfo.InvariantCulture);
            buffer[4]  = Offset.ToString(CultureInfo.InvariantCulture);
            buffer[5]  = Precision.ToString(CultureInfo.InvariantCulture);
            buffer[6]  = ((int)ItemType).ToString(CultureInfo.InvariantCulture);
            buffer[7]  = ColCount.ToString(CultureInfo.InvariantCulture);
            buffer[8]  = RowCount.ToString(CultureInfo.InvariantCulture);
            buffer[9]  = BitAddress.ToString(CultureInfo.InvariantCulture);
            buffer[10] = Reserve1.ToString(CultureInfo.InvariantCulture);
            buffer[11] = Reserve2.ToString(CultureInfo.InvariantCulture);
            buffer[12] = ReverseX ? "1" : "0";
            buffer[13] = ReverseY ? "1" : "0";
            buffer[14] = Min.ToString(CultureInfo.InvariantCulture);
            buffer[15] = Max.ToString(CultureInfo.InvariantCulture);

            return(String.Join(" ", buffer));
        }
Exemplo n.º 2
0
        public System.Drawing.Point GetCoordinatesFromOrdinal(int Ordinal)
        {
            if (Ordinal > Capacity - 1)
            {
                throw new ApplicationException("Capacity of " + RowCount.ToString() + " x " + ColCount.ToString() + " Rack exceeded.");
            }
            int RowIndex, ColIndex;

            switch (Order)
            {
            case Mapping.FillOrder.TopBottomLeftRight: RowIndex = Ordinal % RowCount; ColIndex = Ordinal / RowCount; break;

            case Mapping.FillOrder.LeftRightTopBottom: RowIndex = Ordinal / ColCount; ColIndex = Ordinal % ColCount; break;

            case Mapping.FillOrder.BottomTopRightLeft: RowIndex = (Capacity - Ordinal - 1) % RowCount; ColIndex = (Capacity - Ordinal - 1) / RowCount; break;

            case Mapping.FillOrder.RightLeftBottomTop: RowIndex = (Capacity - Ordinal - 1) / ColCount; ColIndex = (Capacity - Ordinal - 1) % ColCount; break;

            default: throw new ApplicationException("Unhandled mapping enumeration");
            }
            return(new System.Drawing.Point(ColIndex, RowIndex));
        }