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

    +116

    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
    var sEmailRecipient = string.Empty;
    
                        string m_sPhysicalPath = "";
                        if (SaveType == "both" || SaveType == "email")
                        {
                            
                            List<User> recipients = null;
                            if (RecipentSelectMode == "auto")
                            {
                                if (!string.IsNullOrEmpty(AutoRecipient))
                                    recipients = Notification.ConvertToUsers(AutoRecipient, MethodologyId, CurrentObjectId, CurrentUserId, CurrentEntityName);
                            }
                            if(RecipentSelectMode == "manual"){
                                if (Recipient != null)
                                    sEmailRecipient = EvaluateExpression(CurrentUserId, MethodologyId, MainEntityName, MainObjectId, Recipient);
                            }
                            
                             m_sPhysicalPath = Document.AbsoluteApplicationPath + "/" + p_sReportPath.Substring(p_sReportPath.LastIndexOf("storage"));
    
                             if (RecipentSelectMode == "auto")
                             {
                                 foreach (User user in recipients)
                                 {
                                     if (Regex.IsMatch(user.Email, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.None))
                                     {
                                         SendReportByEmail(m_sPhysicalPath, user);
                                     }
                                 }
                             }
                             if (RecipentSelectMode == "manual")
                             {
                                 if (Regex.IsMatch(Recipient, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.None))
                                 {
                                     SendReportByEmail(m_sPhysicalPath, new User { Email = sEmailRecipient });
    
                                 }
                                 else
                                 {
                                     return CreateResult(GetClientData(), "Email message sending failed - incorrect email address - " + Recipient, (int)ReportRenderingFailType.Success);
    
                                 }
                        
                             }
    
                        }
                        if (SaveType == "email")
                        {
                            FileInfo file = new FileInfo(m_sPhysicalPath);
                            if (file.Exists)
                                file.Delete();
                        }

    Отправляет отчет по email

    PetrLyapin, 27 Января 2011

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

    +130

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    private int FindIndexOfItemWithValue(object value)
    {
        for (int i = 0; i < base.Items.Count; i++)
        {
            object item = base.Items[i];
            if (InternalUtils.AreValuesEqual(this.SelectedValue, this.GetSelectedValue(item)))
            {
                return i;
            }
        }
        return -1;
    }

    Код комбобокса из System.Windows, Version=2.0.5.0 (Silverlight). Где тут ищется value - загадка природы.

    Unseen, 27 Января 2011

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

    +120

    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
    95. 95
    96. 96
    97. 97
    98. 98
    static void processCmd(string command) {
    	string[] c_args = command.Split(" ".ToCharArray());
    	switch (c_args[0]) {
    		case "beep":
    			nbr.PlayTone(4096, 500);
    			break;
    		case "exit":
    			exit_op();
    			break;
    		case "info":
    			log_ca("Info:");
    			log_ca(Application.ProductName + " " + Application.ProductVersion);
    			log_ca("listener is " + ((services_running[0]) ? "running" : "down"));
    			log_ca("updater is " + ((services_running[1]) ? "running" : "down"));
    			break;
    		case "start":
    			try {
    				switch (c_args[1]) {
    					case "updater":
    						break;
    					case "listener":
    						if (services_running[0])
    							log_ca("listener is already running");
    						else
    							start_listener();
    						break;
    					default:
    						throw new ArgumentException();
    						break;
    				}
    			}
    			catch {
    				log_ca("Usage: start <service>. Available services: listener, updater.");
    			}
    			break;
    		case "help":
    			foreach (string hs in System.IO.File.ReadAllLines("help.txt")) {
    				log_ca(hs);
    			}
    			break;
    		default:
    			log_ca("\"help\" will display all available commands");
    			break;
    		case "stop":
    			try {
    				nbr.MotorA.Brake();
    				nbr.MotorB.Brake();
    				nbr.MotorC.Brake();
    			}
    			catch { }
    			break;
    		case "run":
    			try {
    				switch(c_args[1]) {
    					case "a":
    						if(arr_motor[0]=="none")
    							log_e("Motor not found or config error");
    						else {
    							if (c_args[4] == "false")
    								nbr.MotorA = new NxtMotor(false);
    							else
    								nbr.MotorA = new NxtMotor(true);
    							nbr.MotorA.Run(Convert.ToSByte(c_args[2]), Convert.ToUInt32(c_args[3]));
    						}
    						break;
    					case "b":
    						if(arr_motor[1]=="none")
    							log_e("Motor not found or config error");
    						else {
    							if (c_args[4] == "false")
    								nbr.MotorB = new NxtMotor(false);
    							else
    								nbr.MotorB = new NxtMotor(true);
    							nbr.MotorB.Run(Convert.ToSByte(c_args[2]), Convert.ToUInt32(c_args[3]));
    						}
    						break;
    					case "c":
    						if(arr_motor[2]=="none")
    							log_e("Motor not found or config error");
    						else {
    							if (c_args[4] == "false")
    								nbr.MotorC = new NxtMotor(false);
    							else
    								nbr.MotorC = new NxtMotor(true);
    							nbr.MotorC.Run(Convert.ToSByte(c_args[2]), Convert.ToUInt32(c_args[3]));
    						}
    						break;
    					default:
    						throw new Exception();
    						break;
    				}
    			}
    			catch (Exception ex) {
    				log_ca("Usage: run <motor> <speed> <tacho> <reverse>. Example: run a 100 0 false.");
    			}
    		break;
    	}
    }

    Мой код, написано 3 года назад.

    A1mighty, 27 Января 2011

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

    +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
    // ****************************************************************************************
            // checkArguments
            // 
            // 
            // ****************************************************************************************
            private bool checkArguments()
            
            {
    
                bool boolSourceUserNameOK      = false;
                bool boolPathOK                = true;
    
                // Check the user name has been provided.
                if (this.UserName != null)
                {
                    if (this.UserName.Length > 0)
                    {
                        boolSourceUserNameOK = true;
                    }
                }
    
                // Check the source path has been provided.
                if (this.SourcePath == null)
                {
                    boolPathOK = false;
                }
                else
                {
                    if (this.SourcePath.Length == 0)
                    {
                        boolPathOK = false;
                    }
                }
    
                return boolSourceUserNameOK && boolPathOK;
    
            }

    Очень поэтичная проверка на две пустые строки =)

    victorko, 25 Января 2011

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

    +131

    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
    string name = dr["name"].ToString().Trim();
    
                    //отступы
    
                    switch (lev)
                    {
                        case 0: tc.Text = "&nbsp;" + name; break;
                        case 1: tc.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + name; break;
                        case 2: tc.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + name; break;
                        case 3: tc.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + name; break;
                        case 4:
                        case 5:
                        case 6: tc.Text = "&nbsp;" + name; break;
                    }

    Создание отступов в ячейке таблицы...

    alex_donetsk, 24 Января 2011

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

    +113

    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
    protected override void Draw(GameTime gameTime)
    {
        graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
    	
        //Новый массив матриц размером, соответствующим количеству костей в скелете модели
        Matrix[] absoluteTransformations = new Matrix[pen.Bones.Count];
    	
        //Скопировать матрицы трансформации костей в массив матриц
        pen.CopyAbsoluteBoneTransformsTo(absoluteTransformations);
    
        foreach (ModelMesh mesh in pen.Meshes)
        {
            foreach (BasicEffect effect in mesh.Effects)
            {
                effect.LightingEnabled = true;
                effect.EnableDefaultLighting();
                effect.Projection = projMatrix;
                effect.View = viewMatrix;
    
                //Установим новую мировую матрицу для родительской кости текущей сети
                //Так же здесь мы уменьшаем модель, применяя коэффициент масштабирования 0,13
                effect.World = absoluteTransformations[mesh.ParentBone.Index] * Matrix.CreateScale(0.13f);
            }
            //Выводим подготовленную сеть
            mesh.Draw();
        }
        base.Draw(gameTime);
    }

    костная анимация в XNA

    Kornew, 24 Января 2011

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    int type = int.Parse(r.Cells[3].Value.ToString());
    if (type == 1 || type == 3 || type == 5 || type == 6 || type == 7) type--;
    else if (type == 4) type = 2;
    else if (type == 666) type = 3;

    Парсим данные из XLS-файла.

    Kirinyale, 21 Января 2011

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

    +116

    1. 1
    var content = (IContent) null;

    Я бы до такого не додумался...

    fr0mrus, 18 Января 2011

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

    +133

    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
    Как вам вот такой вот класс...
    
    public static class TypeFromString
        {
            public static Type FindTypeFromString(string s)
            {
                Assembly mainAssembly = Assembly.GetExecutingAssembly();
                return Type.GetType(s);
            }
        }
    
    ... и его использование.
    TypeFromString.FindTypeFromString(typeof (...).ToString())

    сверхконцептуально!

    tubus, 17 Января 2011

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

    +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
    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
    //1.    Реализовать с помощью персептронов распознавание изображений букв, заданных в виде матриц (4x4, 8x8 или др.). 
    //Набор букв для распознавания определяется фамилией студента (‘Иванов‘ = ‘И‘, ‘В‘, ‘А‘, ‘Н‘, ‘О‘).
    //Выполнить в виде сети из одного слоя. Необходимо выполнить обучение сети на требуемый набор букв. 
    namespace lab1_1
    {
        class Program
    	{
    		 static int[,] wRe = new int[5,25] { 
    			{1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1 },
    			{1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1 }, ...
    		};
    ...
    		///  Дельта обучение 
    		static int delta()
    		{
    			bool p = true;
    			while (p){
    				p = false;
    				int yRes1 = 0, yRes2 = 0, yRes3 = 0, yRes4 = 0, yRes5 = 0;
    				if ((y[0, 0] == 1) && (y[0, 1] == 0) && (y[0, 2] == 0) && (y[0, 3] == 0) && (y[0, 4] == 0)) yRes1 = 1;
    				if ((y[1, 0] == 0) && (y[1, 1] == 1) && (y[1, 2] == 0) && (y[1, 3] == 0) && (y[1, 4] == 0)) yRes2 = 1;
    ....
     
    				for (int i = 0; i < 25; i++) w[i]=wRe[0, i];
    					// суматоры 
    				int s1 = b[0] + w[0] * iBukva[0, 0] + w[1] * iBukva[0, 1] + w[2] * iBukva[0, 2] + w[3] * iBukva[0, 3] + w[4] * iBukva[0, 4] +
    					w[5] * iBukva[1, 0] + w[6] * iBukva[1, 1] + w[7] * iBukva[1, 2] + w[8] * iBukva[1, 3] + w[9] * iBukva[1, 4] +
    ....
    				 t1 = s1 < fi ? 0 : 1;
    				int yResT1 = 0;
    				if ((t1 == 1) && (t2 == 0) && (t3 == 0) && (t4 == 0) && (t5 == 0)) yResT1 = 1;
    				// первая буква
    				if ((yRes1 != yResT1) && (yRes1 == 0))
    				{
    					for (int i = 0; i < 5; i++)
    						for (int j = 0; j < 5; j++)
    							if (iBukva[i, j] == 1) w[5 * i + j]--;
    					b[0]--;
    					p = true;
    				}
    				 if ((yRes1 != yResT1) && (yRes1 == 1))
    				{
    					for (int i = 0; i < 5; i++)
    						for (int j = 0; j < 5; j++)
    							if (iBukva[i, j] == 1) w[5 * i + j]++;
    					b[0]++;
    					p = true;
    				}
    				 for (int i = 0; i < 25; i++) wRe[0, i] = w[i];
     
    				for (int i = 0; i < 25; i++) w[i] = wRe[1, i];
    				int s2 = b[1] + w[0] * vBukva[0, 0] + w[1] * vBukva[0, 1] + w[2] * vBukva[0, 2] + w[3] * vBukva[0, 3] + w[4] * vBukva[0, 4] +
    					w[5] * vBukva[1, 0] + w[6] * vBukva[1, 1] + w[7] * vBukva[1, 2] + w[8] * vBukva[1, 3] + w[9] * vBukva[1, 4] +
    ...
    				 t2 = s2 < fi ? 0 : 1;
    				int yResT2 = 0;
    				if ((t1 == 0) && (t2 == 1) && (t3 == 0) && (t4 == 0) && (t5 == 0)) yResT2 = 1;
    				//вторая буква
    				if ((yRes2 != yResT2) && (yRes2 == 0))
    				{
    					for (int i = 0; i < 5; i++)
    						for (int j = 0; j < 5; j++)
    							if (vBukva[i, j] == 1) w[5 * i + j]--;
    					b[1]--;
    					p = true;
    				}
    				 if ((yRes2 != yResT2) && (yRes2 == 1))
    				{
    					for (int i = 0; i < 5; i++)
    						for (int j = 0; j < 5; j++)
    							if (vBukva[i, j] == 1) w[5 * i + j]++;
    					b[1]++;
    					p = true;
    				}
    				 for (int i = 0; i < 25; i++) wRe[1, i] = w[i];
     
    				for (int i = 0; i < 25; i++) w[i] = wRe[2, i];
    				int s3 = b[2] + w[0] * aBukva[0, 0] + w[1] * aBukva[0, 1] + w[2] * aBukva[0, 2] + w[3] * aBukva[0, 3] + w[4] * aBukva[0, 4] +
    					w[5] * aBukva[1, 0] + w[6] * aBukva[1, 1] + w[7] * aBukva[1, 2] + w[8] * aBukva[1, 3] + w[9] * aBukva[1, 4] +
    					w[10] * aBukva[2, 0] + w[11] * aBukva[2, 1] + w[12] * aBukva[2, 2] + w[13] * aBukva[2, 3] + w[14] * aBukva[2, 4] +
    					w[15] * aBukva[3, 0] + w[16] * aBukva[3, 1] + w[17] * aBukva[3, 2] + w[18] * aBukva[3, 3] + w[19] * aBukva[3, 4] +
    					w[20] * aBukva[4, 0] + w[21] * aBukva[4, 1] + w[22] * aBukva[4, 2] + w[23] * aBukva[4, 3] + w[24] * aBukva[4, 4];
    ...

    qbasic, 16 Января 2011

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