1. C# / Говнокод #13229

    +133

    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
    private bool IsSubscriptionFree()
    {
        try
        {
            if (AccountManager.CurrentManager.CurrentSubscription != null)
            {
                if (AccountManager.CurrentManager.CurrentSubscription.IsValid)
                {
                    if (AccountManager.CurrentManager.CurrentSubscription.Name.ToLower().Contains("free") ||
                        AccountManager.CurrentManager.CurrentSubscription.Name.ToLower().Contains("trial")
                    )
                    {
                        return true;
                    }
                }
                return false;
            }
            return false;
        }
        catch (Exception)
        {
            return false;
        }
    }

    Eugene, 25 Июня 2013

    Комментарии (31)
  2. Куча / Говнокод #13228

    +126

    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
    Здравствуй, анон. Хочу представить тебе свой взглад на этот сайт.
    Первое время здесь выкладывались действительно годные
    говнокоды с двачей и других имиджборд, но теперь каждый
    желающий может написать что-то свое.
    Иногда это, сука, раздражает. Не всем всегда охота слушать
    сопливое нытье прыщавого нью хикке о том или другом языке,
    например. Как отличить, годный говнокод или нет? Ответ прост.
    Имхо, каждый говнокод с порядковым номером
    больше 1500 чаще всего оказывается калом фекалоида.
    Я могу объяснить это тем, что вначале здесь сидели вполне
    себе адекватные ребята, но вот, и на этот сайт перекинулась
    раковая клетка. Новые говнокоды читать просто неинтересно. 
    Пожалуйста, анон, читай действительно годные говнокоды,
    не забивай свою относительно чистую голову всяким дешевым бредом.
    Не надо.

    Stertor, 24 Июня 2013

    Комментарии (25)
  3. Pascal / Говнокод #13227

    +123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Судя по Вашим оценкам, образцы моего кода не так у ж и плохи. Это радует; но в таком случае, получается, что я ошибся форумом. 
    Если это действительно так, я спешу сменить амплуа г.кодера. 
    Непонаслышке зная, что бан тут получить практически нереально, я все таки сделаю отчаянную попытку:
    
    Логин: [email protected]
    Пароль: gcode116
    
    Я желаю Вам всего самого наилучшего. С Вами было весело.  
    За сим, остаюсь, ваш Stertor. Списаться со мной можно по вышеуказанному адресу.

    Stertor, 24 Июня 2013

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

    +163

    1. 1
    2. 2
    3. 3
    // WTF адская магия
        $_SESSION['item_count'] = $_SESSION['item_count'] + 1;
        $_SESSION['item_count'] = $_SESSION['item_count'] - 1;

    Достался в наследие код корзины

    winddrop, 24 Июня 2013

    Комментарии (93)
  5. C++ / Говнокод #13224

    +34

    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
    class A
    {
    public:
        unsigned int m_value;
    
        inline bool operator != ( const A & value )
        {
            unsigned int temp;
            temp = 0 != ( m_value != value.m_value );
            return 0 == temp;
        }
    
        inline bool operator == ( const A & value )
        {
            unsigned int temp;
            temp = 0 != ( m_value == value.m_value );
            return 0 != temp;
        }
    };

    Фрагмент кода одной коммерческой библиотеки. Имя класса изменено, 100500 прочих методов вырезано, но они похожи на эти.
    Я не буду акцентировать внимание на том, что операторы невозможно использовать для константных объектов, даже не буду говорить о странном способе сравнения целых чисел... Но я упомяну о том, что 'operator !=' работает немножко не так, как руссо-индусы ожидали.

    Little-Horny, 24 Июня 2013

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

    +14

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int error = (unsigned)-1;
    
    int x, y, w, h;
    x = y = w = h = error;
    
    stream >> x >> y >> w >> h;
    
    if(x == error || y == error || w == error || h == error)
       ...

    Не нашёл, как по-другому обрабатывать ошибки текстовых командах.

    an0nym, 24 Июня 2013

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

    +166

    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
    <?php
    
    // ПОдключение к БД
    include'connect.php';
    
    
    $x = 1;
    $sql_1 = 'SELECT * FROM etalon';
    $res = mysql_query($sql_1);
    $num_rows = mysql_num_rows($res);
    
    while ($x < $num_rows)
    {
    // Определение содержимого данной строки
    $name = mysql_query("SELECT name FROM etalon WHERE id ='$x'");
    $value = mysql_query("SELECT value FROM etalon WHERE id ='$x'");
    $type = mysql_query("SELECT type FROM etalon WHERE id ='$x'");
    $priority = mysql_query("SELECT priority FROM etalon WHERE id ='$x'");
    
    echo '<table width=1024 border=1 align=center cellpadding=0 cellspacing=0><tr>
    <td align=center>'. $name. '</td>
    <td align=center>'.$value.'</td>
    <td align=center>'.$type.'</td>
    <td align=center>'.$priority.'</td>
    <td align=center><img src=/images/apply.png ><br></td>
    
    </tr>
    </table>';
    
    $x++;
    }
    
    ?>

    http://forum.php.su/topic.php?forum=71&topic=10932&postid=13 71975539#1371975539

    deep, 23 Июня 2013

    Комментарии (114)
  8. Pascal / Говнокод #13220

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    function GetBiosNumber: string;
     begin
       result := string(pchar(ptr($FEC71)));
     end;

    Windows NT поддерживает прерывания!!! А Вы знали?

    Stertor, 23 Июня 2013

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

    +128

    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
    // используемые переменные
     var
       Dummy: integer = 0;
       OldKbHook: HHook = 0;
    
     implementation
    
     function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall;
     begin
       if code < 0 then
         Result := CallNextHookEx(oldKbHook, code, wparam, lparam)
       else
         Result := 1;
     end;
    
    // включение клавы
    
     procedure TForm1.KeyBoardOn(Sender: TObject);
     begin
       if OldKbHook <> 0 then
       begin
         UnHookWindowshookEx(OldKbHook);
         OldKbHook := 0;
       end;
       SystemParametersInfo(SPI_SETFASTTASKSWITCH, 0, 0, 0);
       SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);
     end;
    
     // выключение клавы
    
     procedure TForm1.KeyBoardOff(Sender: TObject);
     begin
       SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);
       SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);
       OldKbHook := SetWindowsHookEx(WH_KEYBOARD, @KbHook, HInstance, 0);
     end;

    Попытка вырубить клаву, сев на нее.

    Stertor, 23 Июня 2013

    Комментарии (12)
  10. Pascal / Говнокод #13218

    +127

    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
    Function DiskInDrive(ADriveLetter : Char) : Boolean;
    var
      SectorsPerCluster,
      BytesPerSector,
      NumberOfFreeClusters,
      TotalNumberOfClusters   : Cardinal;
    begin
      Result := GetDiskFreeSpace(PChar(ADriveLetter+':\'),
                                  SectorsPerCluster,
                                  BytesPerSector,
                                  NumberOfFreeClusters,
                                  TotalNumberOfClusters);
    
    end;
    
    // еще один шедевр:
    
    var
     SR  : TSearchRec;
     Res : integer;
     OldErrMode : integer;
    begin
     // Запоминаем текущий режим обработки ошибок и устанавливаем SEM_FAILCRITICALERRORS
     // Это необходимо для подавления появления окна с сообщение о том, что устройство не готово
     OldErrMode = SetErrorMode(SEM_FAILCRITICALERRORS);
     try
      Res := FindFirst('a:\*.*', faAnyfile, SR);
      FindClose(SR);
     finally
      SetErrorMode(OldErrMode)
     end;
    end;

    С помощью этих процедур Олежик Зайцев на своем сайте предлагает определять доступность дисков, минуя сообщение WINDOWS "Диск не готов".
    Без комментариев.

    Stertor, 23 Июня 2013

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