1. Java / Говнокод #9066

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    switch (blds [i])
            {
              default:
                points [0] [i] = InputGameMessage.readString ();
                break;
            }

    замечательная индусятина

    alexmelyon, 10 Января 2012

    Комментарии (9)
  2. Pascal / Говнокод #9065

    +95

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // со времен Delphi 7.
    procedure TfrmMain.AppDeactivate(Sender: TObject);
    begin
      OpenClipboard(0);
      if (IsClipboardFormatAvailable(CF_TEXT)) then SetClipboardData(CF_LOCALE, 0);
      CloseClipboard();
    end;

    Полагаю, большинство в курсе, что при копировании русского текста из приложения, написанного на дельфи, в другое приложение иногда копируются кракозябры.
    Это происходит, когда при копировании НЕ выбрана русская раскладка клавиатуры.

    Удалось вылечить так.

    ctm, 10 Января 2012

    Комментарии (37)
  3. PHP / Говнокод #9064

    +162

    1. 1
    $dt=iconv("windows-1251", "UTF-8",date("Y-m-d")."T".date("H:i:s"));

    Перекодируем ASCII из windows-1251 в UTF-8 :)

    denis0, 10 Января 2012

    Комментарии (18)
  4. Pascal / Говнокод #9063

    +96

    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
    WM_KEYDOWN: begin
            if GetAsyncKeyState(VK_CONTROL) <> 0 then case W of
              integer('X') : SendMessage(H, WM_CUT,   0, 0);
              integer('C') : SendMessage(H, WM_COPY,  0, 0);
              integer('V') : SendMessage(H, WM_PASTE, 0, 0);
              integer('Z') : SendMessage(H, WM_UNDO , 0, 0);
              integer('Y') : ReDo(H);
              integer('A') : SelectAll(H);
              VK_INSERT    : SendMessage(H, WM_COPY,  0, 0);
              VK_PRIOR     : MoveCaretLine   (H, -1000000);  
              VK_NEXT      : MoveCaretLine   (H,  1000000);
              VK_DELETE    : SendMessage(H, WM_CLEAR, 0, 0);
          //  end else if GetAsyncKeyState(VK_ALT) then case W of
          //    VK_BACK      : SendMessage(H, WM_UNDO , 0, 0);
            end else if GetAsyncKeyState(VK_SHIFT) <> 0 then case W of
              VK_DELETE    : SendMessage(H, WM_CUT  , 0, 0);
              VK_INSERT    : SendMessage(H, WM_PASTE, 0, 0);
            end else case W of
              VK_SHIFT     : SDown(H);
              VK_LEFT      : MoveCaretSymbol (H, -1);
              VK_RIGHT     : MoveCaretSymbol (H,  1);
              VK_UP        : MoveCaretLine   (H, -1);
              VK_DOWN      : MoveCaretLine   (H,  1);
              VK_PRIOR     : MoveCaretLine   (H, -MaxLinesInScreenByH(H));
              VK_NEXT      : MoveCaretLine   (H,  MaxLinesInScreenByH(H));
              VK_DELETE    : DeleteSymbol(H, False);
            end;
            DrawText(H);
            Exit;
          end;

    Пишу свой винапи-класс типа Edit.
    Так сделаны горячие клавиши.

    TarasB, 10 Января 2012

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

    +135

    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
    try {
            // ....
     } except(EXCEPTION_EXECUTE_HANDLER) {
            Err = ERROR_INVALID_PARAMETER;
            //
            // Access the following variables here so that the compiler will respect our statement
            // ordering w.r.t. these values.  Otherwise, we can't be sure that the values are accurate
            // at the point where the exception occurred.
            //
            Buffer = Buffer;
            Array = Array;
            i = i;
        }

    втф?

    mazafaker666, 10 Января 2012

    Комментарии (9)
  6. Pascal / Говнокод #9061

    +87

    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
    procedure GenerateMines; // Процедура генерации мин
    label
    again;
    var
    t,m:Integer; // Переменные для цикла
    i,j:Byte; // Координаты на поле
    bufer:String; // Вспомогательная переменная цикла. Хранит текущие сгенерированные координаты мины для записи в массив
    begin
    Randomize;
    for t:= 1 To mines Do
    begin
    again:
      i:=Round(Random*9+1);
      j:=Round(Random*9+1);
      bufer:=IntToStr(i) + ',' + IntToStr(j); // Создание строковой записи коордитаты мины
      for m:= 1 To 100 Do // Цикл для проверки, есть ли сгенерированная координата в массиве
      begin
        if bufer = mines_a[m] then goto again; // Если сгенерированная координата в массиве есть, то программа генерирует новые координаты
      end;
      mines_a[t]:=bufer; // Запись новой координаты в массив
      field[i,j]:=9; // Добавление мины на поле в сгенерированные координаты
    end;
    end;

    Процедура генерации мин в сапёре. Говно или не?

    SmseR, 10 Января 2012

    Комментарии (43)
  7. JavaScript / Говнокод #9060

    +168

    1. 1
    jQuery(jQuery);

    __proto__, 09 Января 2012

    Комментарии (18)
  8. Assembler / Говнокод #9059

    +149

    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
    org 100h
    Begin:
    call FPU_init
    fild [Number]	   ;сложение
    fidiv [Number2]    ;деление
    frndint 	   ;округление (в сторону нуля-
    call Ar_prog	   ;т. к. регистр RC установлен в 11)
    fimul [Number2]
    fild [Number]
    fisub [Number10]
    fidiv [Number3]
    frndint
    call Ar_prog
    fimul [Number3]
    fild [Number]
    fidiv [Number4]
    frndint
    call Ar_prog
    fimul [Number4]
    fincstp
    fincstp
    fadd st0, st2
    fsub st0, st6
    fist [Number9]
    call FPU_init
    fild [Number5]
    xor cx,cx
    Out1:
    fild [Number9]	   ;помещаем значение, полученное после вычитания
    inc cx		   ;увеличиваем cx
    fcom st1	   ;сравниваем значение с 10
    fstsw [Number14]
    mov ax, [Number14]
    sahf
    jb Out2 	   ;если меньше 10, перейти к Out2
    fdiv st0,st1	   ;делим на 10
    frndint 	   ;округляем
    fistp [Number12]   ;результат - в Number12
    fild [Number9]	   ;снова загружаем
    fprem		   ;остаток от деления на 10
    fiadd [Number15]   ;прибавляем 30h
    fistp [Number13]   ;выгружаем в память
    push [Number13]    ;толкаем в стек
    fild [Number12]    ;результат деления - в Number9
    fistp [Number9]
    jmp Out1	   ;цикл
    Out2:
    mov di, String	   ;записываем смещение строки
    fiadd [Number15]
    fist [Number13]
    push [Number13]
    Out3:
    pop dx		   ;выталкиваем коды цифр, начиная с конца
    mov [di],dl	   ;записываем их в строку
    inc di		   ;увеличиваем смещение
    loop Out3	   ;повторяем это
    mov [di], byte 24h ;записываем код конца строки для вывода
    mov dx, String	   ;записываем смещение строки в
    mov ah, 09h	   ;вызываем прерывание
    int 21h
    int 20h
    Ar_prog:
    fist [Number9]
    fimul [Number9]
    fild [Number9]
    fadd st0,st1
    fidiv [Number8]
    frndint
    ret
    FPU_init:
    finit		   ;инициализация сопроцессора
    fstcw [Number6]    ;получение контрольного слова
    mov ax, [Number7]  ;установка десятого и одиннадцатого
    or [Number6], ax   ;битов слова в 11 (можно две команды bts)
    fldcw [Number6]    ;загрузка контрольного слова в FPU
    ret
    Number dw 1000d
    Number2 dd 3d
    Number3 dw 5d
    Number4 dw 15d
    Number5 dw 10d
    Number6 dw ?
    Number7 dw 0c00h
    Number8 dw 2d
    Number9 dd ?
    Number10 dw 1d
    Number11 db 30h
    Number12 dd ?
    Number13 dw ?
    Number14 dw ?
    Number15 dd 0030h
    String db ?

    Первый в жизни осмысленный код. Я нормален?

    evgraf-klimov, 09 Января 2012

    Комментарии (53)
  9. Java / Говнокод #9058

    +88

    1. 1
    LinkedHashMap<Long, Map<String, Map<Long, List<Long>>>> propertyTemplates;

    bozho, 09 Января 2012

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

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    static int getCheckNumber(int n)
    {
    return Average(n, 0);                //Сабж
    }
    
    static int Average(int x, int y)   //Функция вычисления среднего арифметического
    {
    return ((x + y) / 2);
    }

    Среднее арифметическое от произвольной переменной и нуля - эквивалентно делению на 2 :)

    vistefan, 09 Января 2012

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