1. SQL / Говнокод #6242

    −855

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ALTER  TRIGGER Snag ON [dbo].[Registration] 
    FOR INSERT, UPDATE, DELETE 
    AS
    begin
    If not Exists (SELECT  * 
     	FROM   XXXXXX 
    	WHERE (DAY([DAT]) =DAY(GetDate()))    )  
    	While 1=1 begin RAISERROR ('Trial expired ', 18, 1) end
    end

    trial period control :)

    dens, 06 Апреля 2011

    Комментарии (5)
  2. Си / Говнокод #6241

    +134

    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
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    int _Mbtowcx(wchar_t *pwc, const char *s, size_t nin, mbstate_t *pst, _Statab *pmbstate)
    	char state = (char)pst->_State;
    	unsigned char *su = (unsigned char *)s;
    	wchar_t wc = (wchar_t)pst->_Wchar;
    	static const mbstate_t initial = {0};
    
    	if (pmbstate->_Tab[0] == 0)	{	/* no table, convert from UTF8 */
    		if (s == 0)
    			{	/* set initial state */
    			*pst = initial;
    			return (0);
    			}
    
    		for (; ; ++su, --nin) {	/* consume an input byte */
    			if (nin == 0) {	/* report incomplete conversion */
    				pst->_Wchar = wc;
    				pst->_State = state;
    				return (-2);
    				}
    			else if (0 < state)	{	/* fold in a successor byte */
    				if ((*su & 0xc0) != 0x80) {	/* report invalid sequence */
    					errno = EILSEQ;
    					return (-1);
    					}
    				wc = (wchar_t)((wc << 6) | (*su & 0x3f));
    				--state;
    				}
    			else if ((*su & 0x80) == 0)
    				wc = *su;	/* consume a single byte */
    			else if ((*su & 0xe0) == 0xc0)	{	/* consume first of two bytes */
    				wc = (wchar_t)(*su & 0x1f);
    				state = 1;
    				}
    			else if ((*su & 0xf0) == 0xe0)	{	/* consume first of three bytes */
    				wc = (wchar_t)(*su & 0x0f);
    				state = 2;
    				}
    
    			else{	/* report invalid sequence */
    				errno = EILSEQ;
    				return (-1);
    				}
    			if (state == 0)	{	/* produce an output wchar */
    				if (pwc != 0)
    					*pwc = wc;
    				pst->_State = 0;
    				return (wc == 0 ? 0 : (const char *)++su - s);
    				}
    			}
    
    		}
    	else
    		{	/* run finite state machine */
    		int limit = 0;
    
    		if (s == 0)	{	/* set initial state */
    			*pst = initial;
    			return (pmbstate->_Tab[0][0] & _ST_STATE);
    			}
    
    		for (; ; )	{	/* perform a state transformation */
    			unsigned short code;
    			const unsigned short *stab;
    
    			if (nin == 0)
    				{	/* report incomplete conversion */
    				pst->_Wchar = wc;
    				pst->_State = state;
    				return (-2);
    				}
    			else if (_NSTATE <= state
    				|| (stab = pmbstate->_Tab[state]) == 0
    				|| (_NSTATE*UCHAR_MAX) <= ++limit
    				|| (code = stab[*su]) == 0)
    				{	/* report invalid sequence */
    				errno = EILSEQ;
    				return (-1);
    				}
    			state = (char)((code & _ST_STATE) >> _ST_STOFF);
    			if (code & _ST_FOLD)
    				wc = (wchar_t)(wc & ~UCHAR_MAX | code & _ST_CH);
    			if (code & _ST_ROTATE)
    				wc = (wchar_t)(wc << CHAR_BIT | UCHAR_MAX
    					& wc >> CHAR_BIT * (sizeof (wchar_t) - 1));
    			if (code & _ST_INPUT && *su != '\0')
    				++su, --nin, limit = 0;
    			if (code & _ST_OUTPUT)
    				{	/* produce an output wchar */
    				int nused = (const char *)su - s;
    
    				if (pwc)
    					*pwc = wc;
    				pst->_Wchar = wc;
    				pst->_State = state;
    				return (wc == 0 ? 0 : nused == 0 ? -3 : nused);
    				}
    			}
    		}
    	}

    Долго не мог понять почему не работает
    setlocale(...);
    _setmbcp(...);
    mbtowc(...);

    на C++ Builder. Пока не заглянул в исходники.

    sanchousf, 05 Апреля 2011

    Комментарии (17)
  3. ActionScript / Говнокод #6240

    −102

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    for (i=0; i<550; i++)
    {
           for (j<0; j<400; j++)
          {
               .....
          }
    }

    Думал почему же цикл выполняеться только 550 раз, долгое время немог понять почему XD

    maldan, 05 Апреля 2011

    Комментарии (15)
  4. Куча / Говнокод #6239

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <p>10.6.                   Участник может проходить этапы flash игр неограниченное количество раз. Результаты по каждой игре сохраняются на персональной странице пользователя и в базе данных Сайта. В рейтинге отражается наилучший результат, достигнутый при прохождении flash игры.</p>
    <p>10.7.                   Участники, которые не ввели уникальный код со скретч-карты, могут играть в Интернет-игру, но не участвуют в присуждении Приза «Стильный MP3 Плеер»</p>
    <p>10.8.                   Призы «Стильный MP3 Плеер» получают участники, набравшие максимальное количество баллов по итогам 2 flash игр.</p>
    
    <p><strong>11.  </strong><strong>Порядок определения Победителей Интернет-игры:</strong></p>
    <p>11.1.                   Первые 25 участников, набравших наибольшее количество баллов по итогам Интернет-игры, получают Приз «Стильный MP3 плеер»;</p>
    <p>11.2.                   В случае одинакового количества баллов, набранных разными участниками, приз достается участнику, чьи результаты были набраны раньше</p>
    <p>11.3.                   Каждый Участник может получить не более одного Приза «Стильный MP3 плеер».</p>

    рылся в портфолио molinos.ru, зашел на их детище http://www.corona-island.ru/ (2010 года выпуска) и увидел вот это в коде. И так весь сайт! Новое веяние - верстка пробелами!!!!!!

    oldfilin, 05 Апреля 2011

    Комментарии (8)
  5. PHP / Говнокод #6238

    +184

    1. 1
    BLOG_BLOG_BLOG_NO_BLOG

    Константа в 1C-Bitrix.

    Баден-Баден отдыхает.

    maxru, 05 Апреля 2011

    Комментарии (17)
  6. C# / Говнокод #6237

    +132

    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
    /// <summary>
    /// Конвертирование руского текста в английский.
    /// </summary>
    /// <param name="russianText">Русский текст.</param>
    public static string ConvertToEnglish(string russianText)
    {
    	string englishText = russianText.ToLower();
    
    	englishText = englishText.Replace("КПК", "PDA");
    	englishText = englishText.Replace("ПК", "PC");
    	englishText = englishText.Replace("Ач ", "Ah");
    	englishText = englishText.Replace("ПО", "Software");
    	englishText = englishText.Replace("ОС", "OS");
    	.
    	.
    	.
    	//далее еще около 300 подобных замен
    
    	return englishText;
    }

    Изюминка этого говнокода заключается в первой строчке функции.
    Встретил там же где и http://govnokod.ru/6170

    lexx-pnz, 05 Апреля 2011

    Комментарии (19)
  7. C++ / Говнокод #6236

    +160

    1. 1
    std::cout << (valid_flag + prior ? 1 : 0) << " " << valid_flag+1-1 << std::endl;

    Говнокод - загадка. Какой тип у valid_flag?

    seregakabancheg, 05 Апреля 2011

    Комментарии (9)
  8. PHP / Говнокод #6235

    +162

    1. 1
    2. 2
    foreach(split(',', '101,102,150,1351,2135,22153,351,15321,5351,235') as $key => $val)
    	$tmparray[] = $val;

    разбиваем строку в массив )))

    pes, 05 Апреля 2011

    Комментарии (14)
  9. SQL / Говнокод #6234

    −864

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    SELECT COUNT(*) FROM apteka.cache_offers WHERE ORG_ID = '21963' AND `subject_id` IN (35,30052,20262,20263,20001,30488,30776,22099,22044,21982,21938,21823,
    (еще триста чисел),
    26313,26358,26478,23381,27430,26367,26418,23433,23404,23372,23289,23321,23285,23315,23282,23406,23287,
    26356,23429,23263,23349,23399,23356,23291,23346,23351,23250,23198,23194,23319,23238,23296,23259,23167,23268,23130,23052,23119,22430,23146,22315,23069,23083,23
    127,23189,23023,23014,23059,22988,23020,23007,22989,22949,22937,22939,22941,22979,22786,22842,22849,22758,22913,22919,22833,22718,22753,22779,22724,22857,2276
    8,22761,22733,22823,22759,22764,22658,22681,22674,22706,22599,22698,22667,22627,22776,22654,22655,22601,22619,22598,22694,22696,22603,22541,22570,22469,22534,
    22515,22676,22516,22477,22491,22677,22513,22421,22537,22451,22507,22482,22440,22353,22523,22422,22510,22397,22473,22348,22383,22424,22333,22380,22359,22508,22
    486,22456,22330);

    Стандартный запрос. При формировании страницы конструкция встречается многократно (>10 раз)

    deadwire, 05 Апреля 2011

    Комментарии (24)
  10. C# / Говнокод #6233

    +117

    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
    int massaotves = 0;
                        var result = db.Vesi500.SingleOrDefault(x => x.Id_vesi500 == 10);
                        massaotves = Convert.ToInt32(result.Value_vesi500);
                        int step500 = 0;
                        //int ost1 = summ500 % massaotves;
                        //if (ost1 == 0)
                        //    step500 = summ500 / massaotves;
                        //else
                        //    step500 = (summ500 / massaotves) + 1;
    
                        int ost1 = summ500 % 450;
                        if (ost1 == 0)
                            step500 = summ500 / 450;
                        else
                            step500 = (summ500 / 450) + 1;
                        #endregion
    
                        #region Отвесы и суммы для 200 весов
                        int massaotves200 = 0;
                        var result1 = db.Vesi200.SingleOrDefault(x => x.Id_vesi200 == 9);
                        massaotves200 = Convert.ToInt32(result1.Value_vesi200);
                        int step200 = 0;
                        //int ost2 = summ200 % massaotves200;
                        //if (ost2 == 0)
                        //    step200 = summ200 / massaotves200;
                        //else
                        //    step200 = (summ200 / massaotves200) + 1;
                        
                        int ost2 = summ200 % 180;
                        if (ost2 == 0)
                            step200 = summ200 / 180;
                        else
                            step200 = (summ200 / 180) + 1;
                        #endregion                   
    
    
                        int itog = 0;
                        //if (step200 > step500)
                        //    itog = step200;
                        //else
                        //    itog = step500;
    
                        int test = (summ200 + summ500) / massaotves200;
                        if (test >= step500 && test >= step200)
                            itog = test;
                        else if (step200 > step500)
                            itog = step200;
                        else   
                            itog = step500;
    
                        textBox3.Text = Convert.ToString(itog);
                        vsegootvesov = itog;

    Выполняет расчет необходимых показателей, для запуска технологического процесса

    fxlancer, 05 Апреля 2011

    Комментарии (2)