- 1
MessageBox(0,'Для ScreenShot''инга необходимо нажать клавишу PrtScr ,а затем нажать Scroll Lock; ScreenShot''ы будут нахоится в папке c:\ScreenShot\','Программа ScreenShoter V1.0 by XXX: ',0);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+155
MessageBox(0,'Для ScreenShot''инга необходимо нажать клавишу PrtScr ,а затем нажать Scroll Lock; ScreenShot''ы будут нахоится в папке c:\ScreenShot\','Программа ScreenShoter V1.0 by XXX: ',0);
Scroll Lock. O_o
+152.9
procedure TForm1.Button3Click(Sender: TObject);
begin
messagebox(0,'Программа RegWinV0.81 by XXX. Использование данной программы является нарушением лицензии Microsoft!!! Автор не несёт ответственности за проблемы и поломки компьютера при использовании '+
'данной программы!!!',
'О программе RegWin',0);
end;
XXX - имя автора (заменено, что-бы не палить).
+152.9
procedure TForm1.Button2Click(Sender: TObject);
var i:dword;
begin
if (Checkbox1.Checked)or(Checkbox3.Checked)or(Checkbox2.Checked) then
begin
form1.Cursor:=crhourglass;
Sleep(500);
progressbar1.Position:=10;
Sleep(1000);
progressbar1.Position:=20;
Sleep(500);
progressbar1.Position:=50;
Sleep(1000);
progressbar1.Position:=100;
Sleep(500);
end;
Трудимся в поте лица. :D
+152.9
procedure tplayext.play(iname:string);
begin
cd:=false;
try
form1.MediaPlayer1.Close;
form1.MediaPlayer1.filename:=iname;
form1.label10.Caption:=iname;
form1.MediaPlayer1.Open;
form1.MediaPlayer1.play;
except
next;
cd:=true;
end;
end;
procedure tplayext.init(iext:string);
begin
name:='';
paused:=false;
allplayed:=false;
ext:=iext;
TRY
io:=findfirst(ext,faanyfile,f);
EXCEPT
END;
if io<>0 then
begin
done;
exit;
end;
name:=f.Name;
play(name);
end;
procedure tplayext.playplease;
begin
if stoped then next;
end;
procedure tplayext.next;
begin
TRY
io:=findnext(f);
EXCEPT
END;
if io <>0 then
begin
done;
exit;
end;
name:=f.Name;
play(name);
end;
procedure tplayext.done;
begin
TRY
form1.MediaPlayer1.close;
findclose(f);
EXCEPT
END;
allplayed:=true;
end;
Особенно прикалывает вызов метода play в методе next и вызов метода next в методе play.
Рекурсия!!!!!1111
+144.8
FUNCTION PCHARTOSTRING(pc:pchar):string;
VAR
s:string;
//P:PCHAR;
I:word;
//O:WORD;
BEGIN
FOR I:=1 TO 255 DO
begin
if pc[i]=#0 then
s[i]:=pc[i-1];
begin
setlength(s,i);
PCHARTOSTRING:=s;
exit;
end;
end;
setlength(s,255);
PCHARTOSTRING:=s;
END;
И это в Дельфи. O_o
+100.3
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;
Вот так вот.
+99.3
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
+96.5
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
+98.7
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
+87.9
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