1. Лучший говнокод

    В номинации:
    За время:
  2. C# / Говнокод #2959

    +143

    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
    using System;
    
    
    unsafe public struct program
    {
    	public static void Main()
    	{
    		test obj1 = new test();
    		obj1.call();
    	}
    	
    	public void Run()
    	{
    		Main();
    	}
    }
    
    unsafe struct test
    {
    	public void call()
    	{
    		program obj1 = new program();
    		program* p = &obj1;
    		p->Run();
    	}
    }

    сабж

    sergylens, 08 Апреля 2010

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

    +159.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
    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
    <?php 
    include( "dbopen.php" ); 
    
    function ShowTree($ParentID, $lvl) { 
    
    global $link; 
    global $lvl; 
    $lvl++; 
    
    $sSQL="SELECT id,title,pid FROM catalogue WHERE pid=".$ParentID." ORDER BY title";
    $result=mysql_query($sSQL, $link);
    
    if (mysql_num_rows($result) > 0) {
    echo("<UL>\n");
    while ( $row = mysql_fetch_array($result) ) {
    $ID1 = $row["id"];
    echo("<LI>\n");
    echo("<A HREF=\""."?ID=".$ID1."\">".$row["title"]."</A>"."  \n");
    ShowTree($ID1, $lvl); 
    $lvl--;
    }
    echo("</UL>\n");
    }
    
    }
    
    ShowTree(0, 0); 
    
    mysql_close($link); 
    
    ?>

    Построение дерева с запросом в цикле:)))

    http://www.codenet.ru/webmast/php/tree.php

    ar4ibal, 05 Апреля 2010

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

    −133.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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    ТаблицаДоговоров = ДоговораМенеджера.Выгрузить();
    ТаблицаДоговоров.Свернуть("Договор");
    
    		
    ЗапросПоДоговорам = новый Запрос;
    ЗапросПоДоговорам.УстановитьПараметр("НаДату", Дата);
    ЗапросПоДоговорам.УстановитьПараметр("СписокДоговоров", ТаблицаДоговоров.ВыгрузитьКолонку("Договор"));
    
    ЗапросПоДоговорам.Текст = 
    "ВЫБРАТЬ
    |	ОтветственныеПоДоговорамСрезПоследних.Договор,
    |	ОтветственныеПоДоговорамСрезПоследних.Приложение,
    |	ОтветственныеПоДоговорамСрезПоследних.ВидОтветственного,
    |	ОтветственныеПоДоговорамСрезПоследних.Ответственный,
    |	СтатусыДоговоровСрезПоследних.Статус,
    |	ПриложенияДоговоровСрезПоследних.КонецПриложения
    |ИЗ
    |	РегистрСведений.ОтветственныеПоДоговорам.СрезПоследних(&НаДату, Договор В (&СписокДоговоров)) КАК ОтветственныеПоДоговорамСрезПоследних
    |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыДоговоров.СрезПоследних(&НаДату, Договор В (&СписокДоговоров)) КАК СтатусыДоговоровСрезПоследних
    |		ПО ОтветственныеПоДоговорамСрезПоследних.Договор = СтатусыДоговоровСрезПоследних.Договор
    |			И ОтветственныеПоДоговорамСрезПоследних.Приложение = СтатусыДоговоровСрезПоследних.Приложение
    |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПриложенияДоговоров.СрезПоследних КАК ПриложенияДоговоровСрезПоследних
    |		ПО ОтветственныеПоДоговорамСрезПоследних.Договор = ПриложенияДоговоровСрезПоследних.Договор
    |			И ОтветственныеПоДоговорамСрезПоследних.Приложение = ПриложенияДоговоровСрезПоследних.Приложение";
    ТаблицаДоговоровИСтатусов = ЗапросПоДоговорам.Выполнить().Выгрузить();

    так вот пишет наш ведущий программист. Зачем сворачивать???

    Sameccc, 16 Марта 2010

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

    +163.3

    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
    #_connect
    mysql_connect("XX.XXX.XX.XX","user","pass") or die("chect db connect settings o_o'");
    mysql_select_db("database") or die("db not found O_o");
    #_
    
    $ip=GetIP();
    $date=date("Y-m-d H:i:s");
    $browser=GetBrowser();
    $referer=$_SERVER['HTTP_REFERER'];
    
    
    $sql="CREATE TABLE `Stats` (
    `ip` VARCHAR( 19 ) NOT NULL ,
    `date` DATETIME NOT NULL ,
    `browser` VARCHAR( 30 ) NOT NULL ,
    `referer` VARCHAR( 128 ) NOT NULL ,
    `count` MEDIUMINT NOT NULL ,
    PRIMARY KEY ( `ip` )
    );";
    
    if (!defined("ADMIN"))
    {
    	$sql="SELECT * FROM `Stats` WHERE `ip` = '$ip'";
    	$res=mysql_query($sql);	$arr=mysql_fetch_array($res);
    	if (!empty($arr))
    	{	$sql="UPDATE Stats SET Stats.count = Stats.count +1 WHERE ip = '$ip'";
    	@mysql_query($sql);
    	$sql="UPDATE Stats SET Stats.date = '$date' WHERE ip = '$ip'";
    	@mysql_query($sql);
    	}
    	else
    	{	$sql="
    		INSERT INTO `Stats`
    		( `ip` , `date` , `browser` , `referer` , `count`, `first_date` ) VALUES
    		('$ip', '$date', '$browser', '$referer', 1, '$date');
    	";
    	@mysql_query($sql);
    	};
    };
    
    Function GetBrowser()
    {	$useragent = $_SERVER['HTTP_USER_AGENT'];
    	$brows = 'none';
    	if(strpos($useragent, "Mozilla") !== false) $brows = 'Mozilla Firefox';
    	if(strpos($useragent, "MSIE")    !== false) $brows = 'Microsoft Internet Explorer';
    	if(strpos($useragent, "MyIE")    !== false) $brows = 'MyIE';
    	if(strpos($useragent, "Opera")   !== false) $brows = 'Opera';
    	if(strpos($useragent, "Netscape")!== false) $brows = 'Netscape';
    	if(strpos($useragent, "Firefox") !== false) $brows = 'Mozilla Firefox';
    	return $brows;
    };
    
    Function GetIP()
    {
    	$ip = $_SERVER['REMOTE_ADDR'];	if(empty($ip)) $ip=$_SERVER['X_FORWARD_FOR'];
    	if(empty($ip)) $ip = '0.0.0.0';
    	return $ip;
    };

    Этот код инклюдится первой строкой в index.php.

    Особенно феерично выглядит
    --
    $sql="SELECT * FROM `Stats` WHERE `ip` = '$ip'";
    $res=mysql_query($sql); $arr=mysql_fetch_array($res);
    --

    На момент аудита исходников в таблице Stats было более 300 тысяч записей и index.php отдавался примерно за 1.5 сек

    darkestmaster, 09 Марта 2010

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

    +72.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
    class ...
    {
      ...
    public:
      ...
      char _Data[57];
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      const volatile byte _Thunk[3];//!!!!Пожалуста, не убирайте!!! Тут портится память!!!!!!!!!!
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      PTChar _Str_;
      ..
    };

    Ну и проект мне достался. Смотря по дате ревизий в системе контроля версий, этим комментам около года, хотя проект активно все это время развивался.
    Жаль нет смайлика, катающегося по полу, держась за живот.

    Говногость, 06 Марта 2010

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

    +145.4

    1. 1
    ViewState["Action"] = result.client == "merchantName" ? false : true;

    nettrash, 18 Февраля 2010

    Комментарии (19)
  8. JavaScript / Говнокод #2623

    +162.4

    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
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    $(document).ready(function(){
    $("#dialog-a, #dialog-b, #dialog-c, #dialog-d, #dialog-e, #dialog-f, #dialog-g, #dialog-h, #dialog-i, #dialog-j, #dialog-k, #dialog-l, #dialog-m, #dialog-n, #dialog-o, #dialog-p, #dialog-q, #dialog-r, #dialog-s, #dialog-t, #dialog-u, #dialog-v, #dialog-w, #dialog-x, #dialog-y, #dialog-z").dialog(
    {
    	autoOpen: false,
    	buttons: { 'OK': function() { $(this).dialog("close"); } },
    	modal: true,
    	width: 200
    });
    	$("#button-a-dialog").click(function (event) {
    		$("#dialog-a").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-b-dialog").click(function (event) {
    		$("#dialog-b").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-c-dialog").click(function (event) {
    		$("#dialog-c").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-d-dialog").click(function (event) {
    		$("#dialog-d").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-e-dialog").click(function (event) {
    		$("#dialog-e").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-f-dialog").click(function (event) {
    		$("#dialog-f").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-g-dialog").click(function (event) {
    		$("#dialog-g").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-h-dialog").click(function (event) {
    		$("#dialog-h").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-i-dialog").click(function (event) {
    		$("#dialog-i").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-j-dialog").click(function (event) {
    		$("#dialog-j").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-k-dialog").click(function (event) {
    		$("#dialog-k").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-l-dialog").click(function (event) {
    		$("#dialog-l").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-m-dialog").click(function (event) {
    		$("#dialog-m").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-n-dialog").click(function (event) {
    		$("#dialog-n").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-o-dialog").click(function (event) {
    		$("#dialog-o").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-p-dialog").click(function (event) {
    		$("#dialog-p").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-q-dialog").click(function (event) {
    		$("#dialog-q").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-r-dialog").click(function (event) {
    		$("#dialog-r").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-s-dialog").click(function (event) {
    		$("#dialog-s").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-t-dialog").click(function (event) {
    		$("#dialog-t").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-u-dialog").click(function (event) {
    		$("#dialog-u").dialog('open');
    		event.preventDefault();
    	});
    	$("#button-v-dialog").click(function (event) {
    		$("#dialog-v").dialog('open');

    pasha, 16 Февраля 2010

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

    +61.9

    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
    //Обьявление класса в хедере с последующей реализацией:
    template<class TConstructStrategy>
    class TClass
    {
    public:
    	TConstructStrategy __ctor;
                      //...Прочие методы...
    };
    
    //...Реализация прочих методов класса...
    
    //================================================================
    
    //Конструктор с переменным числом параметров, типа функтор:
    //Тоесть обьявлено где-то в коде проекта и передаётся, как параметр при конструировании.
    typedef void TConstract(int a);
    template<>
    TClass<TConstract>::TClass(int a)
    {
    	//doing...
    };
    
    int main(int argc, char* argv[])
    {
              //...
              TClass<TConstract> A(5);
              //...
    }

    Это говнокод, но не результат работы над проектом, а результат насмешек над компилятором MSVC 6.0.
    Основано на обявлении типа-функции:
    typedef void TConstract(int a);, но тк конструктор не функция - используется внутренее имя конструктора MSVC6.0:
    void __ctor(void);, согласно которому он всё-таки функция.
    __dtor - "внутренее" имя деструктора, кстати.
    Спалить "секретное" имя обычно можно в сообщениях об ошибках c участием этих имён. При входе в конструктор/деструктор через отладчик под дизасемблером(наверное). В стеке вызовов отладчика(наверное). Наверное ещё как-нибудь, например проходом HEX редактора по экзешнику компилятора и прилижащим dll...
    Итак для обсуждения (хотя и не собираюсь это использовать):
    1)Как ещё, кроме странных пергрузок, представленного выше метода конструктора-функтора, и вызовов типа A.__ctor(); / A.__dtor() это можно использовать?
    2)Какие "скрытые" имена конструкторов/деструкторов у других компиляторов? Я пробовал в MSVC6.0. В MSVS 2008 при первом расмотрении "внутреннее" имя другое и сходу не палится.
    Для примера приведу метод с "обычным" функтором (на самом деле он не самый обычный):

    //Обьявление класса в хедере с последующей реализацией:
    template<class TStrategy>
    class TClass
    {
    public:
    TStrategy func;
    //...Прочие методы...
    };

    //...Реализация прочих методов класса...

    //================================================================

    //Функтор:
    //Тоесть обьявлено где-то в коде проекта и передаётся, как параметр при конструировании.
    typedef void TFunc(void);
    template<>
    void TClass<TFunc>::func(void)
    {
    //doing...
    };
    int main(int argc, char* argv[])
    {
    //...
    TClass<TFunc> A;
    A.func();
    //...
    };

    fake_guest, 05 Февраля 2010

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

    +136

    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
    #define alias long
    #define int b
    #define cat 2
    alias int=cat;
    #undef int
    
    int a$(int b)
    {
      return 1;
    }
    
    main()
    {
      return a$(b)+1;
    }

    Здесь нет С++, зато есть... bash!
    На что спорим, что код возврата программы будет 1?

    nil, 05 Февраля 2010

    Комментарии (19)
  11. C# / Говнокод #2536

    +101.5

    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
    if (imageContent != null)
                   context.Response.OutputStream.Write(imageContent, 0, imageContent.Length);
               else
               {
                   byte[] x = {0xff, 0xd8, 0xff, 0xe0, 0x0, 0x10, 0x4a, 0x46, 0x49, 0x46, 0x0, 0x1, 0x2, 0x0, 0x0, 0x64, 
    0x0, 0x64, 0x0, 0x0, 0xff, 0xec, 0x0, 0x11, 0x44, 0x75, 0x63, 0x6b, 0x79, 0x0, 0x1, 0x0, 
    0x4, 0x0, 0x0, 0x0, 0x1b, 0x0, 0x0, 0xff, 0xee, 0x0, 0xe, 0x41, 0x64, 0x6f, 0x62, 0x65, 
    0x0, 0x64, 0xc0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xdb, 0x0, 0x84, 0x0, 0x11, 0xc, 0xc, 0xc, 
    0xd, 0xc, 0x11, 0xd, 0xd, 0x11, 0x19, 0x10, 0xe, 0x10, 0x19, 0x1d, 0x16, 0x11, 0x11, 0x16, 
    0x1d, 0x22, 0x17, 0x17, 0x17, 0x17, 0x17, 0x22, 0x21, 0x1a, 0x1d, 0x1c, 0x1c, 0x1d, 0x1a, 0x21, 
    0x21, 0x26, 0x28, 0x2b, 0x28, 0x26, 0x21, 0x34, 0x34, 0x38, 0x38, 0x34, 0x34, 0x41, 0x41, 0x41, 
    0xff, 0xc4, 0x0, 0x75, 0x0, 0x1, 0x0, 0x3, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x5, 0x6, 0x4, 0x2, 0x1, 0x1, 0x1, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 
    0x1, 0x4, 0x1, 0x3, 0x1, 0x3, 0x6, 0xc, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x1, 0x2, 0x3, 0x4, 0x11, 0x12, 0x5, 0x6, 0x21, 0x31, 0x71, 0x13, 0x41, 0x51, 0xa1, 0x22, 
    0xb3, 0x35, 0x61, 0x32, 0x52, 0x62, 0x33, 0x73, 0x14, 0x34, 0x74, 0x15, 0x36, 0x7, 0x91, 0x42, 
    0x92, 0xb2, 0xd2, 0x93, 0x54, 0x11, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xda, 0x0, 0xc, 0x3, 0x1, 0x0, 0x2, 0x11, 
    0x3, 0x11, 0x0, 0x3f, 0x0, 0xde, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0xc1, 0xef, 0x77, 0xe0, 0xdb, 0x64, 0xb5, 0xdf, 0x2e, 0xd4, 0xc7, 0x54, 0xbb, 0x1a, 0x6a, 0x8b, 
    0x43, 0xdc, 0xad, 0x73, 0x9b, 0xd5, 0x11, 0x75, 0x2a, 0xe3, 0x3e, 0x74, 0x35, 0x66, 0x5a, 0xc7, 
    0x2b, 0xde, 0x61, 0xb1, 0x2c, 0x4c, 0xe3, 0xd6, 0x65, 0x64, 0x6f, 0x73, 0x5b, 0x22, 0x2c, 0x98, 
    0x7a, 0x35, 0x70, 0x8e, 0x4c, 0x40, 0xbd, 0xa0, 0x58, 0x71, 0x6b, 0x9b, 0x95, 0xbd, 0xa6, 0x37, 
    0x6e, 0x71, 0x49, 0x15, 0x98, 0xd5, 0x58, 0xae, 0x95, 0xaa, 0xc7, 0x48, 0xd4, 0x44, 0x56, 0xbf, 
    0xb, 0xde, 0x5c, 0x94, 0x7c, 0x6b, 0x91, 0xae, 0xfc, 0xcb, 0x2e, 0x5a, 0xdf, 0x65, 0x5a, 0xce, 
    0x6b, 0x55, 0xaa, 0xff, 0x0, 0x13, 0x3a, 0xb3, 0xf3, 0x19, 0x8c, 0x60, 0xbc, 0x0, 0x0, 0x0, 
    0xf8, 0x53, 0xd3, 0x82, 0xf4, 0x1, 0x94, 0xda, 0x39, 0xad, 0x3f, 0xd, 0xb4, 0xf7, 0xad, 0x54, 
    0xaf, 0xc2, 0x88, 0xc9, 0x56, 0x46, 0xae, 0x97, 0xb9, 0x3c, 0xbd, 0x13, 0xd5, 0x55, 0xf2, 0xe7, 
    0xa7, 0xc2, 0x75, 0x5f, 0xe7, 0x1b, 0x5, 0x48, 0xd5, 0x62, 0x9d, 0x6d, 0x4b, 0x8f, 0x56, 0x38, 
    0x91, 0x57, 0x3d, 0xee, 0x54, 0x46, 0xa1, 0x6f, 0x73, 0x6c, 0xdb, 0xaf, 0x63, 0xed, 0x95, 0xa2, 
    0x9d, 0x53, 0xa2, 0x2b, 0xd8, 0x8e, 0x72, 0x77, 0x2f, 0x6a, 0x10, 0xd5, 0xd8, 0xb6, 0x6a, 0x8f, 
    0xf1, 0x2b, 0xd2, 0x86, 0x39, 0x13, 0xb1, 0xe8, 0xc4, 0x57, 0x27, 0x72, 0xae, 0x55, 0x0, 0xa1, 
    0xe0, 0x14, 0xae, 0x57, 0xad, 0x72, 0xcd, 0x98, 0x5d, 0xb, 0x2d, 0x48, 0xd7, 0x44, 0x8f, 0xe8, 
    0xaa, 0x89, 0xab, 0x2b, 0x85, 0xeb, 0x8f, 0x58, 0xd7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xd9};

    'Канал форума программистов VIngrad
    p.s. пришлось убрать большую часть байтов.

    Nemerle, 03 Февраля 2010

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