1. Pascal / Говнокод #5668

    +107

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    procedure proc(a, b: integer);
    begin
    end;
    
    proc(1, 2,); // лишняя запятая после 2  !!!!11

    на Delphi7 компилится и работает!!! Я в шокенах, 8 лет на Делфи и не знал...

    StriderMan, 14 Февраля 2011

    Комментарии (47)
  2. Java / Говнокод #5667

    +146

    1. 1
    2. 2
    this.dbX[i] = (rnd.nextInt() & 1) == 0 ? 1 : -1;
    this.dbY[i] = (rnd.nextInt() & 1) == 0 ? 1 : -1;

    оригинальный способ получить случайно 1 или -1.

    Кстати, а как делаете вы?

    Lure Of Chaos, 14 Февраля 2011

    Комментарии (40)
  3. C++ / Говнокод #5666

    +165

    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 cSG5DataException ... {
        cSG5DataException(CTstatus Status, CTsymbol Error,
                          CTsymbol SubError, std::string Description, ...)
       {
         /* форматирование сообщения */
       }
       /* виртуальный деструктор наличиствует */
    };
    
    class cExcKVSDuplicateKey : public cSG5DataException  {
     /* пусто */
    };
    
    /* код */
    
        throw (cExcKVSDuplicateKey*) new cSG5DataException( CT_statusFail,
                                                            CT_errorObjectExists,
                                                            CT_errorObjectExists,
         "cKVSet_STL_map::insert( CTint k, Value& v ), %d is already in the map",k);

    вот так хитро народ обходит проблему писания конструкторов. темплейт фактори функцию сделать не догадались. но С-style конверсию типов - пожалуйста. мне честно говоря и сложно то себе представить что это как-то работать может. смена типа поинтера то на тип объекта не влияет.

    Dummy00001, 14 Февраля 2011

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

    +103

    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
    glpushmatrix;
    if ((commandflat=2)and((commandaxis=2) or(commandaxis=3)))or((commandflat=1)and(commandaxis=1)) then
     glrotatef(faza,rotation[0],rotation[1],rotation[2]);
    
      glcolor3f(kubcol[Y[2,1,1]].R,kubcol[Y[2,1,1]].G,kubcol[Y[2,1,1]].B);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,1.5);
      glvertex3f(-1.5,1.5,0.5);
      glvertex3f(-0.5,1.5,0.5);
      glvertex3f(-0.5,1.5,1.5);
     glend;
     glcolor3f(kubcol[X[1,1,1]].R,kubcol[X[1,1,1]].G,kubcol[X[1,1,1]].B);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,1.5);
      glvertex3f(-1.5,1.5,0.5);
      glvertex3f(-1.5,0.5,0.5);
      glvertex3f(-1.5,0.5,1.5);
     glend;
     glcolor3f(kubcol[Z[2,1,1]].R,kubcol[Z[2,1,1]].G,kubcol[Z[2,1,1]].B);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,1.5);
      glvertex3f(-0.5,1.5,1.5);
      glvertex3f(-0.5,0.5,1.5);
      glvertex3f(-1.5,0.5,1.5);
     glend;
     glcolor3f(0.5,0.5,0.5);
     glbegin(gl_quads);
      glvertex3f(-1.5,0.5,1.5);
      glvertex3f(-1.5,0.5,0.5);
      glvertex3f(-0.5,0.5,0.5);
      glvertex3f(-0.5,0.5,1.5);
     glend;
     glcolor3f(0.5,0.5,0.5);
     glbegin(gl_quads);
      glvertex3f(-0.5,1.5,1.5);
      glvertex3f(-0.5,1.5,0.5);
      glvertex3f(-0.5,0.5,0.5);
      glvertex3f(-0.5,0.5,1.5);
     glend;
     glcolor3f(0.5,0.5,0.5);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,0.5);
      glvertex3f(-0.5,1.5,0.5);
      glvertex3f(-0.5,0.5,0.5);
      glvertex3f(-1.5,0.5,0.5);
     glend;
    glpopmatrix;
    ///////112

    Захотел как то кубик рубика накодить, это фрагмент модуля из 1214 строк который выводит 26 кубиков. Цвет лицевых граней берется из массива, остальные - серые.

    Dent, 14 Февраля 2011

    Комментарии (11)
  5. Perl / Говнокод #5664

    −119

    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
    sub dopprobelz # функция дополнения строки нулями вначале
            {
                my($str)=@_[0];
                my($len)=@_[1]; my $delta=$len-length($str);
                my $hwost='';
                for (my($a)=0; $a<$delta; $a++) {$hwost=$hwost.'0';};
                $str=$hwost.$str; return $str;
            };
     
    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time());
    $RequestN=(1900+$year).dopprobelz($mon, 2);
    $RequestN=$RequestN.dopprobelz($mday, 2).dopprobelz($hour, 2);
    $RequestN=$RequestN.dopprobelz($min, 2).dopprobelz($sec, 2).dopprobelz($sec, 2);

    Дополняем время и дату ведущими нулями, где это требуется

    Мистер Хэнки, 13 Февраля 2011

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

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //...
    	iInitCommDevicePeriod = GetPrivateProfileInt(extraTunungLine, _T("InitCommDevicePeriod"), INIT_COMM_DEVICE_TIMER_PERIOD / 1000, extraFilePath) * 1000;
    	iReconnectSocketPeriod = GetPrivateProfileInt(extraTunungLine, _T("ReconnectSocketPeriod"), CONN_WITH_SOCK_LOST_TIMER_PERIOD / 1000, extraFilePath) * 1000;
    	m_uiCheckLoopPeriod = GetPrivateProfileInt(extraTunungLine, _T("CheckLoopPeriod"), CCC_LINE_CHECK_LOOP_TIMER_PERIOD / 1000, extraFilePath) * 1000;	
    //....

    Автор тот же...
    мистическая инициализация таймеров.
    зачем делить default value на 1000 перед посылкой в функцию, чтобы потом результат умножить на 1000. Может, чтобы время было в целых секундах?

    ShuraKotov, 13 Февраля 2011

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

    +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
    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
    <?php
    function pagination($page, $z, $url) 
       // номер стр, число страниц в табл, УРЛ)
       {
       if (!preg_match('/\\?/is', $url)) $url = $url.'?'; else $url = $url.'&';
       // если в адресе встречается ?, то в конце добавляем &, если нет - то ?
       
        echo "<div style='text-align:center;'> <a href='".$url."z=".$z."&&page=1'>Первая</a>&nbsp; &nbsp;";
        if ($page>1) print("<a href='".$url."z=".$z."&&page=".($page-1)."'>Предыдущая</a> &nbsp; &nbsp;");
            print ("Страница $page из $z &nbsp; &nbsp;");
            if ($page<$z) print("<a href='".$url."z=".$z."&&page=".($page+1)."'>Следующая</a>&nbsp; &nbsp;");
            echo "<a href='".$url."z=".$z."&&page=$z'>Последняя</a>";
            echo "<p style='margin-top:10px; margin-bottom:10px'>";
            
            for ($i = 1; $i <= $z; $i++) 
        if ($i == $page) echo "<span class='greenbig'> $i </span> &nbsp;";
        else echo "<a href='".$url."z=".$z."&&page=$i'>$i</a> &nbsp;"; 
            echo "</p></div>";
        }
     
     
    include('db.php');
    if(isset($_GET['page']))  $page=$_GET['page']; else $page="1";
    $plim=($page-1)*20;
    $query=mysql_query("SELECT * FROM zomplog_news ORDER BY `id` DESC LIMIT $plim, 20");
    while($row = mysql_fetch_array($query)) {
    $title = $row['title'];
    $text = $row['text'];
    $date = $row['date'];
     
    ?>
     
     
       <br><table class='panel'><tr class='phead'>
       <td><? echo "$title";?><td align='right'> <? echo "$date";?><tr><td colspan=2 class='pcontend'>
      <? echo "$text";?>
       <tr><td class='pend'>
       <td class='pend' align='right'></table>
     
     <?}
      $table = 'zomplog_news';
       if (isset($_GET['z'])) $z=$_GET['z']; else  
       {
       $r = mysql_query("SELECT COUNT(*) FROM $table");
       $z1 = mysql_result($r,0);
       $z = ceil($z1/20); ## z - общее число страниц
       }
    pagination ($page, $z, 'index.php');
     
    ?>

    qbasic, 13 Февраля 2011

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

    +159

    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
    <?
    function strip_html_tags( $text )
    {
            $text = preg_replace(
                    array(
                            // Remove invisible content
                            '@<noindex[^>]*?>.*?</noindex>@siu',
                            '@<head[^>]*?>.*?</head>@siu',
                            '@<style[^>]*?>.*?</style>@siu',
                            '@<script[^>]*?.*?</script>@siu',
                            '@<object[^>]*?.*?</object>@siu',
                            '@<embed[^>]*?.*?</embed>@siu',
                            '@<applet[^>]*?.*?</applet>@siu',
                            '@<noframes[^>]*?.*?</noframes>@siu',
                            '@<noscript[^>]*?.*?</noscript>@siu',
                            '@<noembed[^>]*?.*?</noembed>@siu',
     
                            // Add line breaks before & after blocks
                            '@<((br)|(hr))@iu',
                            '@</?((address)|(blockquote)|(center)|(del))@iu',
                            '@</?((div)|(h[1-9])|(ins)|(isindex)|(p)|(pre))@iu',
                            '@</?((dir)|(dl)|(dt)|(dd)|(li)|(menu)|(ol)|(ul))@iu',
                            '@</?((table)|(th)|(td)|(caption))@iu',
                            '@</?((form)|(button)|(fieldset)|(legend)|(input))@iu',
                            '@</?((label)|(select)|(optgroup)|(option)|(textarea))@iu',
                            '@</?((frameset)|(frame)|(iframe))@iu',
                    ),
                    array(
                            ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
                            "\n\$0", "\n\$0", "\n\$0", "\n\$0", "\n\$0", "\n\$0",
                            "\n\$0", "\n\$0",
                    ),
                    $text );
     
            // Remove all remaining tags and comments and return.
            return strip_tags( $text );
    }

    qbasic, 13 Февраля 2011

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

    +157

    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
    <?
    $past=time()-900;  // задаем время через которое будет удолен uzer
    mysql_query("DELETE FROM session WHERE time<$past"); // удаляем uzera которые все это время ничего на сайте не делал
    if(isset($_SESSION['name_user'])){
    $result=mysql_query("SELECT time FROM session WHERE username='$name_user'",$db); 
    $ctime=time();
    if($row=mysql_fetch_array($result)){
    mysql_query("UPDATE session SET username='$name',time='$ctime' WHERE username='$name'"); //перезаписываем время посещения страницы
    } else {
    mysql_query("INSERT INTO session (username,time) VALUES('$name','$ctime')"); //если он в первый рас тут то добавляем его в БД
    }
    }
    $result=mysql_query("SELECT COUNT(*) FROM session");
    $count=mysql_fetch_array($result);

    qbasic, 13 Февраля 2011

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

    +160

    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
    <?php
    $_REQUEST['start'] = ($_REQUEST['start'] != '') ? $_REQUEST['start'] : 0;
    $_REQUEST['limit'] = ($_REQUEST['limit'] != '') ? $_REQUEST['limit'] : 19;
     
     
        $obj = new BASE();
     
        $obj_online     = new ONLINE();
        $obj_files      = new FILES();
        $obj_disk       = new DISK();
        $obj_group_disk = new GROUP_DISK();
        $obj_status_disk= new STATUS_DISK();
        $obj_type_disk  = new TYPE_DISK();
        $obj_type_file  = new TYPE_FILE();
        $obj_friends    = new FRIENDS();
        $obj_history    = new HISTORY();
        $obj_parsed     = new PARSED();
     
        if (isset($_REQUEST['action'])) {
                switch ($_REQUEST['query']) {
                    case 'select':{
                        switch ($_REQUEST['action']) {
                            case 'files':{
                                echo json_encode($obj_files->select($_REQUEST));
                            }break;
                            case 'disk':{
                                echo json_encode($obj_disk->select($_REQUEST));
                            }break;
                            case 'group_disk':{
                                echo json_encode($obj_group_disk->select($_REQUEST));
                            }break;
                            case 'status_disk':{
                                echo json_encode($obj_status_disk->select($_REQUEST));
                            }break;
                            case 'type_disk':{
                                echo json_encode($obj_type_disk->select($_REQUEST));
                            }break;
                            case 'type_file':{
                                echo json_encode($obj_type_file->select($_REQUEST));
                            }break;
                            case 'friends':{
                                echo json_encode($obj_friends->select($_REQUEST));
                            }break;
                            case 'history':{
                                echo json_encode($obj_history->select($_REQUEST));
                            }break;
                        }
                    } break;
    ...

    qbasic, 13 Февраля 2011

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