1. Си / Говнокод #5850

    +146

    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
    // vba-c.h
    #include <stdio.h>
    #include <conio.h>
    
    #ifndef VBAC
    #   define VBAC
    #   define Sub void
    #   define EndSub }
    #   define main main() {
    #   define Dim __int32
    #   define As
    #   define Integer ;
    #   define Print( a ) printf( "%i\n", a );
    #   define Wait getch();
    #endif
    
    //main.c
    #include "vba-c.h"
    
    Sub main
        Dim a As Integer
        Dim b As Integer
        Dim c As Integer
        Dim d As Integer
        Dim mb, mc As Integer
    
        a = 10;
        b = 25;
        c = 34;
        d = 34;
        mb = 0x00000002;
        mc = 0x00000030;
    
        b = b - 1;
        c = c - 1;
        a = a + b + c;
        a = a / 3;
        b = b / 4;
        a = a - 1;
        b = b + 1;
        c = c - a + b;
        d = ( b & mb ) & ( c & mc );
    
        Print( a )
        Print( b )
        Print( c )
        Print( d )
        Wait
    EndSub

    После полугода изучения VBA, привыкание к хорошим, годным языкам, как Си очень проблематично. Что и порождает такие вот костыли...

    DarkWolf, 02 Марта 2011

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

    −863

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ...........
    UNION ALL
    (SELECT CONCAT("Помещене: ", rm_pomeshenie.nazvanie, ". Этаж: ", rm_etaj.nomer, ". Комната: ", rm_komnata.nazvanie, ". Раб. место: ", rm_rab_mesto.nazvanie, ". Сист. блок: ", sb_tipi_sist_blokov.nazvanie) AS raspolojenie, u_tip_oborudovaniya.id AS tip_id, u_tip_oborudovaniya.nazvanie AS tip_nazvanie, u_modeli_oborudovaniya.id AS model_id, CONCAT(u_modeli_oborudovaniya.nazvanie, " ", u_modeli_oborudovaniya.parametri) AS model_nazvanie, u_ustroystva.id AS ustr_id, u_ustroystva.seriyniy_nomer AS ustr_seriya, u_ustroystva.dop_svedeniya AS ustr_dop_svedeniya FROM rm_pomeshenie, rm_etaj, rm_komnata, rm_rab_mesto, sb_tipi_sist_blokov, sb_sistemnie_bloki, u_tip_oborudovaniya, u_modeli_oborudovaniya, u_ustroystva WHERE (rm_pomeshenie.id = rm_etaj.id_pomesheniya) AND (rm_etaj.id = rm_komnata.id_etaja) AND (rm_komnata.id = rm_rab_mesto.id_komnati) AND (sb_sistemnie_bloki.id_v_tablice_naznacheniya = rm_rab_mesto.id) AND (sb_sistemnie_bloki.id_tipa = sb_tipi_sist_blokov.id) AND (sb_sistemnie_bloki.imya_tablici_naznacheniya="rm_rab_mesto") AND (u_ustroystva.id_v_tablice_naznacheniya = sb_sistemnie_bloki.id) AND (u_tip_oborudovaniya.id = u_modeli_oborudovaniya.id_tipa_oborudovaniya) AND (u_modeli_oborudovaniya.id = u_ustroystva.id_modeli) AND (u_ustroystva.imya_tablici_naznacheniya = "sb_sistemnie_bloki") ORDER BY tip_nazvanie, model_nazvanie)
    UNION ALL
    ...........

    Выборка устройств. Таких блоков шесть штук и все "склеены" через UNION ALL.
    Наговнокодил от души ))

    nikitasnv, 02 Марта 2011

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

    +124

    1. 1
    while (!Pr.HasExited) System.Threading.Thread.Sleep(250);

    Ожидание завершения запущенного процесса

    Мартин, 02 Марта 2011

    Комментарии (11)
  4. Си / Говнокод #5847

    +137

    1. 1
    printf("%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%f\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t", ...

    vayerx, 02 Марта 2011

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

    +98

    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
    Procedure TreeNodeBuilding(Tree: TTreeView; Query: TZQuery; DestinationNode: TTreeNode;
                              IdColumn, NameColumn, FilterColumn, TableType: String; Filtering:Boolean; ImageIndex:Integer);
      //-------------------------------------------------//
      Function AddOrNot:Boolean; //Фильтрация по ИД
      var
        Add: Boolean;
      begin
      Add:=False;
      If Filtering=False then Add:=True else
        begin
        if DestinationNode=nil then Add:=True else
          begin
          MyNodeParamPtr:=DestinationNode.Data;
          if MyNodeParamPtr^.id=Query.FieldValues[FilterColumn] then Add:=True;
          end;
        end;
      Result:=Add;
      end;
      //-------------------------------------------------//
      Procedure AddTreeNodeToViewer; //Добавление ветки
      var
        MyNode: TTreeNode;
      begin
      //Добавляем новую запись в массив и заполняем её
    //  Inc(ArrMyNodeParamLength);
    //  SetLength(ArrMyNodeParam, ArrMyNodeParamLength);
      New(MyNodeParamPtr);
      MyNodeParamPtr^.id:=Query.FieldValues[IdColumn];
      MyNodeParamPtr^.table:=TableType;
      //Добавляем новый узел дерева и указатель на соотв запись
      if DestinationNode=nil then
      MyNode:=Tree.Items.AddObject(DestinationNode, VarToStr(Query.FieldValues[NameColumn]), MyNodeParamPtr)
        else MyNode:=Tree.Items.AddChildObject(DestinationNode, VarToStr(Query.FieldValues[NameColumn]), MyNodeParamPtr);
      MyNode.ImageIndex:=ImageIndex;
      MyNode.SelectedIndex:=ImageIndex;
      end;
      //-------------------------------------------------//
    begin
    //
    Query.First;
    if AddOrNot=True then AddTreeNodeToViewer;
    Query.Next;
    while not Query.Eof do
      begin
      if AddOrNot=True then AddTreeNodeToViewer;
      Query.Next;
      end;
    end;

    Добавление ветки в TreeView. Я тут явно перемудрил

    nikitasnv, 02 Марта 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($type=='input') $params['class'] = 'styleInput';
    if ($type=='password') $params['class'] = 'stylePassword';
    if ($type=='checkbox') $params['class'] = 'styleCheckBox';
    if ($type=='select') $params['class'] = 'styleSelect';
    if ($type=='multipleSelect') $params['class'] = 'styleMultipleSelect';
    if ($type=='textarea') $params['class'] = 'styleTextarea';
    if ($type=='groupSelect') $params['class'] = 'styleGroupSelect';

    Конкатенация - враг! Учитесь трудолюбию!

    ifeya, 02 Марта 2011

    Комментарии (23)
  7. Си / Говнокод #5844

    +104

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if(res < dateFrom)
        {
            res = dateFrom;
        }
        else
            return dateFrom;
        return res;

    Выгребаю из проекта...

    ccoder, 02 Марта 2011

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

    +169

    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
    <?php
    	exit
    	(
    		empty($_POST['key']) ||
    		empty($_POST['time']) ||
    		empty($_POST['email']) ||
    		(int)$_POST['time'] != $_POST['time'] ||
    		strlen((int)$_POST['time']) != strlen($_POST['time']) ||
    		!preg_match('/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/', $_POST['email']) ||
    		($_SERVER['REQUEST_TIME'] - $_POST['time']) > 60 * 60 ||
    		md5(str_rot13(md5($_POST['time']))) != $_POST['key']
    		?'-':'+'
    	);
    ?>

    Вот Ajax ответ

    wyand, 02 Марта 2011

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

    +115

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    RepaymentEvent e = DatabaseHelper.GetString("event_type", pReader) == "RBLE"
    	                ? new BadLoanRepaymentEvent {Id = DatabaseHelper.GetInt32("rpe_id", pReader)}
    	                : (DatabaseHelper.GetString("event_type", pReader) == "RRLE"
    	                       ? new RescheduledLoanRepaymentEvent {Id = DatabaseHelper.GetInt32("rpe_id", pReader)}
    	                       :(DatabaseHelper.GetString("event_type", pReader).StartsWith("P") 
                                    ? new PendingRepaymentEvent (DatabaseHelper.GetString("event_type", pReader)) {Id = DatabaseHelper.GetInt32("rpe_id", pReader)}
                                    : new RepaymentEvent {Id = DatabaseHelper.GetInt32("rpe_id", pReader)}));

    Вот такую "элегантную" строчку нашел сегодня коллега в коде нашего проекта :)
    Создаем событие пойди разбери какое :)

    _Ru55_, 02 Марта 2011

    Комментарии (9)
  10. C# / Говнокод #5841

    +112

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    DirectoryInfo dir = new DirectoryInfo(@"C:\Users\origLocation\");
    DirectoryInfo destDir = new DirectoryInfo(@"C:\Users\origLocation\destLocation\");
    FileInfo[] newVerFiles = dir.GetFiles("*.TXT");
    foreach (FileInfo newVerFile in newVerFiles)
    {
        Regex regex = new Regex("\\d+-new-ver.TXT", RegexOptions.IgnoreCase);
        if (regex.IsMatch(newVerFile.Name))
        {
            newVerFile.MoveTo(destDir.FullName);
        }
     }

    rusco_developer, 02 Марта 2011

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