1. Список говнокодов пользователя Lokich

    Всего: 35

  2. C# / Говнокод #13708

    +134

    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
    public void ConvertCross_2(int ch, string pfile,string NameSheet){
                //Преобразуем КроссТаблицу
                int Div = Convert.ToInt16(comboBox3.Text) - 1;
                string fn = ""; string fn1 = ""; string fn12 = ""; string fn13 = "";
                string fn14 = ""; string fn15 = ""; string fn16 = ""; string fn2 = "";
                string fn3 = "";
                string st = "";
                StreamWriter sw;
                string dirfile = "";
                if (textBox1.Text != ""){
                    dirfile = textBox1.Text + "\\" + pfile + ".csv";
                    if (ch == 1){
                        File.Delete(dirfile);
                    }
                    sw = new StreamWriter(dirfile, true, System.Text.Encoding.UTF8);
                }else{
                    if (ch == 1){
                        File.Delete(openFileDialog1.FileName + ".csv");
                    }
                    sw = new StreamWriter(openFileDialog1.FileName + ".csv", true, System.Text.Encoding.UTF8);
                }
                try{
                    for (int cl = 0; cl < 3 + Div; cl++){
                        fn = "F" + cl;
                        if (cl == 0){
                            st =  fn;
                        }else{
                            st += ";" +  fn ;
                        }
                    }
                    st += ";" +  "Sheets";
                    if (ch == 1){
                        sw.WriteLine(st);
                    }
                    for (int i = 1 + Div; i < dt.Columns.Count; i++){
                       Application.DoEvents();
                        for (int j = 1; j < dt.Rows.Count; j++){
                            fn1 = dt.Rows[j][0].ToString();
                            if (fn1 == "") fn1 = " ";
                            else fn1 = fn1.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            if (Div >= 1){
                                fn12 = dt.Rows[j][1].ToString();
                                if (fn1 == "") fn12 = " ";
                                else fn12 = fn12.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            }
                            if (Div >= 2){
                                fn13 = dt.Rows[j][2].ToString();
                                if (fn13 == "") fn13 = " ";
                                else fn13 = fn13.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            }
                            if (Div >= 3){
                                fn14 = dt.Rows[j][3].ToString();
                                if (fn14 == "") fn14 = " ";
                                else fn14 = fn14.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            }
                            if (Div >= 4){
                                fn15 = dt.Rows[j][4].ToString();
                                if (fn15 == "") fn15 = " ";
                                else fn15 = fn15.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            }
                            if (Div == 5){
                                fn16 = dt.Rows[j][5].ToString();
                                if (fn16 == "") fn16 = " ";
                                else fn16 = fn16.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            }
                            fn2 = dt.Rows[0][i].ToString();
                            if (fn2 == "") fn2 = " ";
                            else fn2 = fn2.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            fn3 = dt.Rows[j][i].ToString();
                            if (fn2 == "") fn2 = " ";
                            else fn2 = fn2.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            st =  fn1  + ";";
                            if (Div >= 1){
                                st = st +  fn12  + ";";
                            }
                            if (Div >= 2){
                                st = st +  fn13  + ";";
                            }
                            if (Div >= 3){
                                st = st +  fn14 + ";";
                            }
                            if (Div >= 4){
                                st = st + fn15 + ";";
                            }
                            if (Div >= 5){
                                st = st + fn16 + ";";
                            }
                            st = st +  fn2 +  ";" + fn3 + ";\"" + NameSheet.Replace("\n", "").Replace("\r", "").Replace(";", "SemicoloN");
                            if (fn3.Trim()!=""){
                               sw.WriteLine(st);
                            }
                        }
                    }
                    sw.Close();            
                }finally{
                    sw.Close();
            }
    }

    кто бы мог подумать, что так можно сделать unpivot

    Lokich, 30 Августа 2013

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

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private void MultiSelectBox1_CheckedChanged(object sender, EventArgs e) {
               if (MultiSelectBox1.Checked == true) {
                    openFileDialog1.Multiselect = true;
                } else {
                    openFileDialog1.Multiselect = false;
                }
            }

    Lokich, 30 Августа 2013

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

    +134

    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
    public DataTable ConvertToString(Array values, int col_length, int row_length, int counter) {
                DataTable dt = new DataTable();
                string[] theArray = new string[col_length];
                if (row_length < counter)
                    counter = row_length;
                for (int j = 1; j <= counter; j++) {
                    for (int i = 1; i <= col_length; i++) {
                        if (j == 1) {
                            try {
                                dt.Columns.Add(values.GetValue(j, i).ToString().Replace('.', '_'));
                            } catch (NullReferenceException nre) {
                                dt.Columns.Add("F" + i);
                            }
                        } else if (values.GetValue(j, i) == null)
                            theArray[i - 1] = "";
                        else
                            theArray[i - 1] = (string)values.GetValue(j, i).ToString();
                    }
                    if (j != 1)
                        dt.LoadDataRow(theArray, true);
    
                }
                return dt;
            }

    шедеврально, чтобы понять, есть ли значение в первой строке нужно словить NullReferenceException, а дальше можно проверить на != null
    и так же (string)values.GetValue(j, i).ToString();

    Lokich, 30 Августа 2013

    Комментарии (17)
  5. JavaScript / Говнокод #11802

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function confirmDialog(sMessage) {
        if (confirm(sMessage)) {
            return true;
        } else {
            return false;
        }
    }

    Lokich, 19 Сентября 2012

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

    +114

    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
    99. 99
    private void button8_Click(object sender, EventArgs e)
            {
    
                string fn = "";
                string st = "";
                string value = "";
                string dirfile = "";
                StreamWriter sw;
    
    
                if (textBox1.Text != "")
                {
                    dirfile = textBox1.Text + "\\" + GetFileName(openFileDialog1.FileName) + comboBox1.SelectedValue.ToString() + ".csv";
                    sw = new StreamWriter(dirfile, false, System.Text.Encoding.UTF8);
                }
                else
                {
                    sw = new StreamWriter(openFileDialog1.FileName + comboBox1.SelectedValue.ToString() + ".csv", false, System.Text.Encoding.UTF8);
                }
    
                // Создаем колонки
    
                for (int cl = 0; cl < dt.Columns.Count; cl++)
                {
                    fn = dt.Columns[cl].ColumnName;
    
    
                    if (cl == 0)
                    {
                        st =  fn.Replace("\n", "").Replace(";", "");
                    }
                    else
                    {
                        st += ";" +  fn.Replace("\n", "").Replace(";", "");
                    }
    
    
                }
                sw.WriteLine(st);
    
    
                progressBar1.Minimum = 1;
                progressBar1.Maximum = dt.Rows.Count;
    
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    progressBar1.Value = i + 1;
    
                    Application.DoEvents();
    
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        value = dt.Rows[i][j].ToString();
    
                        if (value == "") { value = " "; }
    
                        try
                        {
                            Convert.ToInt16(value);
                            if (j == 0)
                            {
                                st = value.Replace("\n", "").Replace(";", "");
                            }
                            else
                            {
    
                                st += ";" + value.Replace("\n", "").Replace(";", "");
                            }
                        }
                        catch (System.FormatException exp)
                        {
                            if (j == 0)
                            {
                                st =  value.Replace("\n", "").Replace(";", "");
    
                            }
                            else
                            {
    
                                st += ";" +  value.Replace("\n", "").Replace(";", "") ;
                            }
                        }
                        catch (OverflowException oe)
                        {
                            if (j == 0)
                            {
                                st = value.Replace("\n", "").Replace(";", "");
                            }
                            else
                            {
    
                                st += ";" + value.Replace("\n", "").Replace(";", "");
                            }
                        }
                    }
                    sw.WriteLine(st);
                }
                sw.Close();
                MessageBox.Show("Ok");

    досталось в наследство, сохранение DataTable в CSV :)

    Lokich, 26 Марта 2012

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