コード例 #1
0
        public CExcelInputHelper(CSmartArray array)
        {
            //Application pApp = new Application();
            m_pApp = new Application();
            Workbook pBook = m_pApp.Workbooks.Add();

            m_pSheet = pBook.Sheets[1];

            m_pSheet.Cells[1, 1] = "наименование";
            m_pSheet.Cells[1, 2] = "количество";

            //int count = array.GetCount();
            int count = m_spisok.GetCount();

            for (int i = 0; i < count; i++)
            {
                ProductTag tag = (ProductTag)(i + 1);
                m_pSheet.Cells[i + 2, 1] = m_spisok.GetName(tag);
                m_pSheet.Cells[i + 2, 2] = array.GetTagCount(tag);
            }
            Range pRange = m_pSheet.Range[m_pSheet.Cells[1, 1], m_pSheet.Cells[count + 1, 2]];

            //Range pColumn = m_pSheet.Columns["A:FF"];
            //pColumn.AutoFit();
            for (int i = (int)XlBordersIndex.xlEdgeLeft; i <= (int)XlBordersIndex.xlInsideHorizontal; i++)
            {
                pRange.Borders[(XlBordersIndex)i].LineStyle = XlLineStyle.xlContinuous;
            }
            m_pApp.Visible = true;
        }
コード例 #2
0
        public bool IsEqual(CSmartArray array)
        {
            Dictionary <ProductTag, int> map = array.GetMap();
            int count = m_TagMap.Count;

            if (count != map.Count)
            {
                return(false);
            }

            var en = m_TagMap.Keys.GetEnumerator();

            en.MoveNext();
            for (int i = 0; i < count; i++)
            {
                ProductTag pTag     = en.Current;
                int        TagCount = array.GetTagCount(pTag);
                if (TagCount == 0)
                {
                    return(false);
                }
                if (TagCount != GetTagCount(pTag))
                {
                    return(false);
                }
            }
            return(true);
        }
コード例 #3
0
        virtual public void SetInput(CSmartArray Array)
        {
            int count = m_TagInputArray.Count;

            for (int i = 0; i < count; i++)
            {
                ProductTag tag          = m_TagInputArray[i];
                int        ProductCount = Array.GetTagCount(tag);
                m_InputCount[i] = ProductCount;
                m_SmartInput.Add(tag, ProductCount);
                Array.ClearTag(tag);
            }
        }
コード例 #4
0
        public void ExcludeWhatHave(CSmartArray Arr)
        {
            var e = m_TagMap.Keys.GetEnumerator();
            List <ProductTag> sameTag = new List <ProductTag>();

            for (int i = 0; i < m_TagMap.Keys.Count; i++)
            {
                e.MoveNext();
                ProductTag tag   = e.Current;
                int        count = Arr.GetTagCount(tag);
                if (count != 0)
                {
                    sameTag.Add(tag);
                }
            }
            for (int i = 0; i < sameTag.Count; i++)
            {
                ProductTag tag   = sameTag[i];
                int        count = Arr.GetTagCount(tag);
                int        value = m_TagMap[tag];

                if (value > count)
                {
                    Add(tag, -count);
                    Arr.ClearTag(tag);
                }
                else if (value < count)
                {
                    ClearTag(tag);
                    Arr.Add(tag, -value);
                }
                else //одинаковое значение
                {
                    ClearTag(tag);
                    Arr.ClearTag(tag);
                }
            }
            //e.MoveNext();
        }
コード例 #5
0
 public int GetTagCount(ProductTag tag)
 {
     return(m_SmartInput.GetTagCount(tag));
 }
コード例 #6
0
        public CAlreadyHaveForm(CSmartArray array)
        {
            m_AlreadyHaveArray = array;
            int           count    = m_Spisok.GetCount();
            List <string> nameList = new List <string>();

            for (int i = 0; i < count; i++)
            {
                nameList.Add(m_Spisok.GetName((ProductTag)i + 1));
            }

            nameList.Sort();

            int boxWidht      = 100;
            int controlHeight = 21;

            int spaceBoxNumeric = 10;

            int numericWidht = 30;

            int newLineSpace = 10;

            int controlsInColumn = 12;

            int spaceColumn = 10;

            int columnFullWidth  = boxWidht + spaceBoxNumeric + numericWidht;
            int columnFullHeight = controlHeight * controlsInColumn + newLineSpace * (controlsInColumn - 1);

            int startX    = 10;
            int startY    = 10;
            int X         = startX;
            int Y         = startY;
            int maxColumn = 1;

            for (int i = 0; i < count; i++)
            {
                TextBox box = new TextBox();
                box.Enabled  = false;
                box.Size     = new System.Drawing.Size(boxWidht, controlHeight);
                box.Location = new System.Drawing.Point(X, Y);
                box.Text     = nameList[i];
                TextList.Add(box);
                Controls.Add(box);

                NumericUpDown numeric = new NumericUpDown();
                numeric.Size     = new System.Drawing.Size(numericWidht, controlHeight);
                numeric.Location = new System.Drawing.Point(X + boxWidht + spaceBoxNumeric, Y);
                numeric.Value    = array.GetTagCount(nameList[i]);
                NumericList.Add(numeric);
                Controls.Add(numeric);
                Y += controlHeight + newLineSpace;
                if ((i + 1) % controlsInColumn == 0)
                {
                    X += columnFullWidth + spaceColumn;
                    Y  = startY;
                    maxColumn++;
                }
            }
            int FormHeight = columnFullHeight + 2 * startY;
            int FormWidht  = columnFullWidth * maxColumn + spaceColumn * (maxColumn - 1) + 2 * startX;

            ClientSize = new System.Drawing.Size(FormWidht, FormHeight);
        }