- 1
- 2
- 3
- 4
- 5
const
found=true;
false=true;
//лжи нет, да будет только правда....
.....
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+84.7
const
found=true;
false=true;
//лжи нет, да будет только правда....
.....
препод долго немог понять как программа вообще работает
%DarkSvesh
+99.9
procedure TConsFrame.FillConsGrid(ConsHistory: TConsumptionHistory;
Date: TDateTime);
var
I: Integer;
begin
for I := 0 to ConsHistory.Count - 1 do
begin
if not (TConsumptionRecord(ConsHistory[I]).State = osDeleted) then
if DateOf(TConsumptionRecord(ConsHistory[I]).Date) = DateOf(Date) then
if ((not FIsSelTime) or
(FIsSelTime and (FSelTime = FormatDateTime('HH:mm', TConsumptionRecord(ConsHistory[I]).Date)))) then
if ((not FIsSelName) or (FIsSelName and (pos(FSelName, TProduct.TGlobalCollection.Products.RecursiveGetNodeByID(TConsumptionRecord(ConsHistory[I]).IDProduct)).Name) > 0))) then
ConsGrid.AddChild(nil, ConsHistory[I]);
end;
end;
Чтобы это безобразие написать пришлось студию на два монитора раздвинуть =)))
И то ладно еще что на 4 проверки разбил - а то в одной вообще страшно было. Потом как оказалось у меня в цикле идет вызов рекурсивной процедуры, короче все виснет. Так что это безобразие в контексте моей программы оказалось еще и бесолезным %)
+92.8
procedure MyLine(X1, Y1, X2, Y2: Integer; Color: TColor; Canvas: TCanvas);
begin
if (Abs(X1 - X2) <= 1) and (Abs(Y1 - Y2) <= 1) then
Canvas.Pixels[X1, Y1] := Color
else
begin
MyLine(X1, Y1, (X1 + X2) shr 1, (Y1 + Y2) shr 1, Color, Canvas);
MyLine((X1 + X2) shr 1, (Y1 + Y2) shr 1, X2, Y2, Color, Canvas);
end;
end;
Когда-то давно очень увлекался рисованием в ДОС-е.
До сих пор помню процедуру быстрого рисования кривой прямой %)
представляю на суд тот же алгоритм.
+106.1
var
x,y,arccos,arctg:real;
begin
y:=arccos(sin(3*x+1.3))-x*exp(ln(e)*arctg(x))+0.7;
...
один умный парень написал ))
−34.5
function IsTrue(Value: boolean): boolean;
begin
if Value <> true then result := false
else if Value <> false then result := true
else // внимание!
result := (not true) and (not false);
end;
+95.4
найдено в коде EhLib в процедуре TCustomDBLookupComboboxEh.CMMouseWheel
if FListVisible then
with TMessage(Message) do
if FDataList.Perform(CM_MOUSEWHEEL, WParam, LParam) <> 0 then
begin
Exit;
Result := 1;
end;
поэтому, если скролить комбобокс на паренте все комбобоксы скролятся тоже. вначале долго жрал.
+107.9
if l<9
then
if r<10
then
s:= inttostr(l)
else
s:= '10'
else
if l<99
then
if r<100
then
s:= inttostr(l)
else
s:= '100'
else
if l<999
then
if r<1000
then
s:= inttostr(l)
else
s:= '1000'
else
if l<9999
then
if r<10000
then
s:= inttostr(l)
else
s:= '10000'
else
if l<99999
then
if r<100000
then
s:= inttostr(l)
else
s:= '100000'
else
if l<999999
then
if r<1000000
then
s:= inttostr(l)
else
s:= '1000000'
else
if l<9999999
then
if r<10000000
then
s:= inttostr(l)
else
s:= '10000000'
else
if l<99999999
then
if r<100000000
then
s:= inttostr(l)
else
s:= '100000000'
else
if l<999999999
then
if r<1000000000
then
s:= inttostr(l)
else
s:= '1000000000';
Нашёл в своём решении какой-то олимпиадной задачи. Долго пытался вспомнить, в каком состоянии был...
+91.1
s := TStringList.Create;
LocalIniFile.ReadSection(sPad, s);
for x := 0 to ActionListMenu.ActionCount - 1 do
begin
for y := 0 to 9 do
begin
for z := 0 to s.Count - 1 do
begin
if (Length(s[z]) <> Length('Tag0')) and (s[z] = 'Tag' + IntToStr(ActionListMenu[x].Tag + y)) then
begin
try
ActionListMenu[x].Execute;
except
end;
end;
end;
end;
end;
s.Free;
Эм, ну комментарии излишни?
+112.2
procedure TForm1.Button2Click(Sender: TObject);
var
result : Tdatetime;
begin
Result := EncodeDate(1970, 1, 1) + ((strtofloat(edit26.Text)+(strtofloat(edit2.Text)*3600)) / 86400); {86400=No. of secs. per day}
edit23.Text := formatdatetime('d', Result);
edit24.Text := formatdatetime('m', Result);
edit25.Text := formatdatetime('yyyy', Result);
edit27.Text := formatdatetime('h', Result);
edit28.Text := formatdatetime('n', Result);
edit29.Text := formatdatetime('s', Result);
edit30.text := datetimetostr(result);
form1.ActiveControl := edit30;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
x,y : extended;
begin
edit12.Text := formatdatetime('d', datetimepicker2.date);
edit17.Text := formatdatetime('m', datetimepicker2.date);
edit18.Text := formatdatetime('yyyy', datetimepicker2.date);
x := (EncodeDate(strtoint(edit18.text), strtoint(edit17.text), strtoint(edit12.text)) - EncodeDate(1970, 1, 1)) * 86400 ;
y := (strtoint(edit20.text)*3600) + (strtoint(edit21.text)*60) + strtoint(edit22.text);
x := x+y-(strtofloat(edit1.Text)*3600);
edit19.Text := floattostr(x);
form1.ActiveControl := edit19;
end;
Особенно старательный ковнокодер, умудрился растянуть на 30 строк то, что реально заняло у меня 8.
ну я не говорю еще про большую описательную часть его кода.
+68.6
function isstring(str1,str2:string):boolean;
begin
result:=(AnsiPos(AnsiLowerCase(str1),AnsiLowerCase(str2))>0)
end;
Функция проверяет, содержит ли строка str2 строку str1 не учитывая регистр.
Возвращает true, если содержит, в противном случае возвращает false.