1. Си / Говнокод #3096

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    char pack_LOF_OBJ(LOF_OBJ *pobj, char* pdata)
    {
            *pdata  =(unsigned char) (pobj->value << 16);
            *(pdata + 1)  = (unsigned char)(pobj->value << 8 >> 16 << 8);
            *(pdata + 2) = (unsigned char)(pobj->value >> 16 << 16);
    
    
            return 0x01;
    };

    тоже писал я. Умрите в мучениях, человеки.
    Упакуем 4 байта согласно протоколу. Похуй маски. Главное сдвигами подрочить.
    Когда господин шаша (мудрый и строгий начальник) сказал что я мудак - сразу поправил всё на маски.

    ursus, 23 Апреля 2010

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //Русская рулетка. 7 газовых, один боевой.
     act_rx_session_104(&apdu);
    //      printf ("recv I\n");
    result =        (*((COLLECTORHDLR*)((collector_cfg.pFILLHDL + (unsigned char)apdu.asdu.type)->pHandler)))
    ((HEAD_ASDU_60870*) &apdu.asdu);

    Как то писал под OS Rtems 4.6 протокол 60870-5-104
    эта строчка специально придумывалась как гавно, активизируещее механизм разбора пакета и запуска других механизмов.

    ursus, 23 Апреля 2010

    Комментарии (2)
  3. JavaScript / Говнокод #3094

    +162

    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
    /* Упрощает формирование гиперссылок.
    * Возвращает элемент a.
    * В случае ошибки её и вернет.
    * oNode				уровень для вставки.
    * oDocument		контекст документа.
    * sHref				относительный или абсолютный url гиперссылки.
    * [sText]				текст;
    *							по умолчанию sText не используется и гиперссылка будет не видна, это бывает полезно для картиночных гиперссылок.
    * [sTarget]			name окна или фрэйма или стандартные значения:
    *							"_blank" новое окно,
    *							"_top" окно верхнего уровня,
    *							"_parent" предыдущее окно,
    *							"_self" текущее окно;
    *							по умолчанию sTarget не используется.
    * [sTitle]				текст подсказки при наведении мыши.
    * Max Pro 2010-02-11-1200→2010-02-11-1300.
    */
    function aAlt(oNode,oDocument,sHref,sText,sTarget,sTitle)
    {
    	//#region var
    	//var obj
    	var documentAny;
    	var aAny;
    	//#endregion var
    	//#region ini
    	if(oDocument) documentAny=oDocument;else documentAny=document;
    	//#endregion ini
    	aAny=oNode.appendChild(oDocument.createElement("a"));
    	aAny.href=sHref;
    	if(sText) aAny.appendChild(oDocument.createTextNode(sText));
    	if(sTarget) aAny.target=sTarget;
    	return aAny;
    }

    Уважаемое сообщество. Простите, не сдержался. Ну просто не мог не запостить ещё одну функцию.
    Так Максим Прохоров вставлял ссылку в HTML страницу.

    ursus, 23 Апреля 2010

    Комментарии (8)
  4. C++ / Говнокод #3093

    +908

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    for (int i = ((x-1)>=0)?(x-1):0; i<=((x+1<=9)?(x+1):9); ++i)
    	for (int j = ((y-1)>=0)?(y-1):0; j<=((y+d<=9)?(y+d):9); ++j)
    		if (isplayer)
    		{
    			if (Board[i][j]->Alive)
    				return false;
    		}
    		else
    		{
    			if (EnBoard[i][j]->Alive)
    				return false;
    		}

    с++ такой с++

    xXx_totalwar, 23 Апреля 2010

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

    +144

    1. 1
    2. 2
    3. 3
    <p class="paragraph">
            ... текст...
     </p>

    зобавный кусок HTMLя, сори что в яваскрипт, сюда ближе всего :)

    adoconnection, 23 Апреля 2010

    Комментарии (20)
  6. VisualBasic / Говнокод #3091

    −89

    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
    Public Class TreeKuBi003
    			''' -----------------------------------------------------------------------------
    			''' <summary>
    			''' Подключение KuBi.
    			''' </summary>
    			''' <remarks>
    			''' </remarks>
    			''' <history>
    			''' 	[Max Pro]	30.01.2009	Created
    			''' </history>
    			''' -----------------------------------------------------------------------------
    			Public Const sKuBi As String = _
    			"	SELECT" & sEnter & _
    			"		iIdTreeKuBi," & sEnter & _
    			"		iIdTreeNone" & sEnter & _
    			"	FROM" & sEnter & _
    			"	    TreeKuBiNone" & sEnter & _
    			"	ORDER BY" & sEnter & _
    			"		iIdTreeKuBi;"
    		End Class		 'TreeKuBi003
    		'''

    А так Максим Прохоров использует классы. На мой вопрос - максим, а зачем тебе нужны классы?
    - ну, чтобы хранить данные.

    ursus, 23 Апреля 2010

    Комментарии (7)
  7. VisualBasic / Говнокод #3090

    −105

    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
    ''' <summary>
    	''' Функция взятия запроса как инструкции t/sql; рекордсет возвращается в виде oZap(,).
    	''' </summary>
    	''' <param name="eConnectString">Строка подключения к БД из списка.</param>
    	''' <param name="sText">Инструкция t/sql.</param>
    	''' <param name="oErr">Необязательная ошибка.</param>
    	''' <param name="oZap">Необязательный двумерный массив, содержащий рекордсет ― 1-ю таблицу датасета.</param>
    	''' <param name="iTimeout">Необязательное число секунд таймаута запроса.</param>
    	''' <returns>Число затронутых строк в таблице БД; если ноль, то нормально ещё, а если -1, то запрос не прошёл, если -2, то соединение не установилось.</returns>
    	''' <remarks>
    	''' </remarks>
    	''' <history>
    	''' 	[Max Pro]	11.04.2007	Created
    	''' 	[Max Pro]	08.08.2008	Реабилитировал OleDb.
    	''' 	[Max Pro]	08.04.2009	Оптимизировал как надо ReDim Preserve и переполнение Integer.
    	''' 	[Max Pro]	27.08.2009	Исправил ошибку ReDim Preserve ― было больше на 1 элемент.
    	''' </history>
    	''' -----------------------------------------------------------------------------
    	Public Function iZap(ByVal eConnectString As ConnectString, ByVal sText As String, Optional ByRef oErr As Exception = Nothing, Optional ByRef oZap(,) As Object = Nothing, Optional ByVal iTimeout As Integer = -1) As Integer
    		'#region "var"
    		Dim iX As Integer
    		Dim lY As Long
    		Dim lYTemp As Long
    		Dim i As Integer
    		Dim iZapTemp As Integer
    		'var zap
    		Dim sConnectString As String = sConStrFromEnum(eConnectString)
    		Dim oConnection
    		Dim oCommand
    		Dim oReader
    		'#end region 'var
    		'#region ini
    		If sConnectString Like "*sqloledb*" Then
    			oConnection = New OleDbConnection
    			oCommand = New OleDbCommand
    		Else
    			oConnection = New SqlConnection
    			oCommand = New SqlCommand
    		End If
    		'#end region 'ini
    		iZap = -2
    		oErr = New Exception
    		oConnection.ConnectionString = sConnectString
    		Try
    			'попытка открытия соединения
    			oConnection.Open()
    			If oConnection.State Then iZap = -1 'if <>0
    			'присвоение параметров команды
    			If iTimeout >= 0 Then oCommand.CommandTimeout = iTimeout
    			oCommand.CommandType = CommandType.Text
    			oCommand.Connection = oConnection
    			oCommand.CommandText = sText
    			'попытка выполнения команды
    			oReader = oCommand.ExecuteReader()
    			iZap = 0
    			iX = oReader.FieldCount - 1
    			lY = -1
    			lYTemp = 255
    			ReDim oZap(iX, lYTemp)
    			While oReader.Read()
    				lY += 1
    				If lY < Integer.MaxValue Then				 '2 147 483 647-1(заменил <= на < чтобы число элементов iZap не зашкалило).
    					iZapTemp = lY + 1
    					If lY > lYTemp Then
    						lYTemp += 256
    						ReDim Preserve oZap(iX, lYTemp)
    					End If
    					For i = 0 To iX
    						If IsDBNull(oReader(i)) Then oZap(i, lY) = Nothing Else oZap(i, lY) = oReader(i)
    					Next i
    				End If
    			End While
    			oReader.Close()
    			oReader = Nothing
    			oCommand = Nothing
    			iZap = iZapTemp
    			ReDim Preserve oZap(iX, iZapTemp - 1)
    			If lY >= Integer.MaxValue Then
    				oErr = New Exception(lY.ToString("# ##0") & " строк >=" & Integer.MaxValue & " (Integer.MaxValue), но массив заполнен до предела Int32 и iZap=Integer.MaxValue.")
    			End If
    		Catch oError As Exception
    			oErr = oError
    		Finally
    			If IsNothing(oConnection) = False Then
    				oConnection.Close()
    				oConnection = Nothing
    			End If
    		End Try
    	End Function	  'iZap

    А так Максим Прохоров выполняет запросы. слабо?

    ursus, 23 Апреля 2010

    Комментарии (10)
  8. VisualBasic / Говнокод #3089

    −110

    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
    ''' <summary>
    	''' Возвращает Boolean по правилам Бэйсика: если объект является ненулевым 
    числом или истиной, тогда true, иначе false; переваривает все типы.
    	''' </summary>
    	''' <param name="o"></param>
    	''' <returns></returns>
    	''' <remarks>
    	''' </remarks>
    	''' <history>
    	''' 	[Max Pro]	13.04.2007	Created
    	''' </history>
    	''' -----------------------------------------------------------------------------
    	Public Function bBoolean(ByVal o) As Boolean
    		If bIsBoolean(o) Then bBoolean = o
    	End Function
    	'''

    Расскажу немного о Максиме Прохорове. Он окончил универ им. Баумана с красным дипломом, потом работал над программой okno.mos.ru потом его взяли в частную контору на бешеные бабки.
    Это функция проверки ^

    ursus, 23 Апреля 2010

    Комментарии (13)
  9. VisualBasic / Говнокод #3088

    −90

    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
    ''' Список строк подключения.
    	''' 	[Max Pro]	11.04.2007	Created
    	Public Enum ConnectString
    		Grata
    		Grata6
    		KuBi
    		OneWindow
    		OneWindowStat
    		OWSite
    		Wwwsde
    		NoName
    		OleGrata
    		OleGrata6
    		OleKuBi
    		OleOneWindow
    		OleOneWindowStat
    		OleOWSite
    		OleWwwsde
    		OleNoName
    	End Enum
    	''' <summary>
    	''' Выдаёт ограниченную дату и время для t/sql; tDateTime  ∈ [1900,2078], 
    ограничивается только год, остальное остаётся вплоть до миллисекунд; переваривает все типы.
    	''' </summary>
    	''' <param name="o"></param>
    	''' <returns></returns>
    	''' <remarks>
    	''' </remarks>
    	''' <history>
    	''' 	[Max Pro]	11.04.2007	Created
    	''' 	[Max Pro]	13.04.2007	Улучшил.
    	''' 	[Max Pro]	16.04.2007	Изменил наименование tDateTime2Tsql на tDateTsql.
    	''' </history>
    	''' -----------------------------------------------------------------------------
    	Public Function tDateTsql(ByVal o) As Date
    		Dim tDate As Date
    		If bIsDateNet(o) Then tDate = o
    		If Year(tDate) < 1900 Then tDate = New Date(1900, tDate.Month, tDate.Day, tDate.Hour, tDate.Minute, tDate.Second, tDate.Millisecond)
    		If Year(tDate) > 2078 Then tDate = New Date(2078, tDate.Month, tDate.Day, tDate.Hour, tDate.Minute, tDate.Second, tDate.Millisecond)
    		tDateTsql = tDate
    	End Function
    	'''

    Енум имени максима прохорова.
    И функция конферта даты. пыгает слово улучшил

    ursus, 23 Апреля 2010

    Комментарии (6)
  10. VisualBasic / Говнокод #3087

    −91

    1. 1
    Public Const sEnter As String = Chr(13) & Chr(10)

    Нам разум не друг и ум не товарищ!
    Постоянная имени Максима Прохорова

    ursus, 23 Апреля 2010

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