- 1
ДатаНачалаПериода = НачалоМесяца(Дата(Строка(Формат(ТекущийГод, "ЧГ=0")) + Строка(ТекущийМесяц) + "01"));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−176.1
ДатаНачалаПериода = НачалоМесяца(Дата(Строка(Формат(ТекущийГод, "ЧГ=0")) + Строка(ТекущийМесяц) + "01"));
Фрагмент кода от разработчиков конфигурации. Дело в том, что дату начала текущего месяца можно получить как НачалоМесяца(ТекущаяДата()). Даже если предположить, что переменные "ТекущийГод" и "ТекущийМесяц" содержат не актуальные значения (например, при перерасчете прошлых документов), достаточно выполнить НачалоМесяца(Дата(ТекущийГод, ТекущийМесяц, 1))
+158.9
static $badwords = array(
...
'(?<=[_\d]) [гg]_?[оo]_?[вvb]_?[нnh]_?[оoаaяеeyу]', #говн[оаяеу]
...
);
самый дословный (мета-)говнокод.
из censure.php -- Функция пытается определить наличие мата (нецензурных, матерных слов) в html-тексте.
http://forum.dklab.ru/viewtopic.php?t=17146
+101.9
function DatePlusOneDay(Date: TDate): TDate;
var
Day, Month, Year: string;
begin
Day := Copy(DateToStr(Date), 1, 2);
Month := Copy(DateToStr(Date), 4, 2);
Year := Copy(DateToStr(Date), 7, 4);
if frac(StrToFloat(Year) / 4) <> 0 then
if (Month = '01') or (Month = '03') or (Month = '05') or (Month = '07') or (Month = '08') or (Month = '10') or (Month = '12') then
if Day <> '31' then
if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
else Day := IntToStr(StrToInt(Day) + 1)
else
begin
Day := '01';
if StrToInt(Month) < 9 then
Month := '0' + IntToStr(StrToInt(Month) + 1)
else
if Month = '12' then
begin
Month := '01';
Year := IntToStr(StrToInt(Year) + 1);
end
else Month := IntToStr(StrToInt(Month) + 1);
end
else
if (Month = '04') or (Month = '06') or
(Month = '09') or (Month = '11') then
if Day <> '30' then
if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
else Day := IntToStr(StrToInt(Day) + 1)
else
begin
Day := '01';
if StrToInt(Month) < 9 then Month := '0' + IntToStr(StrToInt(Month) + 1)
else Month := IntToStr(StrToInt(Month) + 1);
end
else
if Day <> '28' then
if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
else Day := IntToStr(StrToInt(Day) + 1)
else
begin
Day := '01';
if StrToInt(Month) < 9 then Month := '0' + IntToStr(StrToInt(Month) + 1)
else Month := IntToStr(StrToInt(Month) + 1);
end
else
if (Month = '01') or (Month = '03') or (Month = '05') or (Month = '07') or (Month = '08') or (Month = '10') or (Month = '12') then
if Day <> '31' then
if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
else Day := IntToStr(StrToInt(Day) + 1)
else
begin
Day := '01';
if StrToInt(Month) < 9 then
Month := '0' + IntToStr(StrToInt(Month) + 1)
else
if Month = '12' then
begin
Month := '01';
Year := IntToStr(StrToInt(Year) + 1);
end
else
Month := IntToStr(StrToInt(Month) + 1);
end
else
if (Month = '04') or (Month = '06') or
(Month = '09') or (Month = '11') then
if Day <> '30' then
if StrToInt(Day) < 9 then
Day := '0' + IntToStr(StrToInt(Day) + 1)
else
Day := IntToStr(StrToInt(Day) + 1)
else
begin
Day := '01';
if StrToInt(Month) < 9 then
Month := '0' + IntToStr(StrToInt(Month) + 1)
else
Month := IntToStr(StrToInt(Month) + 1);
end
else
if Day <> '28' then
if StrToInt(Day) < 9 then
Day := '0' + IntToStr(StrToInt(Day) + 1)
else
Day := IntToStr(StrToInt(Day) + 1)
else
begin
Day := '01';
if StrToInt(Month) < 9 then
Month := '0' + IntToStr(StrToInt(Month) + 1)
else
Month := IntToStr(StrToInt(Month) + 1);
end;
DatePlusOneDay := StrToDate(Day + '.' + Month + '.' + Year);
end;
Писалось, когда не знали о эквиваленте (Date + 1)
+158.8
function h_circle_1_view() {
document.getElementById("circle_1").style.display = "block";
document.getElementById("circle_2").style.display = "none";
document.getElementById("circle_3").style.display = "none";
document.getElementById("circle_4").style.display = "none";
document.getElementById("circle_5").style.display = "none";
}
function h_circle_1_none() {
document.getElementById("circle_1").style.display = "none";
}
function h_circle_2_view() {
document.getElementById("circle_1").style.display = "none";
document.getElementById("circle_2").style.display = "block";
document.getElementById("circle_3").style.display = "none";
document.getElementById("circle_4").style.display = "none";
document.getElementById("circle_5").style.display = "none";
}
function h_circle_2_none() {
document.getElementById("circle_2").style.display = "none";
}
function h_circle_3_view() {
document.getElementById("circle_1").style.display = "none";
document.getElementById("circle_2").style.display = "none"; // прячем 1, 2
document.getElementById("circle_3").style.display = "block"; // показываем 3
document.getElementById("circle_4").style.display = "none";
document.getElementById("circle_5").style.display = "none";
}
function h_circle_3_none() {
document.getElementById("circle_3").style.display = "none";
}
function h_circle_4_view() {
document.getElementById("circle_1").style.display = "none";
document.getElementById("circle_2").style.display = "none";
document.getElementById("circle_3").style.display = "none"; // прячем 1, 2
document.getElementById("circle_4").style.display = "block"; // показываем 3
document.getElementById("circle_5").style.display = "none";
}
function h_circle_4_none() {
document.getElementById("circle_4").style.display = "none";
}
function h_circle_5_view() {
document.getElementById("circle_1").style.display = "none";
document.getElementById("circle_2").style.display = "none";
document.getElementById("circle_3").style.display = "none"; // прячем 1, 2
document.getElementById("circle_4").style.display = "none"; // показываем 3
document.getElementById("circle_5").style.display = "block";
}
function h_circle_5_none() {
document.getElementById("circle_5").style.display = "none";
}
Натолкнулся вот при тестировании одного проекта
+135.1
if ((Owner as Form1).ZakazdataGrid.Columns.Count == 0)
{
(Owner as Form1).ZakazdataGrid.Columns.Add("KodTov", "");
(Owner as Form1).ZakazdataGrid.Columns.Add("NazvaTov", "Товар");
(Owner as Form1).ZakazdataGrid.Columns.Add("Kolvo", "Кол-во");
(Owner as Form1).ZakazdataGrid.Columns.Add("NazvaEd", "Ед.");
(Owner as Form1).ZakazdataGrid.Columns.Add("Suma", "Сумма");
(Owner as Form1).ZakazdataGrid.Columns.Add("KolEd", "");
(Owner as Form1).ZakazdataGrid.Columns.Add("Sostavnoy", "");
(Owner as Form1).ZakazdataGrid.Columns.Add("Sostav", "");
(Owner as Form1).ZakazdataGrid.Columns["Sostavnoy"].Visible = false;
(Owner as Form1).ZakazdataGrid.Columns["Sostav"].Visible = false;
(Owner as Form1).ZakazdataGrid.Columns["KodTov"].Visible = false;
(Owner as Form1).ZakazdataGrid.Columns["KolEd"].Visible = false;
(Owner as Form1).ZakazdataGrid.Columns["NazvaTov"].Width = (int)((Owner as Form1).ZakazdataGrid.Width * 0.5);
(Owner as Form1).ZakazdataGrid.Columns["NazvaTov"].SortMode = DataGridViewColumnSortMode.NotSortable;
(Owner as Form1).ZakazdataGrid.Columns["Kolvo"].Width = (int)((Owner as Form1).ZakazdataGrid.Width * 0.15);
(Owner as Form1).ZakazdataGrid.Columns["Kolvo"].SortMode = DataGridViewColumnSortMode.NotSortable;
(Owner as Form1).ZakazdataGrid.Columns["NazvaEd"].Width = (int)((Owner as Form1).ZakazdataGrid.Width * 0.15);
(Owner as Form1).ZakazdataGrid.Columns["NazvaEd"].SortMode = DataGridViewColumnSortMode.NotSortable;
(Owner as Form1).ZakazdataGrid.Columns["Suma"].Width = (int)((Owner as Form1).ZakazdataGrid.Width * 0.2);
(Owner as Form1).ZakazdataGrid.Columns["Suma"].SortMode = DataGridViewColumnSortMode.NotSortable;
(Owner as Form1).ZakazdataGrid.RowsDefaultCellStyle.Font = new Font("Times New Roman", FontSize - 5);
(Owner as Form1).ZakazdataGrid.ColumnHeadersDefaultCellStyle.Font = new Font("Times New Roman", FontSize - 5);
(Owner as Form1).ZakazdataGrid.AlternatingRowsDefaultCellStyle.BackColor = Color.PowderBlue;
(Owner as Form1).ZakazdataGrid.RowsDefaultCellStyle.BackColor = Color.LightSkyBlue;
}
Отсюда: http://sql.ru/forum/actualthread.aspx?tid=688754
:-)
+160
$query="SHOW COLUMNS FROM ".$table;
$result_field=mysql_query($query);
$num_field=mysql_num_rows($result_field);
for ($i = 0; $i<$num_field; $i++)
{
$row=mysql_fetch_array($result_field);
$field_array[$i]=$row[0];
}
foreach ($field_array as $field)
$select_field.=$field.',';
$select_field=substr($select_field,0,-1);
$query='select '.$select_field.' from '.$table;
...
Аналог $query='select * from '.$table;
+149
$from = isset($_POST[$query[0]])? $_POST[$query[0]] : isset($_GET[$query])? $_GET[$query[0]]: null;
Выдавил
+28
COMMAND command;
BUFFER Buffer1;
BUFFER Buffer2;
...
byte NetSend(byte*& data, int& size)
{
byte fErr = NO_ERRORS;
char* const Data = (char* const)data;
if(Data != 0)
{
if(Data[0] != 0)
{
Buffer1.writeData(Data,size,NULL);
command='Send';
byte fErr=net.sendCommand(command,Buffer1);
}
else
{
Buffer2.writeData(Data,size,NULL);
command='SendFast';
byte fErr=net.sendCommand(command,Buffer2);
};
}
else
{
byte fErr=SEND_PARAM_ERROR;
}
return fErr;
};
Зачем же автор завёл два Buffer? :D
+134
int* a=new int;
...
constant=1/*a;
...
Один студент в блокноте писал...
+6.9
#ifndef SOCHET_H
#define SOCHET_H
// Сдвигает самую младшую единицу в сторону младшего разряда
#define shiftLast1Right(x) ( (x-1)^((x^(x-1)) >> 2) )
// Дописывает 1 после самой младшей единицы
#define add1AfterLast1(x) ( x | ((x^(x-1))+1) >> 2 )
template<class T>
class Sochet
{
public:
T value;
//////////////////////////////////////////////////////////////////////////
Sochet():value(0) { }
Sochet(int n, int k) {
firstTurn(n, k);
}
~Sochet() {
value = 0;
}
//////////////////////////////////////////////////////////////////////////
// Первая комбинация
// В первоначальной ситуации все К единиц располагаются в старших битах
void firstTurn(int n, int k) {
value = ( ( T(1) << k ) - 1 ) << (n - k);
}
// Нахождение следующей комбинации
// Возвращает false в случае последней комбинации
bool nextTurn()
{
// Отлов последней комбинации
if (value & (value+1) == 0)
return false;
// Условие по младшему биту: 1 или 0
if (value & 1)
{
value >>= 1;
nextTurn();
value = add1AfterLast1(value << 1);
} else
value = shiftLast1Right(value);
return true;
}
}
#endif // SOCHET_H
Шаблон перебора всех сочетаний/выборок в много разрядных числах.
Пример перебираемых чисел для N=5, K=3:
11100
11010
11001
10110
10101
10011
01110
01101
01011
00111
// Код выглядит сочно(особенно дефайны), зато всё работает максимально быстро.
// Статья про этот алгоритм: http://k06a.blogspot.com/2009/04/blog-post_08.html