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

    +99

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    try
                SetPropValue(c, aqGetConfigproperty_name.asString,aqGetConfigpropery_value.asvariant);
                aqGetConfig.Next;
            if aqGetConfigproperty_name.AsString = 'TabVisible'
            then begin
                if aqGetConfigpropery_value.AsString = '1' then vis:=True
                else vis:=False;
                SetPropValue(c, aqGetConfigproperty_name.asString,vis);
                end

    Вот так мы ставим свойства закладок из конфигуратора:)

    judywood, 03 Сентября 2009

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

    +103.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
    la:
    for j:=8 to (length(a)-length(b) div 2) do
    begin
    	...
    	if(a[j]>'5') goto la;
    	...
    	if(a[j]>'7') goto la;
    	...
    	if(a[j]>'2') goto la;
    	...
    	j:=j-8;
    	...
    	form1.memo1.text=form1.memo1.text+'; '+inttostr(j)+'5';
    	...
    	if(a[j]>'1') goto g;
    	...
    	j:=j+8;
    end;
    g:

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

    Говногость, 02 Сентября 2009

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

    +101.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
    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
    95. 95
    96. 96
    97. 97
    98. 98
    function DatePlusOneDay(Date: TDate): TDate;
    var
      Day, Month, Year: string;
    begin
      Day := Copy(DateToStr(Date), 1, 2);
      Month := Copy(DateToStr(Date), 4, 2);
      Year := Copy(DateToStr(Date), 7, 4);
      if frac(StrToFloat(Year) / 4) <> 0 then
        if (Month = '01') or (Month = '03') or (Month = '05') or (Month = '07') or (Month = '08') or (Month = '10') or (Month = '12') then
          if Day <> '31' then
            if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
            else Day := IntToStr(StrToInt(Day) + 1)
          else
          begin
            Day := '01';
            if StrToInt(Month) < 9 then
              Month := '0' + IntToStr(StrToInt(Month) + 1)
            else
              if Month = '12' then
              begin
                Month := '01';
                Year := IntToStr(StrToInt(Year) + 1);
              end
              else Month := IntToStr(StrToInt(Month) + 1);
          end
        else
          if (Month = '04') or (Month = '06') or
          (Month = '09') or (Month = '11') then
            if Day <> '30' then
              if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
              else Day := IntToStr(StrToInt(Day) + 1)
            else
            begin
              Day := '01';
              if StrToInt(Month) < 9 then Month := '0' + IntToStr(StrToInt(Month) + 1)
              else Month := IntToStr(StrToInt(Month) + 1);
            end
          else
            if Day <> '28' then
              if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
              else Day := IntToStr(StrToInt(Day) + 1)
            else
            begin
              Day := '01';
              if StrToInt(Month) < 9 then Month := '0' + IntToStr(StrToInt(Month) + 1)
              else Month := IntToStr(StrToInt(Month) + 1);
            end
      else
        if (Month = '01') or (Month = '03') or (Month = '05') or (Month = '07') or (Month = '08') or (Month = '10') or (Month = '12') then
          if Day <> '31' then
            if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
            else Day := IntToStr(StrToInt(Day) + 1)
          else
          begin
            Day := '01';
            if StrToInt(Month) < 9 then
              Month := '0' + IntToStr(StrToInt(Month) + 1)
            else
              if Month = '12' then
              begin
                Month := '01';
                Year := IntToStr(StrToInt(Year) + 1);
              end
              else
                Month := IntToStr(StrToInt(Month) + 1);
          end
        else
          if (Month = '04') or (Month = '06') or
          (Month = '09') or (Month = '11') then
            if Day <> '30' then
              if StrToInt(Day) < 9 then
                Day := '0' + IntToStr(StrToInt(Day) + 1)
              else
                Day := IntToStr(StrToInt(Day) + 1)
            else
            begin
              Day := '01';
              if StrToInt(Month) < 9 then
                Month := '0' + IntToStr(StrToInt(Month) + 1)
              else
                Month := IntToStr(StrToInt(Month) + 1);
            end
          else
            if Day <> '28' then
              if StrToInt(Day) < 9 then
                Day := '0' + IntToStr(StrToInt(Day) + 1)
              else
                Day := IntToStr(StrToInt(Day) + 1)
            else
            begin
              Day := '01';
              if StrToInt(Month) < 9 then
                Month := '0' + IntToStr(StrToInt(Month) + 1)
              else
                Month := IntToStr(StrToInt(Month) + 1);
            end;
      DatePlusOneDay := StrToDate(Day + '.' + Month + '.' + Year);
    end;

    Писалось, когда не знали о эквиваленте (Date + 1)

    SaNdMaN, 01 Сентября 2009

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

    +83.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
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
    var
      P: TPoint;
      Left, Right, Top, Bottom: Boolean;
    begin
      P := ScreenToClient(SmallPointToPoint(M.Pos));
      Left := (P.X < 5) and not (akLeft in Anchors);
      Right := (P.X > Width - 5) and not (akRight in Anchors);
      Top := (P.Y < 5) and not (akTop in Anchors);
      Bottom := (P.Y > Height - 5) and not (akBottom in Anchors);
    
      M.Result := HTCLIENT;
    
      if Left then
        if Top then
          M.Result := HTTOPLEFT
        else
          if Bottom then
            M.Result := HTBOTTOMLEFT
          else
            M.Result := HTLEFT
      else
      if Right then
        if Top then
          M.Result := HTTOPRIGHT
        else
          if Bottom then
            M.Result := HTBOTTOMRIGHT
          else
            M.Result := HTRIGHT
      else
        if Top then
          M.Result := HTTOP
        else
          if Bottom then
            M.Result := HTBOTTOM;
    end;

    изменяем размеры формы с BorderStyle = bsNone.

    Arch, 31 Августа 2009

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

    +85

    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
    pocedure TForm1.line(x, y, N: integer; l: real; d: boolean);
    var
      x1,x2,x3,x4,y1,y2,y3,y4: integer;
      begin
        if l>2 then
          begin
              if d then
                case N  of
                  1: begin
                        x1:=x; y1:=y;
                        x2:=x1; y2:=y1-round(1);
                        x3:=x1+round(1); y3:=y1-round(1);
                        x4:=x1+round(1); y4:=y1;
                  end;
                  2: begin
                        x2:=x; y2:=y;
                        x1:=x2; y1:=y2+round(1);
                        x3:=x2+Round(1); y3:=y2;
                        x4:=x2+Round(1); y4:=y2+round(1);
                     end;
                  3: begin
                        x3:=x; y3:=y;
                        x1:=x3-round(1); y1:=y3+round(1);
                        x2:=x3-round(1); y2:=y3;
                        x4:=x2+round(1); y4:=y2+round(1);
    
                  end;
                  4: begin
                  x4:=x; y4:=y;
                  x1:=x4-round(1); y1:=y4;
                  x2:=x4-round(1); y2:=y4-round(1);
                  x3:=x4; y3:=y4-round(1);
                  end;
                end
                else
                 case N  of
                  1: begin
                        x1:=x; y1:=y;
                        x2:=x1; y2:=y1+round(1);
                        x3:=x1+round(1); y3:=y1+round(1);
                        x4:=x1+round(1); y4:=y1;
                  end;
                  2: begin
                        x2:=x; y2:=y;
                        x1:=x2; y1:=y2-round(1);
                        x3:=x2-Round(1); y3:=y2;
                        x4:=x2-Round(1); y4:=y2-round(1);
                     end;
                  3: begin
                        x3:=x; y3:=y;
                        x1:=x3+round(1); y1:=y3-round(1);
                        x2:=x3+round(1); y2:=y3;
                        x4:=x2-round(1); y4:=y2-round(1);
    
                  end;
                  4: begin
                  x4:=x; y4:=y;
                  x1:=x4+round(1); y1:=y4;
                  x2:=x4+round(1); y2:=y4+round(1);
                  x3:=x4; y3:=y4+round(1);
                  end;
                end;
                with Canvas do
                  begin
                    Pen.Color :=RGB(Random(256),Random(256),Random(256));
                    MoveTo(x1,y1);
                    LineTo(x2,y2);
                    LineTo(x3,y3);
                    LineTo(x4,y4);
                    LineTo(x1,y1);
                    Brush.Color:=Pen.Color;
                    FloodFill((x2+x3) div 2, (y2+y1) div 2, Pen.Color,fsBorder);
                    if l=200 then line (x1,y1,1,1/2, not d);
                    if n<>1 then line (x1,y1,1,1/2, not d);
                    if n<>2 then line (x2,y2,2,1/2, not d);
                    if n<>3 then line (x3,y3,3,1/2, not d);

    угадайте...:D

    ChakuZa, 24 Августа 2009

    Комментарии (7)
  6. Pascal / Говнокод #1663

    +95.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
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if key=13 then Halt;
      
    end;
    
    procedure TForm1.Timer1Timer(Sender: TObject);
    var p: TPoint;
    begin
      p.X:=Random(Screen.Width);
      p.Y:=Random(Screen.Height);
      SetCursorPos(p.X,p.Y);
      mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN,p.X,p.Y,0,0);
      mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP,p.X,p.Y,0,0);
    end;
    
    end.

    :DDD

    ChakuZa, 24 Августа 2009

    Комментарии (12)
  7. Pascal / Говнокод #1625

    +104.7

    1. 1
    2. 2
    randomize;
    if random(5)=5 then ...

    Школота не знала всех тонкойстей работы функции Random :D

    Lolwho, 18 Августа 2009

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

    +94.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    I := 0;
            While clbDBList.ItemIndex < I+1 do // пробегаемся циклом по списку баз данных.
              begin
                If clbDBList.Checked[Ix] then // Если база отмечена, производим её обновление.
                  begin
                      //тут действия.. 
                  end;
                Inc(I);
              end;

    В общем условие While цикла.. когда я увидел.. долго думал что я такого курил, когда писал это... )))

    XIO, 17 Августа 2009

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

    +86.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    with (VirNode^) do
    begin
      VirNode^.ImageIndex := vir.iNum;
      VirNode^.Txt := vir.sAttr[1] + ' - ' + vir.sAttr[3];
    end;

    сначала было без with а потом забыл убрать "VirNode^." :)

    Joe, 15 Августа 2009

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

    +91.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    ...
          if DM.LastCOID <> -1 then
          begin
            if Pos(IntToStr(DM.LastCOID), Label1.Caption) <= 0 then
            begin
              Label1.Caption := 'Телефон: ' + '(' + IntToStr(DM.LastCOID) + ')';
              DataSet['CHANNELOUTERID'] := IntToStr(DM.LastCOID);
            end;
          end;
    ...

    LastCOID - номер внешней линии, который отображается в лейбле Label1 и заносится в поле базы. Как и чем думал автор вставляя второе условие? Самое главное, для чего? В итоге, софтина иногда пропускала сохранение LastCOID в БД, тем самым портя статистику и настроение клиента.

    ybinzu, 11 Августа 2009

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