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

    +94

    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
    function TMyDb.getUserItemsINTOMarkt(userid: Int64; marktid: String): SOString;
    var
      Query : TZQuery;
    begin
     Result := '';
     try
     lock;
     Query := TZQuery.Create(nil);
     if not isConnected() then
            connect();
       Query.Connection := SQLCon;
          Query.SQL.TEXT:='SELECT mi.markt_id, mi.price, mi.item_id,ui.used_limit,'+
                               'ui.max_limit,ui.inv_id,ui.inv_min_damage, ui.inv_max_damage,'+
                               'ui.inv_options,ui.inv_bonuses,ui.inv_mods,ui.modifed,'+
                               'i.name FROM bkheroes.markt_items mi '+
                               'JOIN user_inventory ui ON mi.user_id='+IntToStr(userid)+' AND '+
                               'mi.user_inv_id=ui.inv_id AND mi.markt_id='''+marktid+
                              ''' AND ui.userSellItem=''yes'' JOIN items i ON i.id=mi.item_id';
    
       if SQLCon.Connected = True then
      begin
        Query.Open;
        if Query.RecordCount > 0 then
        begin
          while not Query.EOF do
          begin
              Result := Result+'{"marktid":'+Query.FieldByName('markt_id').AsString+
                        ',"inv_id":'+Query.FieldByName('inv_id').AsString+
                        ',"price":'+Query.FieldByName('price').AsString+
                        ',"itemid":'+Query.FieldByName('item_id').AsString+
                        ',"used_limit":'+Query.FieldByName('used_limit').AsString+
                        ',"max_limit":'+Query.FieldByName('max_limit').AsString+
                        ',"min_damage":'+Query.FieldByName('inv_min_damage').AsString+
                        ',"max_damage":'+Query.FieldByName('inv_max_damage').AsString+
                        ',"options":'+explodeParams(query.FieldByName('inv_options').AsString,',',':').AsString+
                        ',"bonuses":'+explodeParams(Query.FieldByName('inv_bonuses').AsString,',',':').AsString+
                        ',"mods":'+explodeParams(Query.FieldByName('inv_mods').AsString,',',':').AsString+
                        ',"modifed":"'+Query.FieldByName('modifed').AsString+
                        '","name":"'+Query.FieldByName('name').AsString+'"},';
              query.Next;
          end;
        end;
      Result:='{"marktid":'+marktid+',"items":['+Copy(Result,1,Length(Result)-1)+']}';
      end;
      TLogger.GeneralLog('getUserItemsINTOMarkt: '+Result,'TMyDBUnit',ltTrace);
      finally
      Query.Close;
      Query.Free;
      unlock;
      end;
    end;

    О боже! Как можено такое писать за деньги? Да вообще, как можно писать такое??

    Cynicrus, 24 Ноября 2014

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

    +87

    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
    class function TTransfer.getCreditStateOFCreditPoints(creditPoints:Int64):Integer;
    begin
      Result := 0;
      if (creditPoints>=0) AND (creditPoints <200) then
         begin
              Result := 1;
              exit;
         end;
      if (creditPoints>=200) AND (creditPoints <600) then
         begin
              Result := 2;
              exit;
         end;
      if (creditPoints>=600) AND (creditPoints <1200) then
         begin
              Result := 3;
              exit;
         end;
      if (creditPoints>=1200) AND (creditPoints <2000) then
         begin
              Result := 4;
              exit;
         end;
      if (creditPoints>=2000) AND (creditPoints <3700) then
         begin
              Result := 5;
              exit;
         end;
      if (creditPoints>=3700) AND (creditPoints <7000) then
         begin
              Result := 6;
              exit;
         end;
      if (creditPoints>=7000) AND (creditPoints <15000) then
         begin
              Result := 7;
              exit;
         end;
      if (creditPoints>=15000) AND (creditPoints <25000) then
         begin
              Result := 8;
              exit;
         end;
      if (creditPoints>=25000) AND (creditPoints < 100000) then
         begin
              Result := 9;
              exit;
         end;
      if (creditPoints>=100000) then
         begin
              Result := 10;
              exit;
         end;
    end;

    Типа Ы-нтерпрайз код. Где таких делают только.

    Cynicrus, 24 Ноября 2014

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

    +140

    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
    type func = function (x : real) : real;
    const
    	eps = 0.0000003;
    	pi = 3.14159265358979;
    function Integral (f : func; a, b : real) : real;
    var center : real;
    begin
    	center := (a + b) / 2;
    	if abs(b - a) < eps then
    		Integral := f(center) * (b - a)
    	else Integral := Integral(f, a, center) + 
    		Integral(f, center, b);
    end;
    function myFunc(x : real) : real;
    begin
    	myFunc := cos(x) / x;
    end;
    begin
    	writeln(Integral(myFunc, pi/2, pi));
    	readln;
    end.

    Толи я дурачек, толи автор кода - школьник....

    ShadowXX, 02 Ноября 2014

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

    +88

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    with dm.Query do
        begin
          if Active then Close;
          //вот так оно работало до ввода параметров
          //dm.QStat.SQL.Text := 'select * from T_ORDER where (date between ''' + IntToStr(ys) + '-' + IntToStr(ms) + '-' + IntToStr(ds) + ''' and ''' + IntToStr(yf) + '-' + IntToStr(mf) + '-' + IntToStr(df) + ''')' ;
    
          SQL.Text := 'select * from T_ORDER where (date between :StartDate  and :FinishDate)';
          Parameters.ParamByName('StartDate').Value := IntToStr(ys) + '-' + IntToStr(ms) + '-' + IntToStr(ds);
          Parameters.ParamByName('FinishDate').Value := IntToStr(yf) + '-' + IntToStr(mf) + '-' + IntToStr(df);

    в комменте - код, ниже - его вменяемая замена

    knowy, 27 Октября 2014

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

    +94

    1. 1
    2. 2
    fisher(Sender);//fisher
    macd(Sender);//macd

    Буква "С" - Содержательные комментарии.

    Практически единственные комменты в программе на 7000 строк.

    hardreset, 27 Октября 2014

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

    +86

    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
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    panel27.Caption:=' ' + TimeToStr(time);
    KeyPreview := true;
    Form1.BorderStyle:=bsNone;
    Form1.WindowState:=wsMaximized;
    ShowWindow(Application.Handle, SW_HIDE);
    
    end;
    
    procedure TForm1.Timer2Timer(Sender: TObject);
    var
    Images: array[0..25] of Timage;
    i,p:integer;
    begin
    {Цикл для прорисовки канвы,идея безумная но иначе она прорисовывается не полностью}
    {РАБОТАЕТ? НЕ ТРОГАЙ!©}
    for i:=0 to 26 do
     begin
    images[0]:=image1;
    images[1]:=image2;
    images[2]:=image3;
    images[3]:=image4;
    images[4]:=image5;
    images[5]:=image6;
    images[6]:=image7;
    images[7]:=image8;
    images[8]:=image9;
    images[9]:=image10;
    images[10]:=image11;
    images[11]:=image12;
    images[12]:=image13;
    images[13]:=image14;
    images[14]:=image15;
    images[15]:=image16;
    images[16]:=image17;
    images[17]:=image18;
    images[18]:=image19;
    images[19]:=image20;
    images[20]:=image21;
    images[21]:=image22;
    images[22]:=image23;
    images[23]:=image24;
    images[24]:=image25;
    images[25]:=image26;
    
    if i>25
    then PageControl1.ActivePageIndex:=0
    else begin
    PageControl1.ActivePageIndex:=i;
    {Квадраты,Круг,Дуги}
    images[i].Canvas.rectangle(200,50,300,150);
    images[i].Canvas.rectangle(200,200,300,300);
    images[i].Canvas.rectangle(200,350,300,450);
    ...
    {Дальше идут канвас код которых примерно строк 150}
    ...
    end;
    p:=Gauge1.Progress+4;
    if p<100 then
    Gauge1.Progress:=p;
    end;
    timer2.Enabled:=false;
    Gauge1.Progress:=100;
    end;

    Изначально суть была в том, что при запуске программы окно разворачивалось на весь экран и вырисовывалось изображение на имаге(точнее несколько...штук 26),которые находились на пейдж контроле с 26 табщитами, но т.к в конструкторе окно формы не огромных размеров то вырисовывалось изображение размером с это маленькое окно оставляя огромный пробел справа и снизу.Позже проблема решилась и на активной вкладке пейджконтрола вырисовка была правильной, но на остальных неактивных такой же как и вначале. Пришлось при запуске переключать табщиты и поочередно рисовать на канве, все это происходит за 2-3 секунды каждый раз при запуске программы..другого решения увы не нашел.

    HiiamMarvin, 17 Октября 2014

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

    +93

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (CurrentPlugin=nil) and (CurrentPlugin.FileName<>'InfoRTF.dll') and (CurrentPLugin.FileName<>'Preview.dll')  then begin
        if not ServerStoped then begin
            uPluginControl.StopSession();
        end;
        if ClientLoaded then begin
            ClientLoaded:=false;
            StartDemo();
        end;
    end;

    Смеяться на первой же строчке.
    Привет Алексу.

    hdkeeper, 17 Октября 2014

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

    +91

    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
    program lab2;
    
     const n = 5;
     var i:integer;
     var A, x1, dx:single;
     var arrayX : array[1..n] of single;
     var arrayY : array[1..n] of single;
    
    begin
      readln(A);
      x1:= -1 * 2.2 * A;
      dx:= A/5;
      arrayX[1]:= x1;
      for i:=2 to n do
       arrayX[i]:= arrayX[i - 1] + dx;
      for i:=1 to n do
      begin
       if (arrayX[i] < 0) then
        arrayY[i]:= -1 * sqrt(sqrt(16 * sqr(sqr(A)) + 4 * sqr(A) * sqr(arrayX[i] + A)) - sqr(arrayX[i] + A) - sqr(A))
       else
        arrayY[i]:= sqrt(sqr(A) - sqr(arrayX[i] + A)) - 2 * A;
       writeln(arrayX[i], ' ; ', arrayY[i]);
      end;
      readln;
    end.

    govno, govno, govnyanoe

    GOVNOgovnyanoe, 13 Октября 2014

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

    +88

    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
    program One;
    
    var
      a, b, c: integer;
    
    begin
      assign(input, 'input.txt'); reset(input);
      assign(output, 'output.txt'); rewrite(output);
      read(a);
      if a = 5 then
        Writeln('25')
      else if (a div 5 = 1) 
        then
        Writeln('Введите число, оканчивающееся на 5!')
      else begin
        b := a div 10;
        c := b * (b + 1);
        Writeln(c, '25');
      end;
    end.

    Dexius, 06 Октября 2014

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

    +97

    1. 1
    2. 2
    var
       TCPLength: boolean;

    Ага. Длина либо есть, либо нет.

    youmych, 07 Августа 2014

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