-
Лучший говнокод
- В номинации:
-
- За время:
-
-
−124
- 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
////////////////////////////////////////////////////////////////////
////////Преобразование горизонтали в вертикаль с дурацким циклом////
///////////////////////////////////////////////////////////////////
ТекДата = ТекущаяДата();
ТекущийГод = НачалоГода(ТекДата);
ТекущийМесяц = НачалоМесяца(ТекДата);
Пока Выборка.Следующий() Цикл
ДатаЯнварь = ТекущийГод;
Если ДатаЯнварь >= ТекущийМесяц Тогда
Январь = ПланПост.Добавить();
Январь.Организация =Выборка.Организация;
Январь.Расход = Выборка.ПродажиЯнварь;
Январь.НормОст = Выборка.ОстаткиФевраль;
Январь.МесяцПрихода = ТекущийГод;
КонецЕсли;
ДатаФевраль = ДобавитьМесяц(ТекущийГод, 1);
Если ДатаФевраль >= ТекущийМесяц Тогда
Февраль = ПланПост.Добавить();
Февраль.Организация =Выборка.Организация;
Февраль.Расход = Выборка.ПродажиФевраль;
Февраль.НормОст = Выборка.ОстаткиМарт;
Февраль.МесяцПрихода = ДатаФевраль;
КонецЕсли;
ДатаМарт = ДобавитьМесяц(ТекущийГод, 2);
Если ДатаМарт >= ТекущийМесяц Тогда
Март = ПланПост.Добавить();
Март.Организация =Выборка.Организация;
Март.Расход = Выборка.ПродажиМарт;
Март.НормОст = Выборка.ОстаткиАпрель;
Март.МесяцПрихода = ДатаМарт;
КонецЕсли;
ДатаАпрель = ДобавитьМесяц(ТекущийГод, 3);
Если ДатаАпрель >= ТекущийМесяц Тогда
Апрель = ПланПост.Добавить();
Апрель.Организация =Выборка.Организация;
Апрель.Расход = Выборка.ПродажиАпрель;
Апрель.НормОст = Выборка.ОстаткиМай;
Апрель.МесяцПрихода = ДатаАпрель;
КонецЕсли;
ДатаМай = ДобавитьМесяц(ТекущийГод, 4);
Если ДатаМай >= ТекущийМесяц Тогда
Май = ПланПост.Добавить();
Май.Организация =Выборка.Организация;
Май.Расход = Выборка.ПродажиМай;
Май.НормОст = Выборка.ОстаткиИюнь;
Май.МесяцПрихода = ДатаМай;
КонецЕсли;
Была ТЧ в документе с колонками-названиями месяцев....И руководство поставило задачу вывести ЭТО в отчет...На СКД....
Necessitudo,
19 Марта 2012
-
+142
- 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
/**
* Конфигурация программы
*
* 2 конструктора:
- по умолчанию - загружающий данные из файла настроек (см. Configuration.CONFIGURATION_FILENAME);
- с одним параметром java.util.Properties - загружающий данные данные из него.
- метод save()
- без параметра - записывает данные в Configuration.CONFIGURATION_FILENAME
- с одним параметром java.util.Properties - записывает данные в него.
*/
public class Configuration {
public static final String CONFIGURATION_FILENAME = System.getProperty("user.home") + "/serialmon/1.properties";
private PortConfig firstPort;
private PortConfig secondPort;
private String logFileName;
private int logWidth;
public Configuration() {
this.firstPort = new PortConfig();
this.secondPort = new PortConfig();
Properties pp = new Properties();
try {
File PropFile = new File(CONFIGURATION_FILENAME);
if (!PropFile.exists()) {
PropFile.createNewFile();
}
FileInputStream inPropFile = new FileInputStream(CONFIGURATION_FILENAME);
pp.load(inPropFile);
setProperties(pp);
} catch (IOException e) {
e.printStackTrace();
}
}
public Configuration(Properties p) {
this.firstPort = new PortConfig();
this.secondPort = new PortConfig();
setProperties(p);
}
/**
* вспомогательный метод. В идеале можно было обойтись без него, вызывая из конструктора по умолчанию
* конструктор с параметром Properties, но ПЕРЕД вызовом этого конструктора нужно было
* загрузить данные из файла в Properties pp, а потом уже вызвать конструктор.
* Это сделать не возможно, т.к. вызов конструктора должен быть ПЕРВЫМ.
*
* @param pp
*/
private void setProperties(Properties pp){
this.setLogFileName(pp.getProperty("logFileName"));
this.setLogWidth(Integer.parseInt(pp.getProperty("logWidth")));
}
/**
* - метод save()
* без параметра - записывает данные в Configuration.CONFIGURATION_FILENAME
*/
public void save() {
Properties pp = new Properties();
save(pp);
try {
FileOutputStream outPropFile = new FileOutputStream(CONFIGURATION_FILENAME);
pp.store(outPropFile, null);
} catch(IOException ex) {
ex.printStackTrace();
}
}
/**
* - с одним параметром java.util.Properties - записывает данные в него.
*
* @param p
*/
public void save(Properties p) {
p.put("logFileName", this.getLogFileName());
p.put("logWidth", String.valueOf(this.getLogWidth()));
}
Товарищи, возникла необходимость создания двух конструкторов. Хочется вызвать один из другого, чтобы было красиво, НО перед вызовом второго, который с параметром Properties, нужно установить этот самый параметр, а потом уже передать его.
Т.е. нужно в конструкторе по умолчанию сделать такое:
Properties p = new Properties();
p.set(бла бла бла);
THIS(P); // как вы понимаете, компилятор будет ругаться, что вызов THIS должен быть ПЕРВЫМ в конструкторе.
вызов типа this(new Properties), не годится.
сейчас, как можно видеть, использую вспомогательный метод setProperties, как раз без которого было бы идеально.
kikis,
18 Марта 2012
-
+142
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
using System;
namespace Trening_6
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Введите 2 числа через пробел...");
string[] Value = Console.ReadLine().Split(new char[] {' '});
int Result = 0;
for (int i = Convert.ToInt32(Value[0]); i < Convert.ToInt32(Value[1]) + 1; i++)
{
Result += i;
}
Console.WriteLine("Сумма всех чисел в диапозоне от {0} до {1} равна {2}", Convert.ToInt32(Value[0]), Convert.ToInt32(Value[1]), Result);
Console.ReadKey();
}
}
}
Говнище еще свежее, неделю назад высрал.
KusokGovna,
16 Марта 2012
-
−83
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
-(void)makeItemavAilableWithName:(NSString*) name{
[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:name];
}
-(BOOL)isItemAvaliableWithName:(NSString*) name{
//item could be a chracter or a world
return [[[NSUserDefaults standardUserDefaults] valueForKey:name]boolValue];
}
Вот так вот мы сохраняем булевые переменные в UserDefaults. Оригинальная орфография и пунктуация сохранены
SevInf,
12 Марта 2012
-
+161
- 1
- 2
- 3
- 4
- 5
LostFocus = function() {
if (!IE) { // Этот код только для взрослых. Браузерам до 18 сюда нельзя!
// ...
}
}
Комментарий просто убил.
DropWorld,
08 Марта 2012
-
+75
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
for (i = 0; i < pArgs.length; ++i) {
if (!(pArgs[i].equalsIgnoreCase("-startable"))) {
continue;
}
// ... обработка
return true;
}
for (i = 0; i < pArgs.length; ++i) {
if (!(pArgs[i].equalsIgnoreCase("-isRunning"))) {
continue;
}
// ... обработка
return true;
}
for (i = 0; i < pArgs.length; ++i) {
if (!(pArgs[i].equalsIgnoreCase("-shutdown"))) {
continue;
}
// ... обработка
return true;
}
из main()а жаба аппликухи. и еще три таких цикла для еще трех параметров коммандной строки.
любимая тонкость (которая сюда не попала): на ошибки коммандной строки бросается IndexOutOfBoundsException.
ЗЫ а че в жабе нет штатного парсера коммандной строки? как-то загадочно. хотя если задуматся и вспомнить что писали жабу юниксоиды, которые сами тридцать лет толковго штатного парсера коммандной строки сделать не могли, то становится в какой-то степени даже логично.
Dummy00001,
08 Марта 2012
-
−85
- 1
http://pastebin.com/UaTdN6K2
А выложу ка я это тут.
Гуано трёхлетней выдержки. Фрагментации не поддаётся. Ныне отправлено на удобрения.
krypt,
06 Марта 2012
-
+153
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
// Проверка на взлом куков
$sql2 = mysql_query("SELECT * FROM `gl_users` WHERE username = '".$_COOKIE['username']."' ");
$row = mysql_fetch_assoc($sql2);
if($_COOKIE['password'] != $row['password'] OR (isset($_COOKIE['member_id']) AND !preg_match('/^[0-9]+$/', $_COOKIE['member_id']))) {
setcookie('logined','0',time() +3600*24*30);
setcookie('member_id','',time() +3600*24*30);
setcookie('username','',time() +3600*24*30);
setcookie('password','',time() +3600*24*30);
header('Location: ?');
die();
}
Слил двиг знакомого, нашел это в конце конфига *facepalm*
dellok,
27 Февраля 2012
-
+994
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
http://paste.org.ru/?qgrubj
http://paste.org.ru/?r6kovp
#define X3J11_CallFunction(WinApi,FuncHash,ModHash,...) \
((sizeof(WinApi(__VA_ARGS__),'~')),(X3J11_Gate<FuncHash,ModHash,boost::add_pointer<BOOST_TYPEOF(WinApi)>::type>(__VA_ARGS__)))
#define X3J11_CallOverload(Signature,FuncHash,ModHash,...) \
((sizeof(((boost::add_pointer<Signature>::type)0)(__VA_ARGS__),'~')),(X3J11_Gate<FuncHash,ModHash,boost::add_pointer<Signature>::type>(__VA_ARGS__)))
63F45EF45RB65R6VR,
24 Февраля 2012
-
+155
- 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
<?php
//скрипт для выполнения SQL запросов
function runQuery($str = false, $returnType='', $indexField = false, $from = false, $limit = false, $aggregate = false)
{
if (!$str){ //Проверка на наличие SQL
return false;
}
//Будем сохранять SQL запросы с результатами в cache
//Для этого создадим массив глобальный
if (!isset($GLOBALS['dbcache'])){
$GLOBALS['dbcache'] = array();
}
//Но использовать этот cache не будем
if (0 && isset($GLOBALS['dbcache'][$str])){
$this->cached = true;
return $GLOBALS['dbcache'][$str];
}
//...
//Строки для получения данных с SQL, записываються в $retValue
//...
//Вот получили результат, сохраним его в ранее заданный массив
if ($str != 'SELECT LAST_INSERT_ID()'){
$GLOBALS['dbcache'][$str] = $retValue;
}
return $retValue;
}
Трудясь над проектом, не понимал, куда используется вся память.
Решил выяснить и наткнулся на такое, что и было основной причиной.
Edd,
17 Февраля 2012