- 1
- 2
- 3
i := -7; // если после этой строчки загнать в отладчик i shr 1, то отладчик покажет -4
i := i shr 1; // после этой строчки i становится равно 2147483644
i := (-7) shr 1; // после этой строчки i становится равно 4
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+101
i := -7; // если после этой строчки загнать в отладчик i shr 1, то отладчик покажет -4
i := i shr 1; // после этой строчки i становится равно 2147483644
i := (-7) shr 1; // после этой строчки i становится равно 4
Delphi7 такой Delphi7...
http://www.gamedev.ru/code/forum/?id=138759&page=25#m367
Тарас любит дельфи.
+105
procedure TForm2.FormCreate(Sender: TObject);
begin
SpeedButton1.Left := Form2.ClientWidth div 2 - SpeedButton1.Width;
SpeedButton1.Top := Form2.ClientHeight div 2 - SpeedButton1.Height;
SpeedButton2.Left := Form2.ClientWidth div 2;
SpeedButton2.Top := Form2.ClientHeight div 2 - SpeedButton2.Height;
SpeedButton3.Left := Form2.ClientWidth div 2 - SpeedButton3.Width;
SpeedButton3.Top := Form2.ClientHeight div 2;
SpeedButton4.Left := Form2.ClientWidth div 2;
SpeedButton4.Top := Form2.ClientHeight div 2;
end;
+100
case
0: FilterList.Add('RCHECK = '+''''+'+'+'''');
1: FilterList.Add('RCHECK = '+''''+'-'+'''');
...
Автор кода жжот. Код реально работает. Но прочитать такое даже автор по прошествии года не сможет.
Можно было проще
0:FilterList.Add('RCHECK = ''+''');
+123
function HexWrdToStr(Dval : integer) : string;
var i : integer;
retstr : string;
begin
retstr := '';
i := (Dval AND $F000) DIV $1000;
case i of
0 : retstr := retstr + '0';
1 : retstr := retstr + '1';
2 : retstr := retstr + '2';
3 : retstr := retstr + '3';
4 : retstr := retstr + '4';
5 : retstr := retstr + '5';
6 : retstr := retstr + '6';
7 : retstr := retstr + '7';
8 : retstr := retstr + '8';
9 : retstr := retstr + '9';
10 : retstr := retstr + 'A';
11 : retstr := retstr + 'B';
12 : retstr := retstr + 'C';
13 : retstr := retstr + 'D';
14 : retstr := retstr + 'E';
15 : retstr := retstr + 'F';
end;
i := (Dval AND $F00) DIV $100;
case i of
0 : retstr := retstr + '0';
1 : retstr := retstr + '1';
2 : retstr := retstr + '2';
3 : retstr := retstr + '3';
4 : retstr := retstr + '4';
5 : retstr := retstr + '5';
6 : retstr := retstr + '6';
7 : retstr := retstr + '7';
8 : retstr := retstr + '8';
9 : retstr := retstr + '9';
10 : retstr := retstr + 'A';
11 : retstr := retstr + 'B';
12 : retstr := retstr + 'C';
13 : retstr := retstr + 'D';
14 : retstr := retstr + 'E';
15 : retstr := retstr + 'F';
end;
i := (Dval AND $F0) DIV $10;
case i of
0 : retstr := retstr + '0';
1 : retstr := retstr + '1';
2 : retstr := retstr + '2';
3 : retstr := retstr + '3';
4 : retstr := retstr + '4';
5 : retstr := retstr + '5';
6 : retstr := retstr + '6';
7 : retstr := retstr + '7';
8 : retstr := retstr + '8';
9 : retstr := retstr + '9';
10 : retstr := retstr + 'A';
11 : retstr := retstr + 'B';
12 : retstr := retstr + 'C';
13 : retstr := retstr + 'D';
14 : retstr := retstr + 'E';
15 : retstr := retstr + 'F';
end;
i := Dval AND $F;
case i of
0 : retstr := retstr + '0';
1 : retstr := retstr + '1';
2 : retstr := retstr + '2';
3 : retstr := retstr + '3';
4 : retstr := retstr + '4';
5 : retstr := retstr + '5';
6 : retstr := retstr + '6';
7 : retstr := retstr + '7';
8 : retstr := retstr + '8';
9 : retstr := retstr + '9';
10 : retstr := retstr + 'A';
11 : retstr := retstr + 'B';
12 : retstr := retstr + 'C';
13 : retstr := retstr + 'D';
14 : retstr := retstr + 'E';
15 : retstr := retstr + 'F';
end;
HexWrdToStr := retstr;
end;
Авторы - программисты из FTDI, взято из экзамплов работы с USB-конвертерами.
Полный текст можно найти здесь: __http://www.ftdichip.com/Support/SoftwareExamples/CodeExamples/Delphi.htm
З.Ы. Ниже по тексту идет аналогичная функция HexByteToStr. Алгоритм, так сказать, тот же.
+108
if (rmes<>'')and(rmes<>#13#10)and(rmes<>#13#10#13#10)and(rmes<>#13#10#13#10#13#10) then
Эталонный условный оператор прямо из Парижской Дельфийской палатки мер и весов.
+120
VAR
m0:array[0..61,0..41]of byte;
ma:array[1..60,1..40]of byte;
I,J:byte;
BEGIN
randomize;
for I:=0to 61do
for J:=0to 41do
if (I=0) or
(I=61)or
(J=0) or
(J=61)
then m0[I,J]:=0
else m0[I,J]:=random(2);
for I:=1to 60do
for J:=1to 40do
if m0[I,J]=1then ma[I,J]:=9
else ma[I,J]:=m0[ I-1 , J-1 ] +
m0[ I-1 , J ] +
m0[ I+1 , J+1 ]+
m0[ I , J+1 ]+
m0[ I , J-1 ]+
m0[ I-1 , J+1 ]+
m0[ I+1 , J-1 ]+
m0[ I+1 , J ];
... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ...
END.
Начало игры САПЁР. Край массива заполняем нулями,
середину - 0 или 1. В меньшем массиве складываем соседние
клетки (выходит от 0 до 8), если мина - 9.
+120
// Check if You need Administrator-level access to create a folder
try
mkdir(SDirectory + '\~TEST');
except
on E: exception do
begin
if E.message = 'File access denied' then
begin
MessageBox(self.Handle,
'You need Administrator-level access to create this folder', '', MB_ICONERROR);
exit;
end;
end;
end;
RmDir(SDirectory + '\~TEST');
Мартышки плакали, кололись, но продолжали ронять UAC себе на лапки.
+98
case ColorChunkStart of
0 : result := RGB(255,
(255 div ColorChunk) * ColorChunkIndex,
0);
1 : result := RGB(255 - (255 div ColorChunk) * ColorChunkIndex,
255,
0);
2 : result := RGB(0, 255, (255 div ColorChunk) * ColorChunkIndex);
3 : result := RGB(0,
255 - (255 div ColorChunk) * ColorChunkIndex,
255);
4 : result := RGB((255 div ColorChunk) * ColorChunkIndex,
0,
255);
5 : result := RGB(255,
0,
255 - (255 div ColorChunk) * ColorChunkIndex);
else
if WrapToRed <> false then
result := RGB(255, 0, 0) else
result := RGB(255, 0, 255);
end;{Case}
Говно?
+96
procedure TForm1.Timer1Timer(Sender: TObject);//интервал 1 минута
var
f: file of byte;
c: byte;
begin
assignfile(f, 'c:\0.dsk');
if fileexists('c:\0.dsk') then reset(f) else rewrite(f);// :)
c := 0;
write(f, c);
closefile(f);
end;
Процедура "дёрганья" диска ))
+106
function TmainForm1.getLetterFinger( letter: String ): Integer;
begin
letter := UpperCase( letter );
if ( letter = 'Ё' ) or ( letter = '1' ) or ( letter = 'Й' ) or
( letter = 'Ф' ) or ( letter = 'Я' ) or ( letter = '~' ) or
( letter = '!' ) or ( letter = 'Q' ) or ( letter = 'A' ) or
( letter = 'Z' ) or ( letter = 'LSHIFT' ) or ( letter = 'LCTRL' ) or
( letter = 'TAB' ) or ( letter = 'CAPS' ) or ( letter = 'SHIFT' ) then
Result := 1;
if ( letter = '2' ) or ( letter = '@' ) or ( letter = '"' ) or
( letter = 'W' ) or ( letter = 'S' ) or ( letter = 'X' ) or
( letter = 'Ц' ) or ( letter = 'Ы' ) or ( letter = 'Ч' ) then
Result := 2;
if ( letter = '3' ) or ( letter = '№' ) or ( letter = '#' ) or
( letter = 'E' ) or ( letter = 'D' ) or ( letter = 'C' ) or
( letter = 'У' ) or ( letter = 'В' ) or ( letter = 'С' ) then
Result := 3;
if ( letter = '4' ) or ( letter = ';' ) or ( letter = '$' ) or
( letter = 'R' ) or ( letter = 'F' ) or ( letter = 'V' ) or
( letter = 'К' ) or ( letter = 'А' ) or ( letter = 'М' ) or
( letter = '5' ) or ( letter = '%' ) or ( letter = 'Е' ) or
( letter = 'П' ) or ( letter = 'И' ) or ( letter = 'Е' ) or
( letter = 'T' ) or ( letter = 'G' ) or ( letter = 'B' ) then
Result := 4;
if ( letter = 'LSPACE' ) or ( letter = 'LATL' ) then
Result := 5;
if ( letter = 'RSPACE' ) or ( letter = 'RATL' ) then
Result := 6;
if ( letter = '&' ) or ( letter = '?' ) or ( letter = '7' ) or
( letter = 'Y' ) or ( letter = 'U' ) or ( letter = 'H' ) or
( letter = 'J' ) or ( letter = 'N' ) or ( letter = 'M' ) or
( letter = 'Н' ) or ( letter = 'Г' ) or ( letter = 'Р' ) or
( letter = 'О' ) or ( letter = 'Т' ) or ( letter = 'Ь' ) then
Result := 7;
if ( letter = '8' ) or ( letter = '*' ) or ( letter = 'Ш' ) or
( letter = 'Л' ) or ( letter = 'Б' ) or ( letter = ',' ) or
( letter = '<' ) or ( letter = 'K' ) or ( letter = 'I' ) then
Result := 8;
if ( letter = '9' ) or ( letter = '(' ) or ( letter = 'O' ) or
( letter = 'L' ) or ( letter = '.' ) or ( letter = '>' ) or
( letter = 'Щ' ) or ( letter = 'Д' ) or ( letter = 'Ю' ) then
Result := 9;
if ( letter = '0' ) or ( letter = ')' ) or ( letter = '-' ) or
( letter = '_' ) or ( letter = '+' ) or ( letter = '=' ) or
( letter = 'BACKSPACE' ) or ( letter = 'ENTER' ) or
( letter = 'RSHIFT' ) or ( letter = 'P' ) or ( letter = '{' ) or
( letter = '[' ) or ( letter = '}' ) or ( letter = ']' ) or
( letter = ':' ) or ( letter = ';' ) or ( letter = '''' ) or
( letter = '"' ) or ( letter = '/' ) or ( letter = '?' ) or
( letter = '\' ) or ( letter = '/' ) or ( letter = '?' ) or
( letter = '|' ) or ( letter = 'Ж' ) or ( letter = 'Э' ) or
( letter = '.' ) or ( letter = ',' ) or ( letter = 'З' ) or
( letter = 'Х' ) or ( letter = 'Ъ' ) then
Result := 10;
end;
Nuff said.