1. 1C / Говнокод #18206

    −107

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    Процедура ПокрытияКодПокрытияОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
    Покрытия = ЭтаФорма.Покрытия;
    Количество = 0;
    Для Каждого СтрокаПокрытия из Покрытия Цикл 
    Если СтрокаПокрытия.КодПокрытия = Текст Тогда
    Количество = 1;
    КонецЕсли;
    КонецЦикла;
    
    
    Если Количество > 0 Тогда 
    ПоказатьОповещениеПользователя("Ошибка!",,"Такое покрытие уже присутствует в составе изделия", БиблиотекаКартинок.Ошибка);
    НеНайденоПокрытие = Истина;
    Возврат;
    КонецЕсли;
    
    
    НеНайденоПокрытие = Ложь;
    ЭлементыФормы.Покрытия.ТекущиеДанные.СвязьСПокрытиями = Неопределено;
    
    
    Если ЭлементыФормы.Покрытия.ТекущиеДанные <> Неопределено Тогда
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    | Покрытия.Ссылка,
    | Покрытия.НаименованиеПокрытия
    |ИЗ
    | Документ.Покрытия КАК Покрытия
    |ГДЕ
    | Покрытия.КодПокрытия = &КодПокрытия";
    
    
    Запрос.УстановитьПараметр("КодПокрытия", Текст);
    
    
    Результат = Запрос.Выполнить();
    
    
    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    
    
    Если ВыборкаДетальныеЗаписи.Количество() > 0 Тогда
    ВыборкаДетальныеЗаписи.Следующий();
    ЭлементыФормы.Покрытия.ТекущиеДанные.СвязьСПокрытиями = ВыборкаДетальныеЗаписи.Ссылка;
    ЭлементыФормы.Покрытия.ТекущиеДанные.НаименованиеПокрытия = ВыборкаДетальныеЗаписи.НаименованиеПокрытия;
    Иначе
    ПоказатьОповещениеПользователя("Ошибка!",,"Не найдено введенное покрытие", БиблиотекаКартинок.Ошибка);
    ЭлементыФормы.Покрытия.ТекущиеДанные.СвязьСПокрытиями = Неопределено;
    ЭлементыФормы.Покрытия.ТекущиеДанные.НаименованиеПокрытия = Неопределено;
    НеНайденоПокрытие = Истина;
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры

    Моё творение. =)

    Startwar, 20 Мая 2015

    Комментарии (3)
  2. Objective C / Говнокод #18205

    −405

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    /**
    *\brief isinteger
     *isinteger function will check if the NSString is a number or not
     * \Param    NSSting*
     * \return    true or false
     */
    bool isinteger(NSString* theString)
    {
        int myInt;
        NSScanner *theScanner = [NSScanner scannerWithString:theString];
        if ([theScanner scanInt:&myInt] && [theScanner isAtEnd] )
            return true;
        else
            return false;
    }

    Такой чудо-код встретился в проекте.

    EMax, 20 Мая 2015

    Комментарии (9)
  3. PHP / Говнокод #18204

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $act = isset($_REQUEST['act']) ? $_REQUEST['act'] : '';
    	
    	if ($act == 'details') {
    		orders_details();
    	} elseif ($act == 'details_xls') {
    		orders_details_xls();
    	} elseif ($act == 'set_status') {
    		orders_set_status();
    	// ... ещё строчек 30
    	} else {
    		orders_list();
    	}

    Так мы реализуем роутер

    Tairesh, 20 Мая 2015

    Комментарии (5)
  4. PHP / Говнокод #18203

    +140

    1. 1
    http://phpocean.com/tutorials/back-end/create-your-first-desktop-application-with-php-and-php-desktop/4

    верстка самого сайта, phpdesktop, zooboole - у меня жестко бортануло

    Fike, 20 Мая 2015

    Комментарии (17)
  5. C# / Говнокод #18202

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    string q = DateTime.Now.ToString().Substring(3, 3);
    string w = DateTime.Now.ToString().Substring(0, 2);
    string e = DateTime.Now.ToString().Substring(5, DateTime.Now.ToString().Length - 5);
    string dsasd = q + w + e;
    
    CrmDateTimeProperty _new_date_fitst_update_rstatus = new CrmDateTimeProperty();
    _new_date_fitst_update_rstatus.Name = "new_date_first_update_rstatus";
    _new_date_fitst_update_rstatus.Value = new CrmDateTime();
    _new_date_fitst_update_rstatus.Value.Value = dsasd;
    dynamicEntity.Properties.Add(_new_date_fitst_update_rstatus);

    Попался проект на фрилансе. Попросили исправить ошибки. Начал исправлять и вот такое.

    Shturman, 19 Мая 2015

    Комментарии (0)
  6. PHP / Говнокод #18200

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    foreach ($id as $k) {
    		//Помним, что меньший id всегда пишется первым
    		if ($firm_id < $k)
    			{ $a = 1; $b = 2; }
    		else
    			{ $a = 2; $b = 1; }
    			if ($_REQUEST['submit'] == 1) {
                                    //  ...
    			}
    			if ($_REQUEST['submit'] > 1) {
    				sql_query("UPDATE partners SET ".$type.$a.$b." = 1, firm{$a}_date = {$NOW} WHERE firm{$a} = $firm_id AND firm{$b} = $k");
                                    //  ...
    			}
    	}
    }

    А Вы знаете что будет если -1 отправить?)

    dimka3210, 19 Мая 2015

    Комментарии (5)
  7. Куча / Говнокод #18199

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <div class="line_6" id="item_7" style="width:0px;"></div>
            <div class="line_3" id="item_4" style="width:0px;"></div>
    	<div class="line_2" id="item_3" style="width:0px;"></div>
            <div class="line_5" id="item_6" style="width:0px;"></div>
            <div class="line_4" id="item_5" style="width:0px;"></div>
    	<div class="line_1" id="item_1" style="width:845px; visibility:hidden;"></div>
    	<div class="line_7" id="item_2" style="right:100px; visibility:hidden;"></div>

    Размещение блоков делалось так, а вот когда через JS решили анимировать и вводить id то ...

    stail, 19 Мая 2015

    Комментарии (1)
  8. C# / Говнокод #18198

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // ...
    
    Action updatingLoadedItemsList = null;
    
    foreach (Item loadedItem in loadedItems)
        if (loadedItem.Id == currentItem.Id)
            updatingLoadedItemsList = () => loadedItems.RemoveAt(loadedItems.IndexOf(loadedItem));
    
    if(updatingLoadedItemsList != null)
        updatingLoadedItemsList.Invoke();
    	
    // ...

    pushistayapodmyshka, 19 Мая 2015

    Комментарии (10)
  9. C++ / Говнокод #18197

    +906

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    class LoaderLock
    	{
    	public:
    		void lock();
    		void unlock();
    		bool IsLocked() const;
    		LoaderLock() = default;
    
    	private:
    		LoaderLock(LoaderLock&) = delete;
    		LoaderLock(LoaderLock&&) = delete;
    		LoaderLock& operator=(LoaderLock&) = delete;
    		LoaderLock& operator=(LoaderLock&&) = delete;
    		bool _Locked = false;
    		ULONG _cookie = 0;
    		std::unique_ptr<void, std::function<void(void*)>> _ntdll{ LoadLibrary("NTDLL.DLL"), [](void* h){if (h)FreeLibrary((HMODULE)h); } };
    		typedef NTSTATUS(__stdcall*LdrLockLoaderLockFunc)(
    			ULONG Flags,
    			ULONG *State,
    			ULONG *Cookie);
    		LdrLockLoaderLockFunc _LdrLockLoaderLock = !_ntdll ? 0 : (LdrLockLoaderLockFunc)GetProcAddress((HMODULE)_ntdll.get(), "LdrLockLoaderLock");
    		typedef NTSTATUS(__stdcall*LdrUnlockLoaderLockFunc)(
    			ULONG Flags,
    			ULONG Cookie);
    		LdrUnlockLoaderLockFunc _LdrUnlockLoaderLock = !_ntdll ? 0 : (LdrUnlockLoaderLockFunc)GetProcAddress((HMODULE)_ntdll.get(), "LdrUnlockLoaderLock");
    	};

    Уже давно минул 2014 год, а C++11 не перестает радовать нас размазанными по интерфейсу конструкторами и деструкторами.

    LispGovno, 18 Мая 2015

    Комментарии (124)
  10. Си / Говнокод #18196

    +137

    1. 1
    printk(KERN_CRIT "AAA\n");

    Ебу и патчу.

    codemonkey, 18 Мая 2015

    Комментарии (27)