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

    Всего: 3

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

    +92.8

    1. 1
    2. 2
    3. 3
    4. 4
    // Я приводить пример кода не буду, т.к. он давно исправлен и остался только в памяти и SVN-е,
    // но вполне реальный человек захуячил такое:
    // В событии OnPaint таблицы происходил запрос к БД, чтоб узнать, какой именно текст надо отрисовывать.
    // Очень весело было изменять размеры формы и наблюдать, с какой скоростью увеличивается лог-файл xDDD

    Arch, 07 Апреля 2010

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

    +92.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    procedure MyLine(X1, Y1, X2, Y2: Integer; Color: TColor; Canvas: TCanvas);
    begin
      if (Abs(X1 - X2) <= 1) and (Abs(Y1 - Y2) <= 1) then
        Canvas.Pixels[X1, Y1] := Color
      else
      begin
        MyLine(X1, Y1, (X1 + X2) shr 1, (Y1 + Y2) shr 1, Color, Canvas);
        MyLine((X1 + X2) shr 1, (Y1 + Y2) shr 1, X2, Y2, Color, Canvas);
      end;
    end;

    Когда-то давно очень увлекался рисованием в ДОС-е.
    До сих пор помню процедуру быстрого рисования кривой прямой %)
    представляю на суд тот же алгоритм.

    Arch, 29 Октября 2009

    Комментарии (5)
  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)