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

    Всего: 22

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

    −51

    1. 1
    2. 2
    3. 3
    4. 4
    if i>c then c:=i;
    cc:=i;
    for i:=0 to 10 do while Length(strs[i])<col_nam_width+col_norm_width+col_rez_width+col_nam_width+col_norm_width do strs[i]:=strs[i]+' ';
    if cc>c then c:=cc;

    а вдруг?

    tucvbif, 02 Марта 2016

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

    −52

    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
    {$IF (current_arm_id=6) }
    if (CS_data.FieldByName('TYPE_DVIG').AsInteger=38) then
     begin
     MessageDlg('Выберите амбулаторное посещение рядом'+#10+#13+'(c той же датой - то есть первое посещение по этой карте)',mtConfirmation,[mbok],0);
     exit;
     end;
    
    IF (CS_data.FieldByName('TYPE_DVIG').AsInteger=31) or (CS_data.FieldByName('TYPE_DVIG').AsInteger=0) or
       (CS_data.FieldByName('TYPE_DVIG').AsInteger=39)
     then
      begin
      MainForm.createMDIwindow('', 'Thist_form',CS_data.FieldByName('TYPE_KART').AsInteger,
            CS_data.FieldByName('ID_KART').AsInteger,
            0, dm1.current_timestamp,NULL);
      end else
      begin
        with(  MainForm.createMDIwindow('Движение','TDvig_form',4,
                    CS_data.FieldByName('ID_DVIG').AsInteger,
                    CS_data.FieldByName('id_kart').AsInteger,dm1.current_timestamp,NULL) as TDvig_form) do
                   begin
                     {
                   tip_:=4;
        id_doc_mk:=CS_data.FieldByName('id_kart').AsInteger;
        id_doc:=CS_data.FieldByName('ID_DVIG').AsInteger;
        _init(0);      }
                   end;
      end;
    {$IFEND}
    
    
    {$IF (current_arm_id=4) }
    if (CS_data.FieldByName('TYPE_DVIG').AsInteger=38) then
     begin
     MessageDlg('Выберите амбулаторное посещение рядом'+#10+#13+'(c той же датой - то есть первое посещение по этой карте)',mtConfirmation,[mbok],0);
     exit;
     end;
    
    IF (CS_data.FieldByName('TYPE_DVIG').AsInteger=31) or
       (CS_data.FieldByName('TYPE_DVIG').AsInteger=39)
     then
      begin
      if DM1.Get_Sanction(CS_data.FieldByName('TYPE_KART').AsInteger,
                          CS_data.FieldByName('ID_KART').AsInteger,current_user_id,[3]) then
    
     MainForm.createMDIwindow('','Treg_form',CS_data.FieldByName('TYPE_KART').AsInteger,
            CS_data.FieldByName('ID_KART').AsInteger,
    //        CS_data.FieldByName('pac_id').AsInteger,
            CS_data.FieldByName('ID_DVIG').AsInteger,
            dm1.current_timestamp,NULL)
    
                else MessageDlg('Вы не имеете право выполнять это действие!',mtInformation,[mbok],0);
      end else
      begin
            MainForm.createMDIwindow('Движение','TDvig_form',4,
                    CS_data.FieldByName('ID_DVIG').AsInteger,
                    CS_data.FieldByName('id_kart').AsInteger,dm1.current_timestamp,null);
    
      end;
    {$IFEND}

    Переопределение метода через current_arm_id

    tucvbif, 11 Февраля 2016

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

    −50

    1. 1
    2. 2
    3. 3
    4. 4
    s:=LongTimeFormat;       
                LongTimeFormat:='h:mm';
                read_spr_cs2.FieldByName('time_str').AsString:=TimeToStr(dt);
                LongTimeFormat:=s;

    tucvbif, 01 Февраля 2016

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

    −53

    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
    function get_filenamebyid(req_file_id_in:integer;is_answer:boolean;X_MESS_SWAP_path:string):string;
    var FILENAME_ONSERVER,FILE_PATH_ONSERVER,s,ss:string;
    req_file_id:integer;
        begin                                  //sdsd
          req_file_id:=abs(req_file_id_in);
        s:=inttostr(req_file_id div (1000*1000*1000));
        while length(s)<3 do s:='0'+s;
        ss:=s;
        s:=inttostr(req_file_id div (1000*1000));
        while length(s)<3 do s:='0'+s;
        ss:=ss+'\'+s;
        s:=inttostr(req_file_id div (1000));
        while length(s)<3 do s:='0'+s;
        ss:=ss+'\'+s;
    
        FILE_PATH_ONSERVER:=ss;
        FILENAME_ONSERVER:=inttostr(req_file_id)+ ifthen(is_answer,'.answer','')+'.xml';
        result:=X_MESS_SWAP_path+FILE_PATH_ONSERVER+'\'+      FILENAME_ONSERVER;
        end;

    Предлагаю отрефакторить

    tucvbif, 01 Февраля 2016

    Комментарии (27)
  6. Куча / Говнокод #19372

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    {{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|{{Numbered sequence/1|{{#expr:floor ({{{1|0}}}/2)}}|{{{2|}}}|{{{3}}} }}{{Numbered sequence/1|{{#expr:-floor (-{{{1|0}}}/2)}}|{{{2|}}}|{{#expr:floor ({{{1|0}}}/2)+{{{3}}} }} }} }}
    
    {{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|{{Numbered sequence/2|{{#expr:floor ({{{1|0}}}/2)}}|{{{2|}}}|{{{3}}} }}{{Numbered sequence/2|{{#expr:-floor (-{{{1|0}}}/2)}}|{{{2|}}}|{{#expr:floor ({{{1|0}}}/2)+{{{3}}} }} }} }}
    ...
    {{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|{{Numbered sequence/9|{{#expr:floor ({{{1|0}}}/2)}}|{{{2|}}}|{{{3}}} }}{{Numbered sequence/9|{{#expr:-floor (-{{{1|0}}}/2)}}|{{{2|}}}|{{#expr:floor ({{{1|0}}}/2)+{{{3}}} }} }} }}
    
    {{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|<span style="color:red">Превышено количество включений — 1024</span>}}

    Циклы нельзя, никаких переменных нельзя, только параметры. Казалось бы, ничего страшного — так и рекурсии тоже нельзя!

    tucvbif, 29 Января 2016

    Комментарии (2)
  7. C# / Говнокод #19371

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Func<int,int> fact = (int i_in) => i_in;
    
    fact = (int i_in) =>
    {
    	if (i_in>1) return (fact(i_in-1)*i_in);
    	else return (1);
    };

    tucvbif, 29 Января 2016

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

    −49

    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
    select row_idx.row,row_idx.row_name,
           sum(
           case
              when exists(select R_USERS_DOLGN.ID_REC
                          from R_USERS_DOLGN
                          where R_USERS_DOLGN.USER_ID = USERS.ID_USER) then 1
              else 0
            end) SHTAT,
    ---и так далее---
    ---...---
            sum(
            case
              when exists(select R_USERS_DOLGN.ID_REC
                              from R_USERS_DOLGN
                              where R_USERS_DOLGN.USER_ID = USERS.ID_USER) and TAB_PLACE.TYPE_PLACE in (2, 3) then 1
              else 0
            end) STACZAN_v from USERS
     left outer join R_USERS_DOLGN on R_USERS_DOLGN.user_id = USERS.id_user
     left outer join SPR_DOLGN on  SPR_DOLGN.ID_DOLGN=R_USERS_DOLGN.DOLGN_ID  and
           R_USERS_DOLGN.LPID = USERS.LPID and 
           R_USERS_DOLGN.BEG_WORK <= :O_BEG and 
           R_USERS_DOLGN.END_WORK >= :O_END 
     join TAB_PRVD on TAB_PRVD.ID_PRVD= SPR_DOLGN.PRVD_ID
     right outer join (select 1 row,'Врачи – всего' row_name from rdb$database 
           union select 2 row,'Специалисты с высшим немедицинским образованием (т.1100 стр.122)' row_name from rdb$database
           union select 3 row,'Средний медперсонал – всего (т.1100 стр.128)' row_name from rdb$database
           union select 4 row,'Провизоры (т.1100 стр.175)' row_name from rdb$database
           union select 5 row,'Фармацевты (т.1100 стр.176)' row_name from rdb$database
           union select 6 row,'Младший медперсонал (т.1100 стр.177)' row_name from rdb$database
           union select 7 row,'Прочий персонал (т.1100 стр.179)' row_name from rdb$database
           union select 8 row,'Всего должностей (т.1100 стр.184)' row_name from rdb$database) row_idx
       on     (row_idx.row=1 and (spr_dolgn.group_dolgn=1))
           or (row_idx.row=2 and ', '||(select first (1) spec_list 
                   from spr_mkb_group_tabl_spec where num_pp=122)||',' like '%, '||tab_prvd.id_prvd||',%')
           or (row_idx.row=3 and (spr_dolgn.group_dolgn=2))
           or (row_idx.row=4 and (tab_prvd.id_prvd in (3,6,111,112,5003,5004,5005)))
           or (row_idx.row=5 and (spr_dolgn.id_dolgn=307))
           or (row_idx.row=6 and (spr_dolgn.group_dolgn=3))
           or (row_idx.row=7 and (spr_dolgn.group_dolgn=4))
           or (row_idx.row=8)
     left outer join TAB_PLACE on TAB_PLACE.ID_PLACE = R_USERS_DOLGN.PODR_ID
     where USERS.LPID = '+inttostr(LPU_CURRENT_ID)+
            ' group by 1,2

    Что-то меня накрыло. Вообще-то для таких вещей у нас тут есть отдельная таблица. В крайнем случае можно было сделать временную таблицу.

    tucvbif, 28 Января 2016

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

    −51

    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
    if (class_name='Tnabl_Form') then
            begin
            nabl_Form:=Tnabl_Form.create(Application);
            with nabl_Form do
            begin
            Caption := 'Наблюдение '+dop_caption;
            tool_btn_task_bar:=
                    create_tb(1,Handle,'Наблюдение','Наблюдение '+dop_caption);
            Name:=tool_btn_task_bar.Name;
            about_kart_Frame1.id_med_kart:=id_parent;
    
            end;
            nabl_Form.id_doc:=id_doc;
            nabl_Form._init;
            Result:=nabl_Form;
            end;
                     
      if class_name='To_spiski_5201_Form' then 
            begin
            o_spiski_5201_Form:=To_spiski_5201_Form.create(Application);
            o_spiski_5201_Form.FormStyle:=fsMDIChild;
            o_spiski_5201_Form.tool_btn_task_bar:=
                    create_tb(0, o_spiski_5201_Form.Handle,'Списки больных','Списки больных'+dop_caption);
            o_spiski_5201_Form.Name:=o_spiski_5201_Form.tool_btn_task_bar.Name;
            result:=o_spiski_5201_Form;
            end;
    
    if (class_name='Td_diagn_Form') then
            begin
            d_diagn_Form:=Td_diagn_Form.create(Application);
            with d_diagn_Form do
            begin
            Caption := 'Постановка диагноза '+dop_caption;
            tool_btn_task_bar:=
                    create_tb(1,Handle,'Диагноз','Постановка диагноза '+dop_caption);
            Name:=tool_btn_task_bar.Name;
            about_kart_Frame1.id_med_kart:=id_parent;
            end;
            d_diagn_Form.id_doc:=id_doc;
            d_diagn_Form._init;
            Result:=d_diagn_Form;
            end;
    //И ещё около 600 строк в том же духе

    Наследование? Полиморфизм? ООП? Это слишком сложно!

    tucvbif, 28 Января 2016

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

    −17

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    try
    if (cs_parentMK.delta=null) and (changes_flag=false) then changes_flag:= false
    else changes_flag:=true;
    except
    if changes_flag<>true then changes_flag:=false;
    end;

    Вдруг boolean как здесь: http://govnokod.ru/3274

    tucvbif, 24 Января 2016

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

    −50

    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
    ...
    TMAINForm = class (TForm)
    ...
      N50:TMenuItem;
      N51:TMenuItem;
      N52:TMenuItem;
    ...
    
    end;
    
    implementation
    
    {$include ../common/common_main.inc}

    После 10 лет развития проекта возникла потребность вынести куда-то повторяющийся код.

    tucvbif, 24 Января 2016

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