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

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

    +137

    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
    [ExposeProperty]
    public bool Exhausted {
    	get {
    		if (this.State > FatigueConsts.globalNormalRange)
    			return true;
    		else
    			return false;
    	}
    	set {
    		if (this.State > FatigueConsts.globalNormalRange)
    			Exhausted = true;
    		else
    			Exhausted = false;
    	}
    }

    И потом полчаса сидел, понимал, почему Юнити зависает, когда я пытаюсь открыть инспектор с этим объектом ) Потом поставил в сеттер return;, ибо для костыля [ExposeProperty] требуются и геттер, и сеттер.

    sulnedinfind, 17 Июня 2012

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

    +119

    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
    Func Terminate() ; Функция выключения скрипта так как он работает в бесконечном цикле
    Exit 0
    EndFunc
    HotKeySet("{ESC}", "Terminate")  ; Привязывает функцию выключения к клавиши ESC
      
    FileChangeDir ("C:Program FilesQIPUsersXXXXXXXXXHistory"); Изменяет рабочую директорию 
      
    while 1 ; Начинает бесконечный цикл работы скрипта
    $Search=FileFindFirstFile("*.txt") ; Ищет txt-файлы в рабочей директории и возвращаемое значение поиска заносим в переменную $Search
    if $Search = -1 then ; Проверяет наличие файлов по содержимому переменной
    Sleep(1000) ; Если файлов не найдено, ждет секунду и запускает цикл сначала
    else ; Если найден txt-файл, то...
    $File=FileFindNextFile($Search) ; Заносит название файла в перменную $File
    $Log=FileRead ($File) ; Заносит содержимое файла в переменную $log
    $Log=StringSplit ($Log, @LF) ; Так как в QIP'е одно сообщение состоит из трех строк (пометка сообщения как входящее или исходящее, имя автора/дата/время отправки сообщения и само сообщение), то делает из переменной массив, в котором каждый элемент равен одной строке
    $Mess=$log[3] ; Само сообщение заносит в переменную $Mess
    FileDelete($File) ; Удаляет файл истории
    MsgBox ("0","", $Mess, 1) ; На секунду выводит на экран сообщение с командой, которую скрипт будет сейчас выполнять - это реализовано для отладки
    WinActivate ('[REGEXPCLASS:(?i){97E27FAA-C0B3-4b8e-A693-ED7881E99FC1}]') ; Делает активным окно Foobar'a, реализовал посредством обращения к классу, так как заголовок плеера меняется в зависимости от исполняемой композиции
    WinWaitActive ('[REGEXPCLASS:(?i){97E27FAA-C0B3-4b8e-A693-ED7881E99FC1}]') ; Ждет когда окно Foobar'a станет активным
      
    $Check=StringInStr($Mess, "local") ; Проверяет вхождение слова "local" в текст сообщения
    if $Check=1 then ; Если "local" находится в начале сообщения, то...
    Send("^f") ; Отправляет нажатие сочетания клавиш CTRL+F

    delay(500); //Ждет
    if ( q == 1 ) { //Сравнивает
    q += 2; } //Прибавляет

    Взято отсюда: habrahabr.ru/post/145550/

    ReckO, 09 Июня 2012

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

    −125

    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
    // Преобразовывает геокоординаты из одной СК в другую
    //
    // КоординатыТочки 			- Структура	- координаты
    //
    // ПараметрыПреобразования	- Структура - параметры преобразования из одной системы коорднат в другую
    //
    // ВысотаТочки 				- Число		- выстоа точки над уровнем моря
    //
    // Точность					- Число		- точность возвращаемых координат
    //
    // Возвращаемое значение:
    //   Структура	- координаты
    //
    Функция ПреобразоватьКоординаты(КоординатыТочки, ПараметрыПреобразования, ВысотаТочки = 0, Точность = 6) Экспорт
    
    	ПП = ПараметрыПреобразования;
    	
    	ШиротаВГрадусах 	= КоординатыТочки.Широта;
    	ДолготаВГрадусах 	= КоординатыТочки.Долгота; 
    	
    	ЧислоПи = 3.14159265358979;
    	ЧислоУгловыхСекундВРадиане = 206264.8062;
    	
    	КвадратЭксцентриситетаИсходногоЭллипсоида 	= 2 * ПП.СжатиеИсходногоЭллипсоида - Pow(ПП.СжатиеИсходногоЭллипсоида , 2);
    	КвадратЭксцентриситетаКонечногоЭллипсоида 	= 2 * ПП.СжатиеКонечногоЭллипсоида - Pow(ПП.СжатиеКонечногоЭллипсоида , 2);
    	
    	СреднееБольшаяПолуось 				= (ПП.БольшаяПолуосьИсходногоЭллипсоида + ПП.БольшаяПолуосьКонечногоЭллипсоида) / 2;
    	СреднееКвадратЭксцентриситета 		= (КвадратЭксцентриситетаИсходногоЭллипсоида + КвадратЭксцентриситетаКонечногоЭллипсоида) / 2;
    	РазностьБольшихПолуосей 			= ПП.БольшаяПолуосьКонечногоЭллипсоида - ПП.БольшаяПолуосьИсходногоЭллипсоида;
    	РазностьКвадратовЭксцентриситетов 	= КвадратЭксцентриситетаКонечногоЭллипсоида - КвадратЭксцентриситетаИсходногоЭллипсоида;
    	
    	ШиротаВРадианах 	= ШиротаВГрадусах * ЧислоПи / 180;
    	ДолготаВРадианах 	= ДолготаВГрадусах * ЧислоПи / 180;
    	РадиусКривизныМеридианногоСечения 	= СреднееБольшаяПолуось * (1 - СреднееКвадратЭксцентриситета) 
    	/ Pow(1 - СреднееКвадратЭксцентриситета * Pow(Sin(ШиротаВРадианах) , 2) , 1.5);
    	РадиусКривизныПервогоВертикала 		= СреднееБольшаяПолуось * Pow(1 - СреднееКвадратЭксцентриситета 
    	* Pow(Sin(ШиротаВРадианах) , 2) , -0.5);
    
    	СмещениеШиротыВСекундах 	= ЧислоУгловыхСекундВРадиане / (РадиусКривизныМеридианногоСечения + ВысотаТочки) 
    	* (РадиусКривизныПервогоВертикала / СреднееБольшаяПолуось * СреднееКвадратЭксцентриситета * Sin(ШиротаВРадианах) 
    	* Cos(ШиротаВРадианах) * РазностьБольшихПолуосей + (Pow(РадиусКривизныПервогоВертикала , 2) / Pow(СреднееБольшаяПолуось , 2) + 1) 
    	* РадиусКривизныПервогоВертикала * Sin(ШиротаВРадианах) * Cos(ШиротаВРадианах) * РазностьКвадратовЭксцентриситетов / 2 
    	- (ПП.ЛинейноеСмещениеОсьАбсцисс * Cos(ДолготаВРадианах) + ПП.ЛинейноеСмещениеОсьОрдинат * Sin(ДолготаВРадианах)) 
    	* Sin(ШиротаВРадианах) + ПП.ЛинейноеСмещениеОсьАппликат * Cos(ШиротаВРадианах)) 
    	- ПП.УгловоеСмещениеОсьАбсцисс * Sin(ДолготаВРадианах) * (1 + СреднееКвадратЭксцентриситета * Cos(2 * ШиротаВРадианах)) 
    	+ ПП.УгловоеСмещениеОсьОрдинат * Cos(ДолготаВРадианах) * (1 + СреднееКвадратЭксцентриситета * Cos(2 * ШиротаВРадианах)) 
    	- ЧислоУгловыхСекундВРадиане * ПП.ДифференциальноеРазличиеМасштабов * СреднееКвадратЭксцентриситета * Sin(ШиротаВРадианах) 
    	* Cos(ШиротаВРадианах);
    	
    	СмещениеДолготыВСекундах 	= ЧислоУгловыхСекундВРадиане / ((РадиусКривизныПервогоВертикала + ВысотаТочки) 
    	* Cos(ШиротаВРадианах)) * (-ПП.ЛинейноеСмещениеОсьАбсцисс * Sin(ДолготаВРадианах) 
    	+ ПП.ЛинейноеСмещениеОсьОрдинат * Cos(ДолготаВРадианах)) + Tan(ШиротаВРадианах) * (1 - СреднееКвадратЭксцентриситета) 
    	* (ПП.УгловоеСмещениеОсьАбсцисс * Cos(ДолготаВРадианах) + ПП.УгловоеСмещениеОсьОрдинат * Sin(ДолготаВРадианах)) 
    	- ПП.УгловоеСмещениеОсьАппликат;
    
    	СмещениеВысоты 				= -СреднееБольшаяПолуось / РадиусКривизныПервогоВертикала * РазностьБольшихПолуосей 
    	+ РадиусКривизныПервогоВертикала * Pow(Sin(ШиротаВРадианах) , 2) * РазностьКвадратовЭксцентриситетов / 2 
    	+ (ПП.ЛинейноеСмещениеОсьАбсцисс * Cos(ДолготаВРадианах) + ПП.ЛинейноеСмещениеОсьОрдинат * Sin(ДолготаВРадианах)) 
    	* Cos(ШиротаВРадианах) + ПП.ЛинейноеСмещениеОсьАппликат * Sin(ШиротаВРадианах) 
    	- РадиусКривизныПервогоВертикала * СреднееКвадратЭксцентриситета * Sin(ШиротаВРадианах) * Cos(ШиротаВРадианах) 
    	* (ПП.УгловоеСмещениеОсьАбсцисс / ЧислоУгловыхСекундВРадиане * Sin(ДолготаВРадианах) 
    	- ПП.УгловоеСмещениеОсьОрдинат / ЧислоУгловыхСекундВРадиане * Cos(ДолготаВРадианах)) 
    	+ (Pow(СреднееБольшаяПолуось , 2) / РадиусКривизныПервогоВертикала + ВысотаТочки) * ПП.ДифференциальноеРазличиеМасштабов;
    	
    	Возврат Новый Структура("Широта,Долгота,Высота", Окр(ШиротаВГрадусах + СмещениеШиротыВСекундах / 3600, Точность), Окр(ДолготаВГрадусах + СмещениеДолготыВСекундах / 3600, Точность), Окр(ВысотаТочки + СмещениеВысоты,3));
    	
    КонецФункции

    Как ни странно, но работает)))

    TamerlanDE, 08 Июня 2012

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    # My first attempt in J:
    +/(>/)"1 <.@(10&^.)(2 & x:) (+%)/\(1x,1000$2)
    
    # It gave the right answer, but took about an hour.
    # Based on other people's comments I went back and figured out the relationship
    # between one answer and the next, and came up with this,
    # which runs in less than 1 second:
    ((((0{])+([:$[:":1{])>([:$[:":2{])),(1{]+2*2{]),1{]+2{])^:1000) 0 3x 2x

    http://projecteuler.net/thread=57;page=2


    Как на этом можно писать?

    TheHamstertamer, 04 Июня 2012

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

    +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
    $result = dbquery(
                "SELECT a.tag_id, a.tag_name, a.tag_type, a.tag_tags, u.article_id, u.article_cat, u.article_7, u.article_6, u.article_8, u.article_subject, u.article_snippet  
    			FROM ".DB_TAGS." a
    			LEFT JOIN ".DB_ARTICLES." u ON u.article_id=a.tag_name 
    			WHERE a.tag_type = 'A' AND article_draft='0'
    			ORDER BY article_datestamp 
    			DESC");
    
    if (dbrows($result)) {
    while ($data = dbarray($result)) {
    
      if ($data['tag_tags']) {
    		$tags = explode(", ", $data['tag_tags']);
    		foreach ($tags as $values) {
    		
    		if ($values == $tagname) {
    		     echo "<tr><td class='tbl1'>";
    		     echo "Статья: <a href='".BSFURL.article($data['article_id'])."' title='".$data['article_subject']."' class='side'><strong>".$data['article_subject']."</strong></a>"; if ($data['article_6']) { echo" (Язык: <b>".$data['article_6']."</b>) "; } if ($data['article_7']) { echo"(Тип: <b><a href='".BSFURL.articlesTypes($data['article_8'])."'>".$data['article_7']."</a></b>)";} echo"\n<br />";
    		     echo nl2br(parsesmileys(parseubb($data['article_snippet'])))."<hr /></td>\n</tr>\n";
    			 }
    		   }
    		 }
    }
     }

    GggTtt, 01 Июня 2012

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

    −22

    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
    // UNALIGNED only for IA64 (Itanium) 
    // for AMD64 & i386 this not needed
    
    void * c_memmove(void *dest, void const *src, size_t n)
    {
      void *ret = dest;
    
      if (n)
      {
    
        (__int8 *&)dest += n;
        (__int8 *&)src += n;
    
        switch (int x = n % 4)
        {
          do
          {
            if (!!'true')
            {
              case 0:
                *--(UNALIGNED __int32 *&)dest = *--(UNALIGNED __int32 *&)src;
                n -= 4;
            }
            else
            {
              case 3: 
                *--(__int8 *&)dest = *--(__int8 *&)src;
              case 2: 
                *--(__int8 *&)dest = *--(__int8 *&)src;
              case 1: 
                *--(__int8 *&)dest = *--(__int8 *&)src;
              n -= x;
            }
          } while (n);
        }
      }
      return ret;
    }

    63F45EF45RB65R6VR, 17 Мая 2012

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

    +99

    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
    import Text.Parsec
    import Control.Monad
    
    romanToArabic :: String -> Either ParseError Integer
    romanToArabic = parse (genParser (Nothing : Nothing : map Just romans)) "" where
    
        romans = [('M', 1000), ('D', 500), ('C', 100),
                  ('L', 50), ('X', 10), ('V', 5), ('I', 1)]
    
        genParser [_] = eof >> return 0
        genParser (ten : five : one : rest) = state1 where
    
            state1 = choice [on one state2, on five state3, next]
            state2 = choice [on (sub2 five one) next, on (sub2 ten one) next,
                             on one state5, next]
            state3 = choice [on one state4, next]
            state4 = choice [on one state5, next]
            state5 = choice [on one next, next]
            next = genParser (one : rest)
    
            on Nothing _ = fail ""
            on (Just (ch, val)) nextNode = char ch >> nextNode >>= return . (+val)
    
            sub2 = liftM2 $ \(ch1, val1) (ch2, val2) -> (ch1, val1-2*val2)

    Кучка в ответ на http://govnokod.ru/9995#comment136058

    > с другой стороны раз хаскель, то хотелось бы, например:
    > *Main> romanToArabic "LC"
    > Left (line 1, column 2):
    > unexpected 'C'
    > expecting "X", "IX", "IV", "V", "I" or end of input

    bormand, 25 Апреля 2012

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

    +160

    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
    if (isset ( $_POST ['atest'] ) && isset ( $_POST ['date_atest'] $_POST ['student'] ) && isset ( $_POST ['point'] ) ) {
    		( int ) $stud_id = $_POST ['student'];
    		( int ) $point = $_POST ['point'];
    		if (strlen ( $_POST ['atest'] ) > 3 && strlen ( $_POST ['date_atest'] ) == 10) {
    			$sql = "insert into `subjects` (`name`,`date`,`courses`,`group`)";
    			$sql .= "values (" . $db->qstr ( $_POST ['atest'] ) . "," . $db->qstr ( $_POST ['date_atest'] ) . "," . $course_input . "," . $group_input . ")";
    			$calc_attestation = "SELECT `users`.`id`, avg (`points`.`point`) attestation FROM `users`, `points`"; 
    			$calc_attestation .= "WHERE `users`.`id` = " . $stud_id . " AND `users`.`id` = `points`.`student`";
    			$result_calc_attestation = mysql_fetch_assoc(mysql_query($calc_attestation));
    			if ($result_calc_attestation['attestation'] >= 0 && $result_calc_attestation['attestation'] <= 0,5) {
    			$result_calc_attestation = 0;
    			$add_attestation = "insert into `points` (`point`, `course`, `student`)";
    			$add_attestation .= "values (" . $result_calc_attestation . ", " . $course_input . ", " . $group_input;
    			}
    			if ($result_calc_attestation['attestation'] >= 0,5 && $result_calc_attestation['attestation'] <= 1) {
    			$result_calc_attestation = 1;
    			$add_attestation = "insert into `points` (`point`, `course`, `student`)";
    			$add_attestation .= "values (" . $result_calc_attestation . ", " . $course_input . ", " . $group_input;
    			}
    			if ($result_calc_attestation['attestation'] >= 1 && $result_calc_attestation['attestation'] <= 1,5) {
    			$result_calc_attestation = 1;
    			$add_attestation = "insert into `points` (`point`, `course`, `student`)";
    			$add_attestation .= "values (" . $result_calc_attestation . ", " . $course_input . ", " . $group_input;
    			}
    			if ($result_calc_attestation['attestation'] >= 1,5 && $result_calc_attestation['attestation'] <= 2) {
    			$result_calc_attestation = 2;
    			$add_attestation = "insert into `points` (`point`, `course`, `student`)";
    			$add_attestation .= "values (" . $result_calc_attestation . ", " . $course_input . ", " . $group_input;
    			}
    			if ($result_calc_attestation['attestation'] >= 2 && $result_calc_attestation['attestation'] <= 2,5) {
    			$result_calc_attestation = 2;
    			$add_attestation = "insert into `points` (`point`, `course`, `student`)";
    			$add_attestation .= "values (" . $result_calc_attestation . ", " . $course_input . ", " . $group_input;
    			}
    [Код сокращен]
    
    			if ($result_calc_attestation['attestation'] >= 11,5 && $result_calc_attestation['attestation'] <= 12) {
    			$result_calc_attestation = 12;
    			$add_attestation = "insert into `points` (`point`, `course`, `student`)";
    			$add_attestation .= "values (" . $result_calc_attestation . ", " . $course_input . ", " . $group_input;
    			}
    			if ($result_calc_attestation['attestation'] == 12) {
    			$result_calc_attestation = 12;
    			$add_attestation = "insert into `points` (`point`, `course`, `student`)";
    			$add_attestation .= "values (" . $result_calc_attestation . ", " . $course_input . ", " . $group_input;
    			}
    			
    			if ($db->Execute ( $sql ) or $db->Execute ( $add_attestation ) === false) {
    				die ( 'Опаньки: ' . $db->ErrorMsg () );
    			}
    			$GLOBALS ['inform'] [] = "Атестація проведена";
    		} else {
    			$GLOBALS ['error'] [] = "Помилка додавання пари через те, що довжина назви менше 3-х символів або дата вказана не вірно.";
    		}
    	}

    Ну и как это использовать? Я уже представил что будет если будет болонская система)

    Alex_Bond, 04 Апреля 2012

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

    +997

    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
    char* CFastSmtp::_formatHeader()
    {
    // check for at least one recipient
        if(Recipients.size() <= 0 )    {
            printf("Please add a message recipient!\r\n");
            return NULL;
        }
        int s=0;
        char *msgHeader = new char[16385];
        //char to[1024];
        for (unsigned int i=s=0;i<Recipients.size();i++) {        
            s+=strlen(Recipients.at(i)->GetEmail())+1;
        } if (s==0) s=1; char *to = new char[s];
        //char cc[1024];
        for (i=s=0;i<CCRecipients.size();i++) {        
            s+=strlen(CCRecipients.at(i)->GetEmail())+1;
        } if (s==0) s=1; char *cc = new char[s];
        //char bcc[1024];
        for (i=s=0;i<BCCRecipients.size();i++) {        
            s+=strlen(BCCRecipients.at(i)->GetEmail())+1;
        } if (s==0) s=1; char *bcc = new char[s];
    
        TCHAR szDate[500];
        TCHAR sztTime[500];
    
    // create the recipient string, cc string, and bcc string
        to[0] = '\0';        
        for (i=0;i<Recipients.size();i++) {        
            i > 0 ? strcat(to,","):strcat(to,"");
            strcat(to,Recipients.at(i)->GetEmail());
        }
    
        cc[0] = '\0';    
        for (i=0;i<CCRecipients.size();i++) {
            i > 0 ? strcat(cc,","):strcat(cc,"");
            strcat(cc,CCRecipients.at(i)->GetEmail());
        }
    
        bcc[0] = '\0';    
        for (i=0;i<BCCRecipients.size();i++) {
            i > 0 ? strcat(bcc,","):strcat(bcc,"");
            strcat(bcc,BCCRecipients.at(i)->GetEmail());
        }
    // get the current date and time
        SYSTEMTIME st={0};
        ::GetSystemTime(&st);
        ::GetDateFormat(LOCALE_SYSTEM_DEFAULT,0,&st,"ddd',
                        ' dd MMM yyyy",szDate,sizeof(szDate));
        ::GetTimeFormat(LOCALE_SYSTEM_DEFAULT,TIME_FORCE24HOURFORMAT,&st,
                        "HH':'mm':'ss tt",sztTime,sizeof(sztTime));
    // here it is...the main data of the message
        wsprintf(msgHeader,"DATE: %s %s\r\n", szDate, sztTime);    
        if (m_pcFromName != NULL) {
            strcat(msgHeader,"FROM: ");
            strcat(msgHeader, m_pcFromName);
            strcat(msgHeader, "\r\n");
        }
        strcat(msgHeader,"To: ");
        strcat(msgHeader, to);
        strcat(msgHeader, "\r\n");
        strcat(msgHeader,"Cc: ");
        strcat(msgHeader, cc);
        strcat(msgHeader, "\r\n");
        if (m_pcSubject != NULL) {
            strcat(msgHeader, "Subject: ");
            strcat(msgHeader, m_pcSubject);
            strcat(msgHeader, "\r\n");
        }
        if (m_pcXMailer != NULL) {
            strcat(msgHeader,"X-Mailer: ");
            strcat(msgHeader, m_pcXMailer);
            strcat(msgHeader, "\r\n");
        }
    // start optional fields
        if (m_pcReplyTo != NULL) {
            strcat(msgHeader, "Reply-To: ");
            strcat(msgHeader, m_pcReplyTo);
            strcat(msgHeader, "\r\n");
        }
    // start MIME versions
        strcat(msgHeader, 
               "MIME-Version: 1.0\r\nContent-type: text/plain; charset=US-ASCII\r\n");
    // send header finish command
        strcat(msgHeader, "\r\n");    
    // clean up
        delete to;
        delete cc;
        delete bcc;
    // done    
        return msgHeader;    
    }

    аццкий говнокодер
    http://www.codeproject.com/Articles/623/CFastSmtp-Fast-and-easy-SMTP-class

    63F45EF45RB65R6VR, 07 Марта 2012

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

    +174

    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
    <?php
    $fp = fopen("http://s1.radio-hoster.ru/stats/impulse/current_dj.php", "rt"); // Открываем файл в режиме чтения
    if ($fp) 
    { while(!feof($fp))  {  $char = fgetc($fp);
    if ($char == 'a') $ia = $ia + 1;// Находим символ «a»
    if ($char == 'b') $ib = $ib + 1;// Находим символ «b»
    if ($char == 'c') $ic = $ic + 1;// Находим символ «c»
    if ($char == 'd') $id = $id + 1;// Находим символ «d»
    if ($char == 'e') $ie = $ie + 1;// Находим символ «e»
    if ($char == 'f') $if = $if + 1;// Находим символ «f»
    if ($char == 'g') $ig = $ig + 1;// Находим символ «g»
    if ($char == 'h') $ih = $ih + 1;// Находим символ «h»
    if ($char == 'i') $ii = $ii + 1;// Находим символ «i»
    if ($char == 'j') $ij = $ij + 1;// Находим символ «j»
    if ($char == 'k') $ik = $ik + 1;// Находим символ «k»
    if ($char == 'l') $il = $il + 1;// Находим символ «l»
    if ($char == 'm') $im = $im + 1;// Находим символ «m»
    if ($char == 'n') $in = $in + 1;// Находим символ «n»
    if ($char == 'o') $io = $io + 1;// Находим символ «o»
    if ($char == 'p') $ip = $ip + 1;// Находим символ «p»
    if ($char == 'q') $iq = $iq + 1;// Находим символ «q»
    if ($char == 'r') $ir = $ir + 1;// Находим символ «r»
    if ($char == 's') $is = $is + 1;// Находим символ «s»
    if ($char == 't') $it = $it + 1;// Находим символ «t»
    if ($char == 'u') $iu = $iu + 1;// Находим символ «u»
    if ($char == 'v') $iv = $iv + 1;// Находим символ «v»
    if ($char == 'w') $iw = $iw + 1;// Находим символ «w»
    if ($char == 'x') $ix = $ix + 1;// Находим символ «x»
    if ($char == 'y') $iy = $iy + 1;// Находим символ «y»
    if ($char == 'z') $iz = $iz + 1;// Находим символ «z»
    if ($char == '1') $i1 = $i1 + 1;// Находим символ «1»
    if ($char == '2') $i2 = $i2 + 1;// Находим символ «2»
    if ($char == '3') $i3 = $i3 + 1;// Находим символ «3»
    if ($char == '4') $i4 = $i4 + 1;// Находим символ «4»
    if ($char == '5') $i5 = $i5 + 1;// Находим символ «5»
    if ($char == '6') $i6 = $i6 + 1;// Находим символ «6»
    if ($char == '7') $i7 = $i7 + 1;// Находим символ «7»
    if ($char == '8') $i8 = $i8 + 1;// Находим символ «8»
    if ($char == '9') $i9 = $i9 + 1;// Находим символ «9»
    if ($char == '0') $i0 = $i0 + 1;// Находим символ «0»
    
    	}
    echo ' ';
    }
    else echo "Ошибка при открытии файла";
    
    if($il + $io + $iv + $ie + $is + $io + $in + $ig == 25) { echo "  Эфир ведёт: DJ Dingo"; include("dingo.html"); } 
    else
    if($ij + $ia + $ic + $ik == 7) { echo "  Эфир ведёт: DJ Jack"; include("Jack.html"); }
    else
    if($ip + $ii + $in + $ik + $im + $io + $ij + $ii + $it + $io == 31) { echo "  Эфир ведёт: DJ Pink Mojito"; include("pink.html"); }
    else
    if($is + $ie + $iv + $iv + $ia == 19) { echo "  Эфир ведёт: Dj Savva"; include("Savva.html"); }
    else
    if($il + $ia + $ik + $ii + $in + $if + $io == 19) { echo "  Эфир ведёт: Dj Lakinfo"; include("lakinfo.html"); }
    else
    if($in + $io + $in + $is + $it + $io + $ip == 28) { echo "Нет вещания"; include("nonstop.html"); }

    Нет слов..

    CheshirskyCode, 29 Февраля 2012

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