1. Список говнокодов пользователя Grizzly

    Всего: 8

  2. Pascal / Говнокод #5629

    +102

    1. 1
    while dlg_SmplSpk.ShowModal = mrOk do ;

    Узрел такое! Срочно к себе в рецепты прогрессивного программирования!
    Сделано это для того, чтобы окно не закрывалось при подтверждении всех сделанных действий.
    Закрываться должно только при нажатии кнопочки "Закрыть".
    Отсюда непонятен ход мыслей автора сия творения.

    Grizzly, 11 Февраля 2011

    Комментарии (39)
  3. SQL / Говнокод #3739

    −864

    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
    -- Процедура предназначена для выделения часов из времени
    CREATE PROCEDURE _hour(
    	_date_time	DATETIME YEAR TO SECOND DEFAULT NULL
    )RETURNING INTEGER;
    
    DEFINE _str	CHAR(20);
    
    IF _date_time IS NULL THEN
    	LET _date_time = CURRENT;
    END IF;
    
    LET _str = _date_time;
    LET _str = SUBSTR(_str,12,2);
    
    RETURN _str;
    
    END PROCEDURE;

    СУБД infomix
    а ведь можно сделать так
    CAST(CURRENT AS DATETIME HOUR TO HOUR)
    или так
    EXTEND(CURRENT, HOUR TO HOUR)

    и таких перлов с вычислением дат тьма тьмущая

    Grizzly, 20 Июля 2010

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

    +102

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    case dlg.sort.ItemIndex of
             0: Qry.SQL.Add('ORDER BY b.nn_rez;');
             1: if dlg.view.ItemIndex=1 then Qry.SQL.Add('ORDER BY c.prod_code;')
                                                     else Qry.SQL.Add('ORDER BY c.kod_okp;');
             2: if dlg.view.ItemIndex=1 then Qry.SQL.Add('ORDER BY c.res_name;')
                                                     else Qry.SQL.Add('ORDER BY c.naimres;');
         end;

    Твой кролик писал!
    кто-то явно мастер на выдумки

    Grizzly, 23 Июня 2010

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

    +112.6

    1. 1
    2. 2
    3. 3
    http://clip2net.com/page/m0/4700792
    
    вот типа какбы картинка, как делать не стоит

    Grizzly, 19 Марта 2010

    Комментарии (10)
  6. SQL / Говнокод #2799

    −157.8

    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
    93. 93
    94. 94
    CREATE PROCEDURE "auot".uot_inv_procs2
    (
      NumFunc Integer,	-- Номер функции :
    		    -- 1 - Вставляет строку 
                        -- 2 - Создает временную таблицу 
                        -- 3 - Удаляет временную таблицу 
                        -- 4 - Создает временную таблицу 
                        -- 5 - Удаляет временную таблицу 
                        -- 6 - Возвращает Dogovor.Dog_id
                        -- 7 - Создает TempTableInvoice
                        -- 8 - Создает TmpTabDeclInv
                        -- 9 - Создает TmpTabDeclSel
                        --10 - Заолняет TmpTabDeclSel 
                        --11 - Добавляет в TmpTabVCSel
                        --12 - Обновляет информацию 
    
      n_Numb_inv        NVarChar(10,0) DEFAULT NULL,	
      n_Date_inv        Date DEFAULT NULL,	
      n_Code_exp        Char(2) DEFAULT NULL,	
      n_Prod_code       Char(3) DEFAULT NULL,
      n_Code_Transport  Char(1) DEFAULT NULL,
      n_Code_Date_Cen   Char(1) DEFAULT NULL,
      n_Contract        NVarChar(30,0) DEFAULT NULL,
      n_DateContract    Date DEFAULT NULL,		
      n_Weight          Numeric(10,3) DEFAULT NULL,
      n_Price           Numeric(8,2) DEFAULT NULL,	
      n_Total           Numeric(15,2) DEFAULT NULL,	
      n_Kod_val_id      Integer DEFAULT NULL,		
      n_Date_konos      Date DEFAULT NULL,		
      n_SHB_Signature   Char(6) DEFAULT NULL,	
      n_Seller_Sign     Char(6) DEFAULT NULL,		
      n_Date_prix       Date DEFAULT NULL,		
      n_Date_move       Date DEFAULT NULL,		
      n_SUM_CLS         Numeric(15,2) DEFAULT NULL,
      n_Consignee       NVarChar(150,0) DEFAULT NULL,
      n_Buyer           NVarChar(150,0) DEFAULT NULL,	
      n_Pnt_departure   NVarChar(150,0) DEFAULT NULL,
      n_Destination     NVarChar(150,0) DEFAULT NULL,
      n_Steam_vessel    NVarChar(50,0) DEFAULT NULL,
      n_Delivery_terms  NVarChar(18,0) DEFAULT NULL,
      n_Status          Char(1) DEFAULT 'N',				
      n_Dogovor_id      Integer DEFAULT NULL,		
      n_Date_min        Date DEFAULT NULL,			
      n_Date_max        Date DEFAULT NULL,			
      n_Invoice_id      Integer DEFAULT NULL,			
      n_Res_Code        Char(8) DEFAULT NULL,			
      n_Date_Sale_Uved  Date DEFAULT NULL,			
      n_Month           Date DEFAULT NULL				
    
    )	
    RETURNING INTEGER;
    
    
    DEFINE GLOBAL __current_user INTEGER  DEFAULT NULL;
    DEFINE GLOBAL err_sqlcode    INTEGER  DEFAULT 0;
    DEFINE GLOBAL err_isamcode   INTEGER  DEFAULT 0;
    DEFINE GLOBAL err_detail     CHAR(80) DEFAULT '';
    
    DEFINE _inv_id         Integer;
    
    DEFINE _Name_exp       NVarChar(40,0);
    DEFINE _Name_rus       NVarChar(50,0);
    DEFINE _Smlval         Char(3);
    DEFINE _rlw_id         Integer;
    DEFINE _weight_brutto  Decimal(12,3);
    DEFINE _Bes_inv        Decimal(12,3);
    DEFINE _Sum_inv        Numeric(15,2);
    DEFINE _Bes_free       Decimal(12,3);
    DEFINE _Sum_free       Numeric(15,2);
    DEFINE _Sum_Weight_Inv DECIMAL(12,3);
    DEFINE _SHB_Name       NVARCHAR(60,0);
    DEFINE _dogovor        NChar(15);
    DEFINE _dlv_id         Integer;
    DEFINE _Decl_num       Char(23);
    DEFINE _Decl_date      Date;
    DEFINE _Buyer          NVarChar(80);
    DEFINE _Currency_rate  Money(16,2);
    DEFINE _CenaRus        Money(16,2);
    DEFINE _Prod_All       NVarChar(93);
    DEFINE _org_name       NVarChar(80,0);
    DEFINE _SumRUR         Money(16,2);
    DEFINE _SumKinef       Money(16,2);
    DEFINE _Delta          Money(16,2);
    DEFINE _Effect         Money(16,2);
    DEFINE _Dog_id         Integer;
    DEFINE _Res_code       Char(8);
    DEFINE _carriage_num   NChar(18);
    DEFINE _nom_nakl       NChar(10);
    DEFINE _Shpok_char     Char(4);
    DEFINE _Parent         SmallInt;
    DEFINE _Date_otgr      DateTime YEAR TO SECOND;
    
    IF NumFunc=2 THEN  -- Создаем временную табл. SprInvByProd
      CREATE TEMP TABLE SprInvByProd......

    и так далее по каждому из 12 пунктов.....просто процедура на все случаи жизни..чувак реально попотел когда сие изобретал....

    Grizzly, 15 Марта 2010

    Комментарии (5)
  7. 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)
  8. 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)
  9. Pascal / Говнокод #2516

    +101.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
    procedure GaussMas ( n:integer;a: Matr;var rezult:V10);
    var
    s,s1:extended;
    m,i,j,k,km,jm:integer;
    z,d: array [0..10] of Extended ;
    label m2;
    begin
    //..............................
        for i := 1 to n  do
        begin
            for j := 1 to n do
    	   if (a[i][j]>0.9) then
               begin
               rezult[j]:=a[i][m];
               goto m2;
               end;
    m2:      continue;
    end;
    end;

    Процедура расчета матрицы по методу Гаусса.
    Форматирование сохранено как есть.

    Grizzly, 01 Февраля 2010

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