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

    +104

    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
    procedure drawGird( var image1: TImage; needAxisLines: Boolean = True );
    var
      xP, yP: Integer;
      xC, yC: Double;
      h, w, tx, ty: Integer;
      Text: String;
    begin
      image1.Canvas.FillRect( image1.ClientRect );
      accuracy := 1 / cellSize;
      image1.Canvas.Brush.Style := bsClear;
    
      xC := p2cX( 0 );
      while forC( xC, p2cX( image1.Width ), accuracy ) do
        if floor( xC * cellSize ) mod cellSize = 0 then
        begin
          xP := c2pX( xC );
          image1.Canvas.Pen.Color := clSilver;
          image1.Canvas.MoveTo( xP, 0 );
          image1.Canvas.LineTo( xP, image1.Height );
    
          if ( needaxislines ) and ( abs( xC ) > 0.5 ) and
            ( xP > 30 ) and ( xP < image1.Width - 30 ) then
          begin
            image1.Canvas.Pen.Color := clBlack;
            image1.Canvas.MoveTo( xP, c2pY( -0.5 ) );
            image1.Canvas.LineTo( xP, c2pY( 0.5 ) );
          end;
        end;
    
      yC := p2cY( 0 );
      while forC( yC, p2cY( image1.Height ), accuracy ) do
        if floor( yC * cellSize ) mod cellSize = 0 then
        begin
          yP := c2pY( yC );
          image1.Canvas.Pen.Color := clSilver;
          image1.Canvas.MoveTo( 0, yP );
          image1.Canvas.LineTo( image1.Width, yP );
    
          if ( needaxislines ) and ( abs( yC ) > 0.5 ) and
            ( yP > 30 ) and ( yP < image1.Height - 30 ) then
          begin
            image1.Canvas.Pen.Color := clBlack;
            image1.Canvas.MoveTo( c2pX( -0.5 ), yP );
            image1.Canvas.LineTo( c2pX( 0.5 ), yP );
          end;
        end;
    
      xC := p2cX( 0 );
      while forC( xC, p2cX( image1.Width ), accuracy ) do
        if floor( xC * cellSize ) mod cellSize = 0 then
        begin
          xP := c2pX( xC );
    
          if ( needaxislines ) and ( abs( xC ) > 1.5 ) and
            ( xP > 30 ) and ( xP < image1.Width - 30 ) then
          begin
            image1.Canvas.Pen.Color := clBlack;
    
            Text := IntToStr( floor( xC ) );
            h := image1.Canvas.TextHeight( Text ) div 2;
            w := image1.Canvas.TextWidth( Text ) div 2;
    
            image1.Canvas.TextOut( xP - w, c2pY( -0.5 ) + ( h + 3 ) *
              ( ( floor( abs( xC ) ) mod ( ( ( w * 2 + 8 ) div cellSize ) +
              1 ) ) ), Text );
    
          end;
        end;
    
      yC := p2cY( 0 );
      while forC( yC, p2cY( image1.Height ), accuracy ) do
        if floor( yC * cellSize ) mod cellSize = 0 then
        begin
          yP := c2pY( yC );
          if ( needaxislines ) and ( abs( yC ) > 1.5 ) and
            ( yP > 30 ) and ( yP < image1.Height - 30 ) then
          begin
            image1.Canvas.Pen.Color := clBlack;
    
            Text := IntToStr( floor( yC ) );
            h := image1.Canvas.TextHeight( Text ) div 2;
            w := image1.Canvas.TextWidth( Text ) div 2;
    
            image1.Canvas.TextOut( c2pX( -0.5 ) - w * 2 - 2, yP - h, Text );
          end;
        end;
    
      image1.Canvas.Brush.Style := bsSolid;
    
    end;

    Сотня строк кода, для того, чтобы нарисовать сетку.

    Fai, 30 Июля 2011

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

    +109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    int rnd() {
      srand( rand()*rand() );
      int r = 0;
      for (int i=0;i<=10;i++)
        r=rand();
      srand( ++r - time(NULL) );
      return rand()/r;
    }

    NEED MOAR RANDOM NUMBERS!!!

    Fai, 29 Июля 2011

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

    +159

    1. 1
    myInter_s5_dd_cart = window.setInterval("s5_getdropheight()",1);

    Модуль корзины virtuemart от shape5. Аццки грузит проц.

    constantined, 29 Июля 2011

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

    +130

    1. 1
    2. 2
    3. 3
    4. 4
    Ахтунг!
    что за потоп на уютненьком говнокодике?
    
    кто-то всеми виртуалами топит все говнокоды.

    извиняюсь, что топик не с кодом, но, наверное, событие масштабное.

    просьба высказаться.

    Lure Of Chaos, 29 Июля 2011

    Комментарии (49)
  5. bash / Говнокод #7390

    −107

    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
    #!/usr/bin/env zsh
    
    A=( q w e r t y u i o p a s d f g h j k l z x c v b n m )
    B=( Q W E R T Y U I O P A S D F G H J K L Z X C V B N M )
    C=( 0 1 2 3 4 5 6 7 8 9 A B C D E F ) #hex
    F=( 1 2 4 )
    D=40
    E=10
    
    Char::GetRandA(){
        echo ${A[$(shuf -n 1 -i 1-${#A[@]})]}
    }
    
    Char::GetRandB(){
        echo ${B[$(shuf -n 1 -i 1-${#B[@]})]}
    }
    
    Char::GetRandC(){
        echo ${C[$(shuf -n 1 -i 1-${#C[@]})]}
    }
    
    Char::GetRandF(){
        echo ${F[$(shuf -n 1 -i 1-${#F[@]})]}
    }
    
    Main::Matrix(){
        for i in {1..$D}; do
            for b in {A,B,C}; do
                echo -n '\033[0;3'$(Char::GetRandF)"m$(Char::GetRand$b) "
            done
        done
    }
    
    #Run
    for i in {1..$E}; do
        Main::Matrix
    done

    дело было вечером...

    james, 29 Июля 2011

    Комментарии (16)
  6. JavaScript / Говнокод #7389

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    more: function()
            {
                redactorActive = this;
                var mre = '<more>';
                redactorActive.execCommand('inserthtml', mre, false);
    			this.modalClose();
            }

    WYSIWYG редактор ...

    maeln0r, 29 Июля 2011

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

    +147

    1. 1
    urldecode($_POST['name'])

    Нашел у себя в коде.

    stuffort, 29 Июля 2011

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

    +147

    1. 1
    2. 2
    // В деструкторе класса
    if(this) this->Free(this);

    фрагмент самоудаляемого объекта, который привязан к определенному классу, который реализует пул-памяти... впринципе не говнокод, но у многих подобные объекты в начале вызывают недоумение...

    ReL, 29 Июля 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    if($response == false)
     	$response = true;
    else 
            $response = false;

    вот такая говно-конструкция изменяющая false на true и наоборот

    kellydpx, 29 Июля 2011

    Комментарии (3)
  10. bash / Говнокод #7385

    −116

    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
    #!/bin/sh
    #
    # $1 is the mail account
    
    [ -n "$1" ] && {
    	
    	MAIL_PATH="/Mail/$1/mbox"
    	OUTPUT_MAIL_PATH="/mnt/flash/save/email/inbox/"
    	mkdir -p $OUTPUT_MAIL_PATH	
    	mv /var/spool/mail/root/* $MAIL_PATH
    
    	for j in `find $MAIL_PATH -name "msg.*"`
    	do
    	  MAIL_NAME=`basename $j`.eml
    	  NEW_MAIL="$OUTPUT_MAIL_PATH/$MAIL_NAME"
    	  mkdir -p "$OUTPUT_MAIL_PATH"
    	  
    	  [ ! -f "$NEW_MAIL" ] && {
    		  grep "^From:" $j | head -n 1 > $NEW_MAIL
    		  if grep "^Cc:" $j ; then
    		  	grep "^Cc:" $j | head -n 1 >> $NEW_MAIL
    		  fi
    		  grep "^To:" $j | head -n 1 >> $NEW_MAIL
    		  grep "^Subject:" $j | head -n 1 >> $NEW_MAIL
    		  grep "^Date:" $j | head -n 1 >> $NEW_MAIL
    		
    			if grep "^Content-Type: text/plain;" $j ; then
    				
    				LINE_NUM=`grep -n "^Content-Type: text/plain;" $j | cut -d: -f1`
    				
    				if grep "^Content-Type: text/plain;" $j | grep "charset=" ; then
    					TYPE=`grep  "Content-Type: text/plain;" $j | cut -d";" -f1`
    					echo "$TYPE" >> $NEW_MAIL
    					CHAR="charset="`grep  "Content-Type: text/plain;" $j | cut -d= -f2`
    					echo "$CHAR" >> $NEW_MAIL
    				else
    					grep "^Content-Type: text/plain;" $j >> $NEW_MAIL
    					x=$(($LINE_NUM+1))
    					sed -n "$x"p $j >> $NEW_MAIL
    				fi
    		
    				
    				x=$(($LINE_NUM-1))
    				BOUNDARY=`sed -n "$x"p $j`
    				
    				for i in `sed "/$BOUNDARY/s/.*/ffffuuuucccckkkk/" $j | grep -n "ffffuuuucccckkkk" | cut -d: -f1`
    				do
    					if [ "$i" -gt "$LINE_NUM" ] ; then
    						i=$(($i-1))
    						y=$(($LINE_NUM+3))
    						echo "Mail content start:" >> $NEW_MAIL
    						sed -n "$y,$i"p $j >> $NEW_MAIL			
    						break
    					fi
    				done
    				
    				if ! grep "Mail content start:" $NEW_MAIL ; then
    					echo "Mail content start:" >> $NEW_MAIL
    					y=$(($LINE_NUM+3))
    					x=`grep -c "^" $j`
    					sed -n "$y,$x"p $j >> $NEW_MAIL
    				fi
    				
    			else
    				echo "Fuck....."	
    			fi
    		}
    	done
    }

    /bin/mail.sh из прошивки букридера GreenBook

    wat3rs, 29 Июля 2011

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