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

    +100.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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    function rgbagl(r,g,b,a:gldouble):trgbagl;
    var
    t:trgbagl;
    begin
    t.r:=r;
    t.g:=g;
    t.b:=b;
    t.a:=a;
    rgbagl:=t;
    end;
    function trgbaintrgbagl(rgba:trgba):trgbagl;
    begin
    trgbaintrgbagl.r:=rgba.r/255;
    trgbaintrgbagl.g:=rgba.g/255;
    trgbaintrgbagl.b:=rgba.b/255;
    trgbaintrgbagl.a:=rgba.a/255;
    end;
    function trgbaglintrgba(rgbagl:trgbagl):trgba;
    begin
    trgbaglintrgba.r:=trunc(rgbagl.r*255);
    trgbaglintrgba.g:=trunc(rgbagl.g*255);
    trgbaglintrgba.b:=trunc(rgbagl.b*255);
    trgbaglintrgba.a:=trunc(rgbagl.a*255);
    end;
    function trgbaglelmintrgbaelm(elm:gldouble):byte;
    begin
    trgbaglelmintrgbaelm:=trunc(elm*255);
    end;
    function trgbaelmintrgbaglelm(elm:byte):gldouble;
    begin
    trgbaelmintrgbaglelm:=elm/255;
    end;

    Вот так вот.

    Говногость, 13 Марта 2010

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

    +99.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
    procedure setrandomdoubleprecision(value:byte);
    begin
    precision:=10*value;
    end;
    function rangerandomdouble(minrandomdouble,maxrandomdouble:double):double;
    begin
    result:=randomdouble(maxrandomdouble+(-minrandomdouble))+minrandomdouble
    end;
    function randomdouble(maxdouble:double):double;
    var
    l1,l2:integer;
    begin
    l1:=random(trunc(maxdouble));
    l2:=random(trunc(frac(maxdouble)*precision));
    result:=l1+(l2/precision)
    end;

    Рандом с заданной точностью. O_o

    Говногость, 13 Марта 2010

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

    +96.5

    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 AsmRGBBiter15;assembler;
    procedure AsmRGBBiter16;assembler;
    //procedure AsmRGBBiter24;assembler;
    procedure AsmRGBBiter32;assembler;
    procedure AsmRGBBiterEx15;assembler;
    procedure AsmRGBBiterEx16;assembler;
    //procedure AsmRGBBiterEx24;assembler;
    procedure AsmRGBBiterEx32;assembler;
    procedure RGBBiterEx32(RGB32Stream,RGBNeed:pointer;Count:dword);pascal;assembler;
    //procedure RGBBiterEx24(RGB32Stream,RGBNeed:pointer;Count:dword);pascal;assembler;
    procedure RGBBiterEx16(RGB32Stream,RGBNeed:pointer;Count:dword);pascal;assembler;
    procedure RGBBiterEx15(RGB32Stream,RGBNeed:pointer;Count:dword);pascal;assembler;
    procedure AsmRGB16;assembler;
    procedure AsmRGB15;assembler;
    //procedure AsmRGB24;assembler;
    procedure AsmRGB32;assembler;
    function GetRValue32(color:dword):byte;Pascal;
    function GetGValue32(color:dword):byte;Pascal;
    function GetBValue32(color:dword):byte;Pascal;
    //function GetRValue24(color:dword):byte;Pascal;
    //function GetGValue24(color:dword):byte;Pascal;
    //function GetBValue24(color:dword):byte;Pascal;
    function GetRValue16(color:dword):byte;Pascal;
    function GetGValue16(color:dword):byte;Pascal;
    function GetBValue16(color:dword):byte;Pascal;
    function GetRValue15(color:dword):byte;Pascal;
    function GetGValue15(color:dword):byte;Pascal;
    function GetBValue15(color:dword):byte;Pascal;
    function GetSceenRect:trect;
    procedure DrawSceenHLine32(x1,x2,y,color:dword);pascal;assembler;
    procedure DrawSceenHLine15(x1,x2,y,color:dword);pascal;assembler;
    procedure DrawSceenHLine16(x1,x2,y,color:dword);pascal;assembler;
    //procedure DrawSceenHLine24(x1,x2,y,color:dword);pascal;assembler;
    procedure DrawSceenVLine32(x,y1,y2,color:dword);pascal;assembler;
    //procedure DrawSceenVLine24(y1,y2,x,color:dword);pascal;assembler;
    procedure DrawSceenVLine15(x,y1,y2,color:dword);pascal;assembler;
    procedure DrawSceenVLine16(x,y1,y2,color:dword);pascal;assembler;

    Программа работает только в 32битном режиме экрана. :D

    Говногость, 13 Марта 2010

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

    +98.7

    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
    Procedure Halt;
    begin
    if atomTest<>0 then GlobalDeleteAtom(atomTest);
    TerminateProcess(GetCurrentProcess,0);
    end;
    function RegisterSceenTimer(proc:tproc):dword;
    var i:dword;
    begin
    result:=0;
    for i:=1 to sMaxSceenGradient do
    if  not SceenGradient[i].isNotEmpty then break ;
    if i=sMaxSceenGradient then exit;
    SceenTimers[i]:=proc;
    result:=i;
    end;

    :D

    Говногость, 13 Марта 2010

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

    +87.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
    function LockBack:bool;
    var sd:tddsurfacedesc2;
    begin
    fillchar(sd,sizeof(sd),0);
    sd.dwSize:=sizeof(sd);
    result:=fbacksurface.Lock(nil,sd,DDLOCK_SURFACEMEMORYPTR  or ddlock_nosyslock or DDLOCK_WAIT,0)=dd_ok;
    if not result then exit;
    BackPtr:=sd.lpSurface;
    end;
    function UnLockBack:bool;
    begin
    result:=fbacksurface.UnLock(nil)=dd_ok;
    BackPtr:=nil;
    end;
    function MakeSceenBackPtr:bool;
    begin
    result:=true;
    if backptr=nil then
     result:=lockBack;
    end;
    function GetSceenSafeBackPtr:pointer;//use only this
    begin
    result:=nil;
    if not MakeSceenBackPtr then exit;
    result:=backptr;
    end;

    Тот же проЭкт, что и ниже на DirectDraw7.
    Не смотря на то, что была функция function UnLockBack:bool; - она никогда не вызывалась. Странно, что на многих машинах это работало, тк я успешно выполнял блитинг в заблокированные поверхности в течении многих часов. :D

    Говногость, 13 Марта 2010

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

    +99.7

    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
    function RegisterSceenButton(Caption:shortstring;Rect:trect;dx,dy,ShadowWidth:dword;Style:dword;VerticalGradient,VerticalGradientifMouse,VerticalGradientIfClick:bool;TextColor,ColorTop,ColorBottom,TextColorIfMouse,ColorTopIfMouse,ColorBottomIfMouse,TextColorIfClick,ColorTopIfClick,ColorBottomIfClick,LeftTopColor,RightBottomColor:dword;pushProc:tSBPushProc;Surface:idirectdrawsurface7):dword;
    var i:dword;
    begin
    result:=0;
    for i:=1 to SMaxSceenButton do
    if SceenButton[i].isNotEmpty=false then break;
    if i=SMaxSceenButton then exit;
    ZeroMemory(@SceenButton[i],sizeof(SceenButton[i]));
    SceenButton[i].Caption:=caption;
    SceenButton[i].PushProc:=@pushproc;
    SceenButton[i].Rect:=rect;
    SceenButton[i].dx:=dx;
    SceenButton[i].dy:=dy;
    SceenButton[i].TextColor:=textcolor;
    SceenButton[i].ColorTop:=ColorTop;
    SceenButton[i].ColorBottom:=ColorBottom;
    SceenButton[i].TextColorIfMouse:=textcolorifmouse;
    SceenButton[i].ColorTopIfMouse:=colorTopifmouse;
    SceenButton[i].ColorBottomIfMouse:=colorBottomifmouse;
    SceenButton[i].LeftTopColor:=lefttopcolor;
    SceenButton[i].RightBottomColor:=rightbottomcolor;
    SceenButton[i].ShadowWidth:=ShadowWidth;
    SceenButton[i].TextColorIfClick:=textcolorifclick;
    SceenButton[i].ColorTopIfClick:=colorTopifclick;
    SceenButton[i].ColorBottomIfClick:=colorBottomifclick;
    SceenButton[i].surface:=surface;
    SceenButton[i].Style:=Style;
    SceenButton[i].VerticalGradient:=VerticalGradient;
    SceenButton[i].VerticalGradientIfMouse:=VerticalGradientIfMouse;
    SceenButton[i].VerticalGradientIfClick:=VerticalGradientIfClick;
    SceenButton[i].state:=SSTB_Normal;
    SceenButton[i].isNotEmpty:=true;
    SceenButton[i].State:=SSTB_normal;
    result:=i;
    end;

    Программа, полностью на скинах через DDraw. Гуевое лишь POPUP окно. Зачем мне было это нужно? Работает только в 32битном режиме. В остальных глючит. :D

    Говногость, 13 Марта 2010

    Комментарии (5)
  7. Java / Говнокод #2774

    +79.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (at == null) {
    	try {
    	throw new NullPointerException();
    	}catch (Exception e) {
    	e.printStackTrace();
    	throw new NullPointerException();
    	}
    }

    проверка корректности полученного аргумента в функции.
    хорошо придумано, что бы не вызывать
    throw new IllegalArgumentException();

    maxt, 13 Марта 2010

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

    −369.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
    Процедура СформироватьТаблицуГрафика()
    	//Заполнение месяцев
    	Для НомерМесяца = 1 По 12 Цикл
    		
    		НомерГода = Число(Прав(Год(ТекущаяДата()), 1));
    		ДатаМесяца = Дата(НомерГода, НомерМесяца, 1);
    		ДнейВМесяце = День(КонецМесяца(ДатаМесяца));
    
    		НоваяСтрока = КалендарьНаборЗаписей.Добавить();
    		НазваниеМесяца = Формат(ДатаМесяца, "ДФ=""ММММ""");
    		НоваяСтрока.Установить(0, НазваниеМесяца);
    		НоваяСтрока.НомерМесяца = НомерМесяца;
    		
    	КонецЦикла;
    КонецПроцедуры

    Помимо дикости написанного, эта штука не работает в 2010 году.

    Зарплата и Управление Персоналом 2.5.18.3

    Smallrat, 12 Марта 2010

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

    −125.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Сумма   = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(
    		СуммаВал,
    		ВалютаДокумента,
    		ВалютаВзаиморасчетов,
    		МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаДокумента,Дата).Курс,
    		МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаВзаиморасчетов,Дата).Курс,
    		МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаДокумента,Дата).Кратность,
    		МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаВзаиморасчетов,Дата).Кратность);

    Решение имеет статус 1С:Совместно.
    Один из ведущих партнеров 1С.
    Такой код во многих местах.

    Euguln, 12 Марта 2010

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

    −126.4

    1. 1
    2. 2
    НСтрока = ДокументОбъект.Товары.Добавить();
    НСтрока.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт",,,НСтрока.Номенклатура);

    luns, 12 Марта 2010

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