-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
if ($is_home) {
echo '<script>
function chkcbfrm() {
var el = $(\'#inppleasecallback\')[0];
if ((el.value == \'\') || (el.value == el.defaultValue)) {
alert(\'Введите номер телефона...\');
return false;
} else
return true;
}
</script>';
echo '<form method="post" id="frmcallback" onsubmit="return chkcbfrm();">';
echo '<p>Введите пожалуйста телефон в формате +7-3812-XXXXXX</p>';
echo '<input type="text" class="textboxcontact" style="width: 220px" id="inppleasecallback" name="please_callback" value="Введите номер телефона" onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value = this.defaultValue;" />';
echo '<a href="#" class="butmore" onclick="if (chkcbfrm()) $(\'#frmcallback\').submit(); return false;">Перезвоните</a>';
echo '<form>';
} else {
$ЕБАНУТЫЙ_ТЕКСТ = 'Введите пожалуйста телефон в формате +7-3812-XXXXXX (код страны - код города - номер), название организации, ФИО контактного лица и предмет интереса (XXX, XXX, металлопрокат, XXXXXX, крановое хозяйство)';
echo '<form method="post" id="frmcallback" onsubmit="if ($(\'#inppleasecallback\')[0].value == $(\'#inppleasecallback\')[0].defaultValue) { alert(\'Введите номер телефона...\'); return false; }">';
echo '<textarea class="textareacontact" style="width: 220px; height: 150px;" id="inppleasecallback" name="please_callback" onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value = this.defaultValue;">'.$ЕБАНУТЫЙ_ТЕКСТ.'</textarea>';
echo '<input class="submitcontact" type="submit" value="Перезвоните" />';
echo '<form>';
}
по просьбе заказчика текст менялся 2-3 раза на дню, за что и получил такое название
shuchkin,
24 Августа 2010
-
−132
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
Если ДатаЧисло(НачДата) < 10 Тогда
ЧислоДата = "0"+ДатаЧисло(НачДата);
Иначе
ЧислоДата = ДатаЧисло(НачДата);
КонецЕсли;
Если ДатаМесяц(НачДата) < 10 Тогда
МесяцДата = "0"+ДатаМесяц(НачДата);
Иначе
МесяцДата = ДатаМесяц(НачДата);
КонецЕсли;
Если ДатаЧисло(КонДата) < 10 Тогда
КонЧислоДата = "0"+ДатаЧисло(КонДата);
Иначе
КонЧислоДата = ДатаЧисло(КонДата);
КонецЕсли;
Если ДатаМесяц(КонДата) < 10 Тогда
КонМесяцДата = "0"+ДатаМесяц(КонДата);
Иначе
КонМесяцДата = ДатаМесяц(КонДата);
КонецЕсли;
/// ... где-то ниже
ЧислоДата+"/"+МесяцДата+"/"+ДатаГод(НачДата)+";"+КонЧислоДата+"/"+КонМесяцДата+"/"+ДатаГод(КонДата)
У меня это ужалось до 2х строк:
ДатаСтр = Строка(Формат(НачДата, "ДDDMMYYYY"));
ДатаСтр = СтрЗаменить(ДатаСтр, ".", "/");
just_geek,
01 Июля 2010
-
+144
- 1
var oneWeekAgo = dateObj.valueOf() - 604800000;
"Ура! у меня есть калькулятор!!1"
mozg_raka,
25 Июня 2010
-
+151
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
function addimagesave()
{
if (!$this->Login->isLogged())
{
$this->loginto();
return;
}
else $this->Login->Update();
$error = '';
$recordExists = false;
$post_name = trim($this->input->post('name'));
if ($post_name != '') $insert['file_name'] = $post_name;
// now need to get from db if id_all in i_pics
$this->db->where('id_all',$this->input->post('id_all'));
$this->db->limit(1);
$query = $this->db->get('i_pics');
if ($query->num_rows() == 1)
{
$row = $query->row();
$recordExists = true;
$file_name = $row->file_name;
$id_pics = $row->id_pics;
}
if (isset($_FILES['upload']) && ($_FILES['upload']['error'] == 0)) // is file loaded?
{
$ext = getExtensionOnly($_FILES['upload']['name']);
if ($post_name != '') $_FILES['upload']['name'] = $post_name.'.'.$ext;
else $post_name = delExtensionWithDot($_FILES['upload']['name']);
$_FILES['upload']['name'] = translitIt(delExtensionWithDot($_FILES['upload']['name'])).'.'.$ext;
$config['upload_path'] = './pics/';
$config['allowed_types'] = 'gif|jpg|png|bmp';
$this->load->library('upload', $config);
if ($this->upload->do_upload('upload'))
{
$this->General->setEmes(array('roster'=>"Картинку загружено."), true);
$data = $this->upload->data();
$insert['file_name'] = $data['file_name'];
// resize now
$config1['image_library'] = 'gd2'; // выбираем библиотеку
$config1['source_image'] = 'pics/'.$data['file_name'];
$config1['create_thumb'] = TRUE; // ставим флаг создания эскиза
$config1['maintain_ratio'] = true; // сохранять пропорции
$config1['width'] = 250; // и задаем размеры
$config1['height'] = 180;
// pre crack image for resizing! )))
$this->load->model('Image');
$this->Image->smartsigninto('pics/'.$data['file_name'], 250, 180);
$this->load->library('image_lib', $config1); // загружаем библиотеку
$this->image_lib->resize(); // и вызываем функцию
// now rename and owerwrite original image
$ext = getExtensionOnly($data['file_name']);
$fol = "pics/";
if (is_file($fol.$data['raw_name'].'_thumb.'.$ext))
rename($fol.$data['raw_name'].'_thumb.'.$ext, $fol.$data['file_name']);
else $this->General->setEmes(array('roster'=>"Файл *_thumb не был создан!"));
// now set new file size
$insert['size'] = round(filesize($fol.$data['file_name'])/1024 , 2);
}
else $this->General->setEmes(array('roster'=>$this->upload->display_errors()));
}
else // we need to try to rename assigned file if name is not empty and file exists
{
if ($recordExists && is_file('pics/'.$file_name) && ($post_name != ''))
{
$ext = getExtensionOnly($file_name);
$fol = "pics/";
$newName = translitIt($post_name).'.'.$ext;
if (is_file('pics/'.$newName))
{
$this->General->setEmes(array('roster'=>"Имя уже существует"), true);
$insert['file_name'] = $file_name;
}
else
{
rename($fol.$file_name, $fol.$newName);
$insert['file_name'] = $newName;
}
}
}
// prepare data to be ins or upd
$insert['lang'] = 'ru';
$insert['title'] = $this->input->post('title');
$insert['alt'] = $this->input->post('alt');
$insert['id_all'] = $this->input->post('id_all');
if ($recordExists)
{
$this->db->where('id_pics',$id_pics);
$this->db->update('i_pics', $insert);
$this->General->setEmes(array('roster'=>"Данные обновлены"), true);
}
else $this->db->insert('i_pics', $insert);
$this->redirect('roster/'.$this->input->post('type'));
}
Функция - контроллер сохранения, resize на лету картинки для новости или прочей байды. Есть все проверки. Любая картинка которая приходит, становится размером 250, 180 , причем без растяжения. Это задача типа вписать прямоугольник в прямоугольник, которую я сейчас ночью выполнил - даже если картинка меньше оно впишет. I must be proud about this functionality! Заметим, что в интернете все и умеют что вырезать квадраты из картинки, а произвольный размер - НЕТ такого. Код выложен чтобы вы посмотрели, нравятся ли вам имена переменных, логическое мышление, форматирование, коментарии (на русском - то не мои коментарии). Код CodeIgniter powered.
increazon,
25 Июня 2010
-
+147
- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
int main()
{
setlocale(LC_ALL, "Russian");
int chisl,znam,cel;
Fraction fA,fB,fC;
cout<<"Введите fA в виде двух чисел\n";cin>>fA.chisl>>fA.znam;
cout<<"Введите fB в виде двух чисел\n";cin>>fB.chisl>>fB.znam;
cout<<"Введите целое число\n";cin>>cel;
if ((fA.znam!=0)&&(fB.znam!=0)&&(cel!=0))
{
fC=fA+fB;
fC.getFraction(chisl,znam);
if((znam!=1)&&(chisl!=0))
cout<<"Сумма: "<< chisl << "/" << znam <<'\n';
else
cout<<"Сумма: "<< chisl <<'\n';
fC=fA-fB;
fC.getFraction(chisl,znam);
if ((znam!=1)&&(chisl!=0))
cout<<"Разность: "<< chisl << "/" << znam <<'\n';
else
cout<<"Разность: "<< chisl <<'\n';
fC=fA*fB;
fC.getFraction(chisl,znam);
if ((znam!=1)&&(chisl!=0))
cout<<"Произведение: "<< chisl << "/" << znam <<'\n';
else
cout<<"Произведение: "<< chisl <<'\n';
fC=fA/fB;
fC.getFraction(chisl,znam);
if((znam!=1)&&(chisl!=0)&&(znam!=0))
cout<<"Частное: "<< chisl << "/" << znam <<'\n';
else if(znam==0)
cout<<"Частного дробей не существует\n";
else if(znam==1)
cout<<"Частное: "<< chisl <<'\n';
else
cout<<"Частное: 0\n";
fC=fA+cel;
fC.getFraction(chisl,znam);
if((znam!=1)&&(chisl!=0))
cout<<"Сумма первой дроби и целого числа: "<< chisl << "/" << znam <<'\n';
else
cout<<"Сумма первой дроби и целого числа: "<< chisl <<'\n';
fC=fA-cel;
fC.getFraction(chisl,znam);
if((znam!=1)&&(chisl!=0))
cout<<"Разность первой дроби и целого числа: "<< chisl << "/" << znam <<'\n';
else
cout<<"Разность первой дроби и целого числа: "<< chisl <<'\n';
fC=fA*cel;
fC.getFraction(chisl,znam);
if((znam!=1)&&(chisl!=0))
cout<<"Произведение первой дроби и целого числа: "<< chisl << "/" << znam <<'\n';
else
cout<<"Произведение первой дроби и целого числа: "<< chisl <<'\n';
fC=fA/cel;
fC.getFraction(chisl,znam);
if ((znam!=1)&&(chisl!=0))
cout<<"Частное первой дроби и целого числа: "<< chisl << "/" << znam <<'\n';
else if(znam==1)
cout<<"Частное первой дроби и целого числа: "<< chisl <<'\n';
else
cout<<"Частное первой дроби и целого числа: 0\n";
fC=fB+cel;
fC.getFraction(chisl,znam);
if((znam!=1)&&(chisl!=0))
cout<<"Сумма второй дроби и целого числа: "<< chisl << "/" << znam <<'\n';
else
cout<<"Сумма второй дроби и целого числа: "<< chisl <<'\n';
fC=fB-cel;
fC.getFraction(chisl,znam);
if((znam!=1)&&(chisl!=0))
cout<<"Разность второй дроби и целого числа: "<< chisl << "/" << znam <<'\n';
else
cout<<"Разность второй дроби и целого числа: "<< chisl <<'\n';
fC=fB*cel;
fC.getFraction(chisl,znam);
if((znam!=1)&&(chisl!=0))
cout<<"Произведение второй дроби и целого числа: "<< chisl << "/" << znam <<'\n';
else
cout<<"Произведение второй дроби и целого числа: "<< chisl <<'\n';
fC=fB/cel;
fC.getFraction(chisl,znam);
if ((znam!=1)&&(chisl!=0))
cout<<"Частное второй дроби и целого числа: "<< chisl << "/" << znam <<'\n';
else if(znam==1)
cout<<"Частное второй дроби и целого числа: "<< chisl <<'\n';
else
cout<<"Частное второй дроби и целого числа: 0\n";
fC=~fA;
fC.getFraction(chisl,znam);
if((znam!=1)&&(chisl!=0))
cout<<"Сокращенная дробь равна: "<< chisl << "/" << znam <<'\n';
else
cout<<"Сокращенная дробь равна: "<< chisl <<'\n';
}
else
cout<<"Знаменатель дроби или целое число равны нулю, поэтому дроби не существует"<<'\n';
return 0;
Задача. Определить класс натуральная дробь, объекты которого числитель и знаменатель. Надо перегрузить операторы сложения, вычитания, умножения, делания и сокращения дробей, а так же сложения, вычитания, умножения и деления дроби и целого числа. То есть калькулятор дробей фактически. Написал, как-то жестоко получилось. Добавлю сразу, чтобы не было лишних разговоров. Это не задание в универе, сессия закончилась, каникулы, это для интереса, смотрю то, что мы еще не проходили. Кажется условий слишком много, короче ведь можно сделать?
П.С. Прошу удалить код предыдущей программы, она на транслите и я не думаю что ее будет удобно читать.
ForEveR,
15 Июня 2010
-
+157
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
// Для получения имени компьютера напишите следующий код:
unsigned long Size = MAX_COMPUTERNAME_LENGTH + 1;
char *Buffer = new char[Size];
GetComputerName(Buffer, &Size);
// после выполнения данного кода имя компьютера будет
// содержаться в Buffer. После того, как Buffer перестанет быть
// вам нужным, не забудьте вызвать delete [] Buffer.
/*-------------------*/
//Изменение имени компьютера
// для изменения имени компьютера воспользуйтесь функцией
// SetComputerName
SetComputerName("НОВОЕ_ИМЯ_КОМПЬЮТЕРА");
// не забудьте перезагрузить машину
Имя компьютера - получение и изминение в C++ Builder
(c) webkill http://webkill.ru/content/?id=508
This is obvious,
26 Мая 2010
-
+67.3
- 1
length=length%8==0?0:length+8-length%8;
пытаемся округлить length до 8 в большую сторону...
краткость - сестра ... таланта?
dIsoVi,
24 Декабря 2009
-
0
- 1
https://career.habr.com/vacancies?s[]=2&s[]=3&s[]=82&s[]=4&s[]=5&s[]=72&s[]=1&s[]=75&s[]=6&s[]=77&s[]=7&s[]=83&s[]=84&s[]=8&s[]=85&s[]=73&s[]=9&s[]=86&s[]=106&type=all
Что бы это могло значить...
JloJle4Ka,
31 Января 2023
-
−7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
keys := make([]keyType, 0, len(myMap))
values := make([]valueType, 0, len(myMap))
for k, v := range myMap {
keys = append(keys, k)
values = append(values, v)
}
Как в "Go" у карты взять keys(), и values()?
Нужно написать цикл.
3_dar,
20 Декабря 2021
-
+5
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
// http://cmustdie.com/ - баттхерт анскильных лалок, неосиливших сишку
// Возьмём следующий фрагмент кода на языке Си:
int x = 1;
x = x << sizeof(int) * 8;
// Попробуем предположить, какой результат у нас получится. Допустим, мы скомпилировали этот
// код для процессоров архитектуры ARM. Инструкция битового сдвига в рамках этой аппаратной
// платформы определена так, что итоговым значением переменной "x" должен быть "0". С другой
// стороны, мы можем транслировать нашу программу в машинный код архитектуры x86. И уже там
// битовый сдвиг реализован таким образом, что значение "x" не изменится и останется равным
// "1". Мы могли бы сделать вывод, что результат работы данного фрагмента кода зависит от
// того, для какой аппаратной платформы мы его скомпилировали. Но на самом деле это не так.
// В действительности данный фрагмент кода может быть обработан компилятором любым возможным
// и невозможным образом. Причина в следующем: согласно тексту стандарта языка Си битовый
// сдвиг на величину, большую или равную размеру выражения в битах, является неопределённым
// поведением. Получается, нет никакой гарантии, что этот кусок кода вообще будет работать.
Охуеть конечно
j123123,
12 Ноября 2021