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

    +122

    1. 1
    2. 2
    if (!0.Equals(callResult.ValueOf("@retValue"))) // оба инт'ы
         ...

    Мы не ищем легких путей сравнения.

    fr0mrus, 11 Ноября 2011

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

    +121

    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
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    	if ((textBox1.Text + textBox2.Text).Length + 1 > 255)
    	{
    		textBox1.BackColor = Color.LightPink;
    		textBox2.BackColor = Color.LightPink;
    	}
    	else
    	{
    		textBox1.BackColor = Color.White;
    		textBox2.BackColor = Color.White;
    	}
    
    	if ((textBox3.Text + textBox6.Text).Length + 1 > 255)
    	{
    		textBox3.BackColor = Color.LightPink;
    		textBox6.BackColor = Color.LightPink;
    	}
    	else
    	{
    		textBox3.BackColor = Color.White;
    		textBox6.BackColor = Color.White;
    	}
    }
    
    private void bntSave_Click(object sender, EventArgs e)
    {
    	if (textBox1.BackColor == Color.LightPink)
    	{
    		MessageBox.Show("Длинна полей От и Адрес в сумме не должна превышать 255");
    		return;
    	}
    	if (textBox3.BackColor == Color.LightPink)
    	{
    		MessageBox.Show("Длинна полей Кому и Адрес в сумме не должна превышать 255");
    		return;
    	}
    
    	Properties.Settings.Default.Save();
    	Navigator.Navigate(new ConfigMenuPage());
    }

    ТЗ: "Суммарная длина полей X и Y не должна превышать 255 символов"
    Решение шедеврально как по вычислению длинны суммы строк, так и по цветовой идентификации :)

    ddv_demon, 10 Ноября 2011

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

    +116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    IGridCell IGridControl.this[int columnIndex, int rowIndex]
            {
                get { return Cells.Single(c => c.OwningRow.Index == rowIndex && c.OwningColumn.Index == columnIndex); }
                set
                {
                    cells.Remove(cells.Single(c => c.OwningRow.Index == rowIndex && c.OwningColumn.Index == columnIndex));
                    cells.Add(value);
                }
            }

    вот такие вот индексаторы

    Ccik, 10 Ноября 2011

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

    +120

    1. 1
    if (ViewData["partialViewName"].ToString() == "" ||  ViewData["partialViewName"] == null)

    кратко и лаконично

    sergfreest, 09 Ноября 2011

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

    +123

    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
    public static string ConvertToBinary( ushort value )
    {
    	StringBuilder builder = new StringBuilder( 19 );
    
    	int mask = (1 << 15);
    
    	for ( int j = 0; j < 4; j++ )
    	{
    		for ( int i = 0; i < 4; i++ )
    		{
    			builder.Append( ((value & mask) != 0) ? ("1") : ("0") );
    
    			mask = mask >> 1;
    		}
    
    		if ( j < 3 )
    		{
    			builder.Append( " " );
    		}
    	}
    
    	return builder.ToString();
    }

    ivan-petrov, 08 Ноября 2011

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

    +132

    1. 1
    System.Console.WriteLine(System.String.Concat(System.Security.Cryptography.MD5.Create().ComputeHash(System.Text.Encoding.UTF8.GetBytes("hello world!")).ToList().ConvertAll(b => b.ToString("x2"))));

    страшно?

    daymansiege, 07 Ноября 2011

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

    +127

    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
    // Функция, добавляемая в цепочку низкоуровневой обработки клавиатуры с помощью SetWindowsHookEx.
    public static int LowLevelKeyboardProc( ... )
    {
    	bool fHandled = false;
    
    	// ...
    	// Далее поиск всех комбинаций, которые "запрещены" в программе,
    	// например, Win+R, Alt+Tab, Alt+F4 и т.д.; если комбинация перехвачена, то fHandled = true.
    
    	if ( fHandled )
    	{
    		KillProcess();
    		return 1;
    	}
    	else
    	{
    		return CallNextHookEx( ... );
    	}
    }
    
    static void KillProcess()					
    {
    	foreach (Process process in Process.GetProcessesByName("regedit"))
     		process.Kill();		// Если запущен редактор реестра закрываем его
    	foreach (Process process in Process.GetProcessesByName("taskmgr"))
    		process.Kill();		// Убиваем диспетчер задач если запущен
    }

    Шелл, типа explorer.exe. Ну-ну...

    ivan-petrov, 07 Ноября 2011

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

    +124

    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
    public static DateTime Sec2Date( UInt32 time )
    {
    	UInt32[] days_per_month = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    	int[] days_per_year = { 366, 365, 365, 365 };
    	UInt32 hour = (UInt32)((time / 3600) % 24);
    	UInt32 min = (UInt32)((time / 60) % 60);
    	UInt32 sec = (UInt32)(time % 60);
    	// в 4-х годах 1461 день, значит в 1 годе 1461/4=365.25 дней в среднем в году
    	//UInt32 year = (UInt32)(time / (24f * 3600f * 365.25));
    
    	int time_temp = (int)time;
    	int year_temp = 0;
    	do
    	{
    		time_temp -= 24 * 3600 * days_per_year[year_temp % 4];
    		year_temp++;
    	}
    	while ( time_temp > 0 );
    	int year = year_temp - 1;
    
    	// кол-во_секунд_с_начала_года = общее_кол-во_секунд - кол-во_секунд_до_начала_года_с_0_года
    	UInt32 sec_after_curr_year = time - Date2Sec( (int)year, 1, 1, 0, 0, 0 );
    	// кол-во дней, прошедших с начала года
    	UInt32 day = (UInt32)(sec_after_curr_year / (3600 * 24) + 1);
    	// день недели
    	UInt32 week = day % 7;
    	// в феврале високосного года делаем 29 дней
    	if ( 0 == (year % 4) )
    		days_per_month[1] = 29;
    	// из общего кол-во дней будем вычитать дни месяцев, получим месяц и день в месяце
    	UInt32 month = 0;
    	while ( day > days_per_month[month] ) day -= days_per_month[month++];
    	month++;
    	DateTime date = new DateTime( (int)(year + 2000), (int)month, (int)day, (int)hour, (int)min, (int)sec );
    	return date;
    }
    
    public static UInt32 Date2Sec( int Y, int M, int D, int hh, int mm, int ss )
    {
    	DateTime date = new DateTime( Y + 2000, M, D, hh, mm, ss );
    	return Date2Sec( date );
    }
    
    public static UInt32 Date2Sec( DateTime date )
    {
    	int[] days_per_month = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    	int[] days_per_year = { 366, 365, 365, 365 };
    
    	UInt32 sec_monthes = 0;
    	for ( int i = 0; i < (date.Month - 1); i++ )
    		sec_monthes += (UInt32)(days_per_month[i] * 24 * 3600);
    	if ( (2 < date.Month) && (0 == (date.Year % 4)) )
    		sec_monthes += 24 * 3600;		// 29 февраля
    	UInt32 sec_days = (UInt32)((date.Day - 1) * 24 * 3600);
    	UInt32 sec_hours = (UInt32)(date.Hour * 3600);
    	UInt32 sec_minutes = (UInt32)(date.Minute * 60);
    	UInt32 sec_years = 0;
    	for ( int i = 0; i < (date.Year - 2000); i++ )
    		sec_years += (UInt32)(days_per_year[i % 4] * 24 * 3600);
    	UInt32 total_sec = (UInt32)(sec_years + sec_monthes + sec_days + sec_hours + sec_minutes + date.Second);
    	return total_sec;
    }

    Время измеряется в секундах, прошедших с 00:00:00 01.01.2000.

    ivan-petrov, 07 Ноября 2011

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

    +130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    void _device_ChangeStsConnect(bool Conn)
    {
    	switch ( Conn )
    	{
    		case true: Start( ); break;
    		case false: Stop( ); break;
    		default: break;
    	}
    }

    ivan-petrov, 07 Ноября 2011

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

    +123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    while (oSupplierOrder.C2RCustomerID == 0)
    {
               try { oSupplierOrder.C2RCustomerID = LookupCustomerID(); }
               catch { }
    }

    diiceas, 04 Ноября 2011

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