1. C++ / Говнокод #17214

    +51

    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
    PVOID ZDbgDoc::getVaByName(PCSTR name)
    {
    	PLIST_ENTRY head = &_dllListHead, entry = head;
    
    	while ((entry = entry->Flink) != head)
    	{
    		ZDll* pDll = static_cast<ZDll*>(entry);
    
    		if (PWSTR ImageName = pDll->_ImageName)
    		{
    			PCSTR sz = name;
    __loop:
    			int c = tolower(*sz++);
    
    			if (!c || c != towlower(*ImageName++))
    			{
    				continue;
    			}
    
    			if (c != '.')
    			{
    				goto __loop;
    			}
    
    			pDll->Parse(this);
    
    			return pDll->getVaByName(sz, this);
    		}
    	}
    
    	return 0;
    }

    zhukas, 29 Ноября 2014

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (jq('#' + id).attr('checked')) {
        jq('#' + id).attr('checked', true);
    } else {
        jq('#' + id).attr('checked', false);
    }

    Чужой код, года 11, переписываю, натыкаюсь на такое вот повсеместно

    tagrim, 28 Ноября 2014

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

    +157

    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
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    Здрасьте.
    
    Есть самая верхняя строчка на странице, так сказать, самый верхный header. В ней на сайтах часто располагается контактная информация (телефоны, адреса, прочее), так вот, мне нужно сделать так, чтобы элементы <a><img></a> были видны лишь спустя сотку-две пикселей прокрутки. Я призадумалась, поискала и нашла такой код:
    
    <?php function scroll_block(){
    var stop = (document.body.scrollTop || document.documentElement.scrollTop);
    var el=document.getElementById('menublock');
    if(stop>150){
    if(el.style.display!='block'){ 
    el.style.display='block'; 
    }
    }
    else 
    el.style.none='none';
    
    return false;
    }
    
    if (window.addEventListener){
    window.addEventListener("scroll", scroll_block, false);
    window.addEventListener("load", scroll_block, false);
    }
    else if (window.attachEvent){
    window.attachEvent("onscroll", scroll_block);
    window.attachEvent("onload", scroll_block);
    }
    
    <div id='menublock' style="display:none">а тут меню</div>
    ?>
    Затем я подумала, и теперь сделала сам элемент:
    
    <div id="hideousvar"> <a href="http://dev.zoldol.ru/vremya-raboty-sklonov"> <img class="varhid" style="padding: 0px 5px 12px 5px;height: 25px;" title="Время работы склонов" alt="" src="http://dev.zoldol.ru/wp-content/themes/subway-child/images/clock.png"></a>
    
    <a href="http://dev.zoldol.ru/webcamera"> <img class="varhid" style="padding: 0px 5px 10px 5px;height: 28px;" title="WEB-камера" alt="" src="http://dev.zoldol.ru/wp-content/themes/subway-child/images/camera.png"></a>
    
    <a href="http://dev.zoldol.ru/3d-tour"> <img class="varhid" style="padding: 0px 0px 5px 0px;height: 35px;" title="3D-тур" alt="" src="http://dev.zoldol.ru/wp-content/themes/subway-child/images/tour.png"></a>
    
    <a href="http://dev.zoldol.ru/scheme"> <img class="varhid" style="padding: 0px 5px 13px 5px; height: 24px;" title="Интерактивная карта склона" alt="" src="http://dev.zoldol.ru/wp-content/themes/subway-child/images/map.png"></a> </div>
    
    Функция:
    
    <?php function scroll_block(){ var stop = (document.body.scrollTop || document.documentElement.scrollTop); var el=document.getElementById('hideousvar'); if(stop>150){ if(el.style.display!='block'){ el.style.display='block'; } } else el.style.none='none';
    
            return false;
            }
    
        if (window.addEventListener){
            window.addEventListener("scroll", scroll_block, false);
            window.addEventListener("load", scroll_block, false);
                }
        else if (window.attachEvent){
            window.attachEvent("onscroll", scroll_block);
            window.attachEvent("onload", scroll_block);
            }
    
    <div id='hideousvar' style="display:none">а тут меню</div>
    ?>
    
    Но что-то не сработало. Подскажите, пожалуйста. Буду безмерно благодарна за помощь.

    Наткнулся на хешкоде на следующее чудо.
    Хоть и топик тот, судя по всему, писала девушка, но всё ж, блин, с более-менее профессиональной моей точки зрения, это совсем ужас :D
    Всё содержание топика точно скопипащено.:D

    RSLab, 28 Ноября 2014

    Комментарии (62)
  4. C++ / Говнокод #17210

    +70

    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
    QString windoliz_path(QString str)
    {
    /*
    функция "виндолизирует" QTшные пути, для передачи в неQTшные части проги
    (в QT-шные, кстати тоже можно, ибо QT вроде бы понимает и те и другие ;)
    если вызвать вне винды ничо страшного, предпроцессор сделает всё за вас
    и функция вернёт ту же строку что и получила. После вызова в виндах не
    помешает сделать .toLocal8Bit()
    //*/
    #ifdef _WIN32                      //если венда
        char s = '\\';                 //символ для замены
        char t = '/';                  //шаблон поиска
        for (int i = str.size();i;i--) //повторить столько раз сколько символов в строке
        {
            if (str[i-1] == t)           //если символ соответствует образцу поиска
            {
                str[i-1] = s;            //меняем на образец замены
            }
        }
    #endif                             //директива отметы условия "если венда"
        return str;
    }

    Этот проект не перестаёт удивлять... апи не смотри, велосипеды пиши. Коммент сохранен авторский.

    kin63camapa, 28 Ноября 2014

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

    +100

    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 Book
        {
            public void BookName(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("NameFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
    
            public void BookAuthor(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("AuthorFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
    
            public void BookDescription(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("DescriptionFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
    
            public void BookTags(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("TagFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
        }

    LightningAtom, 28 Ноября 2014

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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    std::uint8_t octets[4];
    for(int i = 0; i < 4; ++i) {
        if(i != 0 && inp.get() != '.')
            { assert(false && "unexpected symbol"); }
        inp >> octets[i];
    }

    Два вида говна: в коде и в языке.

    Soul_re@ver, 28 Ноября 2014

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

    +53

    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
    BOOL IsNameInExpression(PCWSTR Expression, PCWSTR Name, DWORD len)
    {
    	WCHAR c, b;
    
    	while (c = *Expression++) 
    	{
    		if (c == L'*') 
    		{
    __loop:
    			switch (*Expression)
    			{
    			case '*':
    				Expression++;
    				goto __loop;
    			case 0:
    				return TRUE;
    			}
    
    			if (len)
    			{
    				do 
    				{
    					if (IsNameInExpression(Expression, Name++, len--)) return TRUE;
    				} while (len);
    			}
    
    			return FALSE;
    		}
    
    		if (!len--)
    		{
    			return FALSE;
    		}
    
    		b = *Name++;
    
    		if (c != L'?' && b != c) 
    		{
    			return FALSE;
    		} 
    	}
    
    	return !len;
    }
    
    BOOL IsNameInExpression(PCWSTR Expression, PUNICODE_STRING Name)
    {
    	RtlUpcaseUnicodeString(Name, Name, FALSE);
    	return IsNameInExpression(Expression, Name->Buffer, Name->Length >> 1);
    }

    zhukas, 28 Ноября 2014

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

    +51

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    QDir startupFolder = QDir(AppSettings->value("SoftStartupFolder").toString());
    if (!startupFolder.isAbsolute())
    {
        startupFolder.setPath(QCoreApplication::applicationDirPath()+QDir::separator()+AppSettings->value("SoftStartupFolder").toString());
        startupFolder = QDir(startupFolder.absolutePath());
    }

    а иначе дальше файлы будут честно искаться в папке с названиями из точки или двух, а относительные пути браться от чего угодно кроме текущей папки или папки с прогой.

    kin63camapa, 28 Ноября 2014

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

    +55

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    QString GetVer(QString FileName)
    {
        //многакода
        FileName.clear(); //теперь это версия %)
        QTextStream(&FileName) << HIWORD(fi->dwFileVersionMS) << "." << LOWORD(fi->dwFileVersionMS) << "." << HIWORD(fi->dwFileVersionLS) << "." << LOWORD(fi->dwFileVersionLS);
        return FileName;
    }

    кому-то лень было создавать переменную

    kin63camapa, 27 Ноября 2014

    Комментарии (0)
  10. Java / Говнокод #17204

    +77

    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
    switch (status) {
    
       case "createInitRequest":
            requestXml = ExtFunc.executeFreemarker(initReqTempl, null, values, em);
            //values.put("soap", soap);
            status = "signInitRequest";
            //return;
    
        case "signInitRequest":    
            initReqSoap = ExtFunc.signSoap(requestXml, context, em);
            if (initReqSoap == null) return;
                    infomsg = "Запрос сформирован и подписан. Нажмите 'Продолжить' для отправки запроса.";
            status = "preSendInitRequest";
            //return;
    
        case "preSendInitRequest":
            status = "sendInitRequest";                   
            return;
    
        // далее ещё 20 кейсов, каждый из которых меняет значение status на значение следующего кейса
    
    }

    chsh, 27 Ноября 2014

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