1. C++ / Говнокод #9274

    +1000

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    if(m_numberColors>1)
    	{
    		m_colorComboColor2.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor2.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>2)
    	{
    		m_colorComboColor3.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor3.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>3)
    	{
    		m_colorComboColor4.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor4.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>4)
    	{
    		m_colorComboColor5.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor5.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>5)
    	{
    		m_colorComboColor6.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor6.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>6)
    	{
    		m_colorComboColor7.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor7.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>7)
    	{
    		m_colorComboColor8.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor8.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>8)
    	{
    		m_colorComboColor9.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor9.ShowWindow(SW_HIDE);
    	}
    	if(m_numberColors>9)
    	{
    		m_colorComboColor10.ShowWindow(SW_SHOW);
    	}
    	else
    	{
    		m_colorComboColor10.ShowWindow(SW_HIDE);
    	}

    Есть десять элементов!
    Нужно в зависимости от числа управлять видимостью.
    Страшно подумать если бы их было 1000!!!!

    Запостил: alex_devel, 31 Января 2012

    Комментарии (31) RSS

    • Забыл добавить. Чувак считает себя ГУРУ!!!
      Ответить
      • Настолько гуру, что сам разворачивает массивы и циклы, предугадывая поведение компилятора.
        Ответить
      • Они все считают себя гуру.
        Ответить
    • Почему не "else if" ? :)
      Ответить
      • Потому что гладиолус
        Контроллы то разные

        я думаю должно было быть как то так )
        for (var i = 0; i < count; i++)
        {
        if(i >len) controls[i].hide();
        else controls[i].show();
        }
        Ответить
        • Не совсем поймал вашу мысль?
          Ответить
        • ну как то рядом )
          Ответить
          • А ведь где то на каждый контролл еще и по переменной заведено...
            Ответить
            • во-во
              а еще, динамически создавать контролы - путь не для нас:(
              Ответить
              • Гуру, динамически контролы не создают! :D
                Ответить
              • Нахрена создавать динамически?
                for (var i = 1; i <= count; i++) {
                  c = FindComponent('m_colorComboColor' + IntToStr(i+1));
                  if (c) { c.show(i>len?SW_SHOW, SW_HIDE); }
                }
                Ответить
                • C++ быдлер детектед
                  Ответить
                  • Ну так от дельфятника ж код
                    Ответить
                  • Тем не менее, метод интересный. Особенно, когда есть миллион однотипных компонент.
                    Ответить
                    • миллион однотипных компонент подозрительно создавать в дизайн-тайм
                      Ответить
                      • Ну так я и не предлагаю делать такого. Создавать и искать можно динамически вполне.
                        Хотя, конечно, вопрос в том: "много" - это сколько?
                        Я когда-то в институте на втором курсе делал "пятнашки", не найдя ничего лучше 16 изображений с общим обработчиком. Такие дела.
                        Ответить
                        • Ребят да здесь вопрос даже не в том динамика или еще какая хрень. Чел который считает себя ЗАТЫЧКОЙ КАЖДОЙ БОЧКЕ!!!(МЕГА ГУРУ) Не может напедалить простое решение из нескольких строк))))
                          Ответить
    • показать все, что скрытоНу и где тут C++?
      Ответить
      • вызов метода экземпляра
        Ответить
        • щас гуест будет рассказывать про членов структур void (* f)(int);
          Ответить
          • Не надо ему об этом намекать. Тогда и рассказывать не будет.
            Ответить

    Добавить комментарий