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

    +20.5

    1. 1
    b:=(1-(n+1))/2

    Ничего не трогать, пусть работает, как есть!

    guest, 20 Декабря 2008

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

    +17.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Function nSetColorPair(att : integer) : integer;
    var
       i : integer;
    Begin
       bg := att div 16;
       fg := att - (bg * 16);
       While bg > 7 Do dec(bg,8);
       While fg > 7 Do dec(fg,8);
    // . . .

    Кусок модуля nCRT для FreePascal 2.2. У нормальных людей att - это байт. И вообще... Говно код!

    guest, 16 Декабря 2008

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

    −25.3

    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
    procedure date_mask(date_edit:TEdit);
    var s:string;
        i:integer;
    begin
      case length(date_edit.Text) of
      2:begin
          date_edit.Text:=date_edit.Text+'.';
          date_edit.SelStart:=3;
        end;
      5:begin
          date_edit.Text:=date_edit.Text+'.';
          date_edit.SelStart:=6;
        end;
      end;
    
      if length(date_edit.Text)=10 then
      begin
        for i:=1 to 9 do
        begin
          s:=s+date_edit.Text[i];
        end;
        date_edit.Text:=s;
        date_edit.SelStart:=9;
      end;
    end;

    чтобы в компонент edit вводить дату)

    guest, 13 Декабря 2008

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

    +23

    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
    if not MultiThread then
      begin
        GetName(@rec);
        result:=rec.fname;
      end
      else
      begin
        hThread:=CreateThread(0,0,@GetName,@rec,0,tmp);
        if WaitForSingleObject(hThread,100)=WAIT_TIMEOUT then
          TerminateThread(hThread,0)
        else
          result:=rec.fname;
        CloseHandle(hThread);
      end;

    Дельфисты - ущербные люди......

    guest, 12 Декабря 2008

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

    −23.1

    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
    if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_НАЦ' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.Percent' + R + ' AR_Percent';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_КАТ' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.ID_ArtCat' + R + ' AR_ID_ArtCat';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_ВЕС' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.Weight' + R + ' AR_Weight';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_ОБЪЕМ' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.Capacity' + R + ' AR_Capacity';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'МИННАЦ' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.MinDiscount' + R + ' AR_MinDiscount';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_МИНКОЛ' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.MinQuantity' + R + ' AR_MinQuantity';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_СТАТУС' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.Status' + R + ' AR_Status';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_ГТД' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.GTD' + R + ' AR_GTD';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_СТРАНА' + FieldDelim, OpArtFields) > 0)) then 
        sSelect := sSelect + ', ' + LMax + 'CO.Name' + R + ' AR_Country';

    Собирание SQL - запроса для выборки полей. И это маленький кусочек :)
    Серьёзная контора с миллиардными оборотами!

    guest, 11 Декабря 2008

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

    −42.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
    19. 19
    20. 20
    procedure TForm1.fritb(ie:longint;var fr0:extended);
     begin
    v1:=0;
     for nsf:=1 to 5 do
      begin
       kl11:=0;kl12:=0;kl22:=0;
      for k:=1 to km[nsf] do
        begin
        if (cm^[ie]=cm^[nm^[(ie-1)*kms[ksf+1]+kms[nsf]+k]])and (cm^[ie]=1)
        then      kl11:=kl11+1;
        if (cm^[ie]=cm^[nm^[(ie-1)*kms[ksf+1]+kms[nsf]+k]])and (cm^[ie]=2)
        then      kl22:=kl22+1;
    if (cm^[ie]<>cm^[nm^[(ie-1)*kms[ksf+1]+kms[nsf]+k]])and(cm^[nm^[(ie-1)*kms[ksf+1]+kms[nsf]+k]]<>0)and (cm^[ie]<>0)
        then      kl12:=kl12+1;
         end;
      fr0:=fr0+kl11*(p11[1,nsf])+kl22*p11[2,nsf]+kl12*p11[3,nsf];
      v1:=v1+kl11*(f11[1,nsf])+kl22*f11[2,nsf]+kl12*f11[3,nsf];
       end;
      fr0:=fr0-sqrt(abs(v1));
     end;

    процеДуро

    guest, 09 Декабря 2008

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

    −12.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    for i:=sk[(npl-1)*5+1] to sk[(npl-1)*5+2]-1 do
       begin
       l1:=0;l2:=0;l3:=0;l4:=0;l5:=0;l6:=0;l7:=0;l8:=0;l9:=0;l10:=0;
      for j:=1 to 100 do g1[j]:=0;
       for k:=sk[(npl-1)*5+1] to sk[(npl-1)*5+2] do
         if (k<>i )and
       (((abs(xyz^[pxyz^[i]].x-xyz^[pxyz^[k]].x)< dd) or  ((lx-abs(xyz^[pxyz^[i]].x-xyz^[pxyz^[k]].x))<dd))
       and ((abs(xyz^[pxyz^[i]].y-xyz^[pxyz^[k]].y)<dd) or  ((ly-abs(xyz^[pxyz^[i]].y-xyz^[pxyz^[k]].y))<dd))
       and ((abs(xyz^[pxyz^[i]].z-xyz^[pxyz^[k]].z)<dd) or  ((lz-abs(xyz^[pxyz^[i]].z-xyz^[pxyz^[k]].z))<dd)))
       then

    это только заголовок цикла ..

    guest, 09 Декабря 2008

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

    −5.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
    19. 19
    function IntToMonth(NumberMonth: Integer): string;
    begin
      сase NumberMonth of
        1: Result := 'Январь';
        2: Result := 'Февраль';
        3: Result := 'Март';
        4: Result := 'Апрель';
        5: Result := 'Май';
        6: Result := 'Июнь';
        7: Result := 'Июль';
        8: Result := 'Август';
        9: Result := 'Сентябрь';
        10: Result := 'Октябрь';
        11: Result := 'Ноябрь';
        12: Result := 'Декабрь';
      else
        Result := 'Август';
      end;
    end;

    Думаю, по названию функции все понятно :)

    guest, 04 Декабря 2008

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

    +24

    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
    program Project1;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils;
    type
      Деньга = record
        Достоинство:integer;
        Количество:integer;
      end;
    
    var
      Лопатник: array of Деньга;
    
    procedure ПоложитьНаЛопату(Купюра:Integer);
    var
      I: Integer;
      УжеПоложили:Boolean;
    begin
      if Купюра=0 then
        Exit;
      УжеПоложили:=False;
      for I := low(Лопатник) to High(Лопатник) do
        if Лопатник[i].Достоинство=Купюра then
          begin
            inc(Лопатник[i].Количество);
            УжеПоложили:=True;
          end;
      if not(УжеПоложили) then
        begin
          SetLength(Лопатник,Length(Лопатник)+1);
          Лопатник[High(Лопатник)].Достоинство:=Купюра;
          Лопатник[High(Лопатник)].Количество:=1;
        end;
    end;
    
    var
      Купюра:integer;
      i:integer;
      ВсегоНаЛопате:integer;
    begin
      repeat
        Readln(Купюра);
        ПоложитьНаЛопату(Купюра);
      until Купюра=0;
      ВсегоНаЛопате:=0;
      for I := low(Лопатник) to High(Лопатник) do
        begin
          WriteLn(Format('Cost = %d Count - %d',[Лопатник[i].Достоинство,Лопатник[i].Количество]));
          inc(ВсегоНаЛопате,Лопатник[i].Достоинство*Лопатник[i].Количество);
        end;
      WriteLn(Format('All money - %d',[ВсегоНаЛопате]));
      ReadLn;
    end.

    Вообще-то это Delphi, но его в списке не было ;)
    Задача была такая:
    пользователь вводит достоинства купюры в произвольном порядке, ввод прекращ

    guest, 28 Ноября 2008

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