1. SQL / Говнокод #2797

    −863

    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
    CREATE PROCEDURE mix_kach1_spravka(
    _date_time	DATETIME YEAR TO MINUTE, -- дата
    _param_rez_id integer -- признак
    ) RETURNING integer, -- туфта
    decimal; -- туфта
    
    define _date_r nchar(19);
    define _wzliv decimal;
    define _n_nn_rez nchar(4);
    define _mass integer;
    define _mass1 integer;
    define _date_begin DATETIME YEAR TO MINUTE;
    define _date_end DATETIME YEAR TO MINUTE;
    define _count integer;
    define _wzliv_beg INTEGER;
    define _bes_pas DECIMAL;
    define i int;
    define  _spr_id		  integer;
    define	_all_w             decimal(7,1);
    define	_go_w              decimal(7,1);
    define	_pr_w              decimal(7,1);
    define	_proc_go           decimal(4,1);
    define	_proc_pr           decimal(4,1);
    define _edatebegin Datetime year to minute;
    define _w int;
    define _m_go decimal;
    define _m_pr decimal;
    define test_date DATETIME YEAR TO MINUTE;
    
    /*Опустим блок обработки ошибок*/
    
    CREATE TEMP TABLE tmp_raschet1(
    	--spr_id		  SERIAL NOT NULL,
    	edate       Datetime year to MINUTE, --27.08.2008 Лазарев Е.В.
    	w 		  int,
    	all_w             decimal(7,1),
    	go_w              decimal(7,1),
    	pr_w              decimal(7,1),
    	proc_go           decimal(4,1),
    	proc_pr           decimal(4,1)
    ) with no log;
    
    let _m_go = 0;
    let _m_pr = 0;
    
    execute procedure get_mix_quality(_date_time,_param_rez_id) into _w, _all_w, _go_w, _pr_w, _proc_go, _proc_pr, _edatebegin;
    insert into tmp_raschet1 (edate,w,all_w, go_w,pr_w,proc_go,proc_pr) values (_edatebegin,_w,_all_w, _go_w, _pr_w, _proc_go, _proc_pr);
    
    END PROCEDURE;

    Вот честно, что это и зачем такое нужно? Наверно выполнить процедуру и просто взять выходные данные не судьба.
    А лишние переменные видимо на всякий случай.
    P.S. Боже за что?!!!

    Grizzly, 15 Марта 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function isValidEmail(address) {
        if (address.indexOf('@') < 1) return false;
        var name = address.substring(0, address.indexOf('@'));
        var domain = address.substring(address.indexOf('@') + 1);
        if (name.indexOf('(') != -1 || name.indexOf(')') != -1 || name.indexOf('<') != -1 || name.indexOf('>') != -1 || name.indexOf(',') != -1 || name.indexOf(';') != -1 || name.indexOf(':') != -1 || name.indexOf('\\') != -1 || name.indexOf('"') != -1 || name.indexOf('[') != -1 || name.indexOf(']') != -1 || name.indexOf(' ') != -1) return false;
        if (domain.indexOf('(') != -1 || domain.indexOf(')') != -1 || domain.indexOf('<') != -1 || domain.indexOf('>') != -1 || domain.indexOf(',') != -1 || domain.indexOf(';') != -1 || domain.indexOf(':') != -1 || domain.indexOf('\\') != -1 || domain.indexOf('"') != -1 || domain.indexOf('[') != -1 || domain.indexOf(']') != -1 || domain.indexOf(' ') != -1) return false;
        return true;
    }

    проверка email на валидность по индусски

    avm, 15 Марта 2010

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

    +63.2

    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
    bool FindActualQtyOfWeightedReceptacle
                                     (      std::map<double,double> &ReceptacleWeighings,
                                      const double                   ReceptacleId,
                                            double                  &Weight)
    {
       Weight          = 0.0;
       bool recepFound = false;
       
       for (std::map<double,double>::iterator iter  = ReceptacleWeighings.begin();
                                              iter != ReceptacleWeighings.end() && !recepFound;
                                              iter++)
       {  if (iter->first == ReceptacleId)
          {  recepFound = true;
             Weight     = iter->second;
          }
       }
    
       return(recepFound);
    }

    Во Франции одного ведущего (!) С++ программиста с ироничной фамилией Паскаль попросили таки ознакомиться со стандартными контейнерами из библиотеки STL. В частности с std::map. В итоге из-под палки он выдал вот такой "код". Возникает как минимум два вопроса:
    1. производительность?
    2. и зачем так многа букаф?

    Пардон, Жан-Люк, не обижайся. Наговнокодил...

    azabluda, 15 Марта 2010

    Комментарии (29)
  4. SQL / Говнокод #2794

    −151

    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
    CREATE TEMP TABLE tmp_sale_exp (
    	id	SERIAL NOT NULL,
    	dog_id	integer,
    	shpok	char(4),		
    	is_komiss integer,	
    	F2	nchar(80)
    	F3	nchar(3),	
    	F4	date,	
    	F5	char(3),	
    	nakl_item_id integer,	
    	F9	char(9),	
    	F10	date,
    	act_qnt	decimal(16,3),
    	F11	nchar(1),
    	F12	nvarchar(32),	
    	decl_id	integer,
    	F16	char(23),		
    	F17	date,		
    	F18	decimal(16,3),	
    	F21	money(16,2),	
    	F22	money(16,2),	
    	ppd_decl_num	char(23),		
    	ppd_weight decimal(16,3),
    	ppd_summa money(16,2),
    	ppd_price	 money(16,2),	
    	invoice_id  integer,	
    	F23	nvarchar(10),	
    	F24	date,		
    	F25	decimal(16,3),	
    	smlval	char(3),		
    	nakl2inv	decimal(16,3),	
    	price	money(16,2),
    	total	money(16,2),	
    	prod_code char(3)	,	
    	res_name nvarchar(45),
    	F48	date,		
    	F49	money(16,2),	
    	 ip_id	integer	
    ) WITH NO LOG;

    вот недопрограммист создает временную таблицу, с очень ясными и понятными полями, он же думает что он вечный, и в его говнокоде потом никто разбираться не будет.
    ммммммммммм....а какие интересные суммы, то decimal, то money, жалко но в этом конкретном примере нет еще и float, обычно они присутствуют все 3 типа и в одной таблице.....зачем???? я не знаю

    Grizzly, 15 Марта 2010

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

    +94.2

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    procedure TNamePlay.OKBtnClick(Sender: TObject);
    var
     reg:treginifile;
     a,s,d,f,g,h,j,k,l,z,x:integer;
    begin
    if setp.CheckBox1.Checked =true then
    playsound('Music\xxx.WAV',0,snd_async);
    
     if vopros.Easy.Checked=false then
      och.Caption:=inttostr(strtoint(och.caption)+50);
     with gamers do begin
       Reg := TReginifile.Create;
       Reg.RootKey := HKEY_LOCAL_MACHINE;
       with reg do begin
        o1.caption:=readstring('Software\xxx\Gamers\Result','First','');
        o2.caption:=readstring('Software\xxx\Gamers\Result','Two','');
        o3.caption:=readstring('Software\xxx\Gamers\Result','Three','');
        o4.caption:=readstring('Software\xxx\Gamers\Result','Four','');
        o5.caption:=readstring('Software\xxx\Gamers\Result','Five','');
        o6.caption:=readstring('Software\xxx\Gamers\Result','Six','');
        o7.caption:=readstring('Software\xxx\Gamers\Result','Seven','');
        o8.caption:=readstring('Software\xxx\Gamers\Result','Eight','');
        o9.caption:=readstring('Software\xxx\Gamers\Result','Nine','');
        o10.caption:=readstring('Software\xxx\Gamers\Result','Ten','');
        g1.caption:=readstring('Software\xxx\Gamers','First','');
        g2.caption:=readstring('Software\xxx\Gamers','Two','');
        g3.caption:=readstring('Software\xxx\Gamers','Three','');
        g4.caption:=readstring('Software\xxx\Gamers','Four','');
        g5.caption:=readstring('Software\xxx\Gamers','Five','');
        g6.caption:=readstring('Software\xxx\Gamers','Six','');
        g7.caption:=readstring('Software\xxx\Gamers','Seven','');
        g8.caption:=readstring('Software\xxx\Gamers','Eight','');
        g9.caption:=readstring('Software\xxx\Gamers','Nine','');
        g10.caption:=readstring('Software\xxx\Gamers','Ten','');
       end;
     end;
     if password.Text='' then
      raise erangeerror.Create('Вы не ввели имени')
     else begin
      with gamers do begin
       a:=strtoint(o1.caption);
       s:=strtoint(o2.caption);
       d:=strtoint(o3.caption);
       f:=strtoint(o4.caption);
       g:=strtoint(o5.caption);
       h:=strtoint(o6.caption);
       j:=strtoint(o7.caption);
       k:=strtoint(o8.caption);
       l:=strtoint(o9.caption);
       z:=strtoint(o10.caption);
       x:=strtoint(nameplay.och.caption);
       if x>a then begin
        g10.Caption:=g9.Caption;
        o10.Caption:=o9.caption;
        g9.Caption:=g8.Caption;
        o9.Caption:=o8.caption;
        g8.Caption:=g7.Caption;
        o8.Caption:=o7.caption;
        g7.Caption:=g6.Caption;
        o7.Caption:=o6.caption;
        g6.Caption:=g5.Caption;
        o6.Caption:=o5.caption;
        g5.Caption:=g4.Caption;
        o5.Caption:=o4.caption;
        g4.Caption:=g3.Caption;
        o4.Caption:=o3.caption;
        g3.Caption:=g2.Caption;
        o3.Caption:=o2.caption;
        g2.Caption:=g1.Caption;
        o2.Caption:=o1.caption;
        g1.Caption:=nameplay.Password.Text;
        o1.Caption:=nameplay.och.Caption;
       end else if x=a then begin
        g1.Caption:=nameplay.Password.Text;
        o1.Caption:=nameplay.och.Caption;
       end else if x<a then begin
        if x>s then begin
         g10.Caption:=g9.Caption;
         o10.Caption:=o9.caption;
         g9.Caption:=g8.Caption;
         o9.Caption:=o8.caption;
         g8.Caption:=g7.Caption;
         o8.Caption:=o7.caption;
         g7.Caption:=g6.Caption;
         o7.Caption:=o6.caption;
         g6.Caption:=g5.Caption;
         o6.Caption:=o5.caption;
         g5.Caption:=g4.Caption;
         o5.Caption:=o4.caption;
         g4.Caption:=g3.Caption;
         o4.Caption:=o3.caption;
         g3.Caption:=g2.Caption;
         o3.Caption:=o2.caption;
         g2.Caption:=nameplay.Password.Text;
         o2.Caption:=nameplay.och.Caption;
        end else if x=s then begin
         g2.Caption:=nameplay.Password.Text;
         o2.Caption:=nameplay.och.Caption;
        end else if x<s then begin
    ...

    Ололо, феерический говнокод! LOL

    ancestor, 15 Марта 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $file=file('list_less.dat'); 
     for ($i=0;$i<count($file);$i++)
     {
        $f_abbr=substr($file[$i], 0, strpos($file[$i], '|'));
        $f_name=substr($file[$i], strpos($file[$i], '|')+1, strlen($file[$i]));
        $select.='<option value='.$f_abbr.'>'.$f_name;
      }

    почему то
    $file=file('list_less.dat');
    for ($i=0;$i<count($file);$i++)
    {
    $expl=explode('|', $file[$i]
    $f_abbr=$expl[0];
    $f_name=$expl[1]
    $select.='<option value='.$f_abbr.'>'.$f_name;
    }
    мне показалось слишком просто о_О =)(=
    Писал вроде трезвый

    /*Найдено в одном проекте*/

    NFL, 14 Марта 2010

    Комментарии (8)
  7. Java / Говнокод #2791

    +81.6

    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
    public void calculate(){
            jTextField1.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner1.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner13.getValue()))));
            jTextField2.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner2.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner14.getValue()))));
            jTextField3.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner3.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner15.getValue()))));
            jTextField4.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner4.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner16.getValue()))));
            jTextField5.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner5.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner17.getValue()))));
            jTextField6.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner6.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner18.getValue()))));
            jTextField7.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner7.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner19.getValue()))));
            jTextField8.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner8.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner20.getValue()))));
            jTextField9.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner9.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner21.getValue()))));
            jTextField10.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner10.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner22.getValue()))));
            jTextField11.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner11.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner23.getValue()))));
            jTextField12.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner12.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner24.getValue()))));
        }

    x_X

    ChakuZa, 14 Марта 2010

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

    +151.9

    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
    { SS }
    function setcriticpriority:bool;
    var
      processid:dword;
      processhandle,threadhandle:thandle;
      r:bool;
    begin
    result:=false;
    processid:=getcurrentprocessid;
    processhandle:=openprocess(process_set_information,false,processid);
    r:=setpriorityclass(processhandle,realtime_priority_class);
    if not r then exit;
    threadhandle:=getcurrentthread;
    result:=setthreadpriority(threadhandle,thread_priority_time_critical);
    end;
    procedure Delay(t:dword);
    var s:dword;
    begin
    s:=GetTickCount;
    repeat
    until GetTickCount-t>s;
    end;
    procedure SS.Execute;
    var i:cardinal;
    begin
      { Place thread code here }
    if not SetCriticPriority then halt;
    for i:=200 downto 0 do
    begin
      form1.ProgressBar1.position:=200-i;
      Sleep(i);
      delay(200-i);
    end;
    form1.Panel1.Visible:=true;
    form1.label3.Visible:=true;
    repeat
    until false;   
    end;
    end.

    После запуска этой проги - система начинает плавно останавливаться. Даже прогресбар бежит. Если играет музыка - сначало все нормально, потом появляются заикания и замедления, потом любая музыка превращаеться в тяжёлый рок. Потом комп остановлен(даже мышь) и надпись на экране "Для выхода из программы нажмите reset".
    Представляете в этот момент свои чувства?

    Баловство с приоритетами - не игрушка.

    Говногость, 13 Марта 2010

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

    +149.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    program TheEnd2;
    uses Windows;
    begin
    repeat
    WinExec('TheEnd2.exe',SW_HIDE);
    until false;
    end.

    Добрая программа!

    Говногость, 13 Марта 2010

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

    +151.9

    1. 1
    2. 2
    3. 3
    4. 4
    procedure tform1.wmhelp(var msg:tmsg);
    begin
    MessageBox(form1.Handle,'Думай сам!!!','Помощь',MB_HELP or MB_TOPMOST or MB_ICONEXCLAMATION		);
    end;

    Открывается меседжбокс с кнопкой помощь. При нажатии на неё открывается меседжбокс с кнопкой помощь. При нажатии на неё...

    Говногость, 13 Марта 2010

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