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

    +98

    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
    static void CompressFile(string inFilename, 
                                 string outFilename)
        {
    
          FileStream sourceFile = File.OpenRead(inFilename);
          FileStream destFile = File.Create(outFilename);
    
          // Create the Compressed stream
          GZipStream compStream =
            new GZipStream(destFile, CompressionMode.Compress);
    
          // Write the data
          int theByte = sourceFile.ReadByte();
          while (theByte != -1)
          {
            compStream.WriteByte((byte)theByte);
            theByte = sourceFile.ReadByte();
          }
    
          // Clean it up
          sourceFile.Close();
          compStream.Close();
          destFile.Close();
        }

    Пример из книги "Microsoft .NET Framework 2.0 Application Development Foundation", официального пособия для подготовки к экзамену 70-536.
    Угадайте, почему "сжатые" файлы получаются больше несжатых.

    gecko, 02 Ноября 2009

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

    +135.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
    StiReport report = // создание отчета  StimulSoft Reporter          
     // . . . . .
     
    // . . . . . 
                string tempfilename = System.Guid.NewGuid().ToString() + ".tmp";
                report.ExportDocument(StiExportFormat.Word2007, tempfilename);    //позволяет конвертировать отчет только в поток 
    
                FileStream stream = new FileStream(tempfilename, FileMode.Open);
                byte[] reportFile = new byte[stream.Length];
                stream.Read(reportFile, 0, (int)stream.Length);
                stream.Close();
                File.Delete(tempfilename);
    
                if (reportFile.Length > 0)
                    if (MessageBox.Show("Зберегти друковану форму?", "Запит", MessageBoxButtons.OKCancel) == DialogResult.OK)
                         WriteToDB(reportFile, "Документ.docx");

    sven47, 31 Октября 2009

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

    +105.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
    public class ImportService : System.Web.Services.WebService
       {
           private const string KEY = "*******";
           [WebMethod]
           public void AddFileInQueue(string aKey, ..., out String error)
           {
                     ...
                   if (KEY == aKey)
                     ...
                   else
                   {
                       error = "Invalid key";
                   }
            }
        }

    Мне предложили использовать эту же авторизацию для нового веб-сервиса в том же проекте со словами "there is normal login implemented somewhere"

    Yagg, 28 Октября 2009

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

    +132.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
    public string removeSpecialCharacters(string orig) {
                string rv;
    
                rv = orig.Replace("\\", " ");
                rv = rv.Replace("(", " ");
                rv = rv.Replace(")", " ");
                rv = rv.Replace("/", " ");
                rv = rv.Replace("-", " ");
                rv = rv.Replace(",", " ");
                rv = rv.Replace(">", " ");
                rv = rv.Replace("<", " ");
                rv = rv.Replace("-", " ");
                rv = rv.Replace("&", " ");
    
                rv = rv.Replace("'", "");
    
                rv = rv.Replace("\u2019", ""); // smart forward (possessive) quote.
    
                rv = rv.Replace(" ", "");
    
                rv = rv.Trim(' '); // Remove leading and trailing spaces.
    
                return (rv);
            }

    fade, 27 Октября 2009

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

    +94

    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
    if (comboBox4.Text == "Да")
     {
             ph[0] = (p11p * ph[0]) / ((p11p * ph[0]) + (p11n * (Convert.ToDouble(1) - ph[0])));
             ph_[1] = ph[0];
    }
    if (comboBox4.Text == "Да напевно")
    {
           str = (p11p * ph[0]) / ((p11p * ph[0]) + (p11n * (Convert.ToDouble(1) - ph[0])));
           str = (str - ph[0]) / 2;
           ph[0] += str;
           ph_[1] = ph[0];
    }
    if (comboBox4.Text == "Нет")
    {
           ph[0] = (ph[0] * (Convert.ToDouble(1) - p11p)) / (Convert.ToDouble(1) - (ph[0] * p11p) - (p11n * (Convert.ToDouble(1) - ph[0])));
           ph_[1] = ph[0];
    }
    if (comboBox4.Text == "Нет напевно")
    {
           str = (ph[0] * (Convert.ToDouble(1) - p11p)) / (Convert.ToDouble(1) - (ph[0] * p11p) - (p11n * (Convert.ToDouble(1) - ph[0])));
           str = (str - ph[0]) / 2;
           ph[0] += str;
           ph_[1] = ph[0];
    }
    if (comboBox4.Text == "Не знаю")
    {
           ph_[1] = ph[0];
    }

    pmalyavkin, 26 Октября 2009

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

    +130.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
    #region C++ signatures
            //long TRANS2QUIK_API __stdcall TRANS2QUIK_CONNECT (
            //    LPSTR lpstConnectionParamsString, 
            //    long* pnExtendedErrorCode, 
            //    LPSTR lpstrErrorMessage, 
            //    DWORD dwErrorMessageSize);
            #endregion
    
    
            #region connect
            [DllImport("TRANS2QUIK.DLL", EntryPoint = "_TRANS2QUIK_CONNECT@16",CallingConvention = CallingConvention.StdCall)]
            static extern long connect(string lpcstrConnectionParamsString,ref long pnExtendedErrorCode,
               byte[] lpstrErrorMessage,UInt32 dwErrorMessageSize);
            public static void connect_test(bool FinalPause)
            {
                string path = @"D:\Квики\Quik.ТХБ2007\";
                Byte[] EMsg = new Byte[50];
                UInt32 EMsgSz = 50;
                long ExtEC = 0, rez = -1;
                rez = connect(path, ref ExtEC, EMsg, EMsgSz);
                Console.WriteLine("test_q.connect_test>\t\t{0} {1} ",rez & 255, ResultToString(rez&255));
                //Console.WriteLine(" ExtEC={0}, EMsg={1}, EMsgSz={2}", (ExtEC & 255), EMsg, EMsgSz);
                if(FinalPause)Console.ReadLine();
            }
            #endregion

    Юзаем функцию написанную на C++ и возвращающую тип long. После неправильного маршалинга (в C++ long это 32 бита, а не 64) отсекаем лишние биты по AND.

    greeny, 24 Октября 2009

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

    +135.8

    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
    public static string ResultToString(long Result)
            {
                switch (Result)
                {
                    case TRANS2QUIK_SUCCESS:                                //0
                        return "TRANS2QUIK_SUCCESS";
                        break;
                    case TRANS2QUIK_FAILED:                                 //1
                        return "TRANS2QUIK_FAILED";
                        break;
                    case TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND:                //2
                        return "TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND";
                        break;
                    case TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED:              //3
                        return "TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED";
                        break;
                    case TRANS2QUIK_ALREADY_CONNECTED_TO_QUIK:              //4
                        return "TRANS2QUIK_ALREADY_CONNECTED_TO_QUIK";
                        break;
                    case TRANS2QUIK_WRONG_SYNTAX:                           //5
                        return "TRANS2QUIK_WRONG_SYNTAX";
                        break;
                    case TRANS2QUIK_QUIK_NOT_CONNECTED:                     //6
                        return "TRANS2QUIK_QUIK_NOT_CONNECTED";
                        break;
                    case TRANS2QUIK_DLL_NOT_CONNECTED:                      //7
                        return "TRANS2QUIK_DLL_NOT_CONNECTED";
                        break;
                    case TRANS2QUIK_QUIK_CONNECTED:                         //8
                        return "TRANS2QUIK_QUIK_CONNECTED";
                        break;
                    case TRANS2QUIK_QUIK_DISCONNECTED:                      //9
                        return "TRANS2QUIK_QUIK_DISCONNECTED";
                        break;
                    case TRANS2QUIK_DLL_CONNECTED:                          //10
                        return "TRANS2QUIK_DLL_CONNECTED";
                        break;
                    case TRANS2QUIK_DLL_DISCONNECTED:                       //11
                        return "TRANS2QUIK_DLL_DISCONNECTED";
                        break;
                    case TRANS2QUIK_MEMORY_ALLOCATION_ERROR:                //12
                        return "TRANS2QUIK_MEMORY_ALLOCATION_ERROR";
                        break;
                    case TRANS2QUIK_WRONG_CONNECTION_HANDLE:                //13
                        return "TRANS2QUIK_WRONG_CONNECTION_HANDLE";
                        break;
                    case TRANS2QUIK_WRONG_INPUT_PARAMS:                     //14
                        return "TRANS2QUIK_WRONG_INPUT_PARAMS";
                        break;
                    default:
                        return "UNKNOWN_VALUE";
                        break;
                }
            }
            public static string ByteToString(byte[] Str)
            { 
                string s="";
                for (int i = 0; i < Str.Length; i++)
                {
                    s = s + Str[i].ToString();
                }
                return s;
            }

    Лежит в качестве примера на одном из сайтов.
    Ну автору всё равно спасибо, пример и правда полезный (да и код прикольный :)).

    greeny, 23 Октября 2009

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

    +136.4

    1. 1
    2. 2
    // string prefix = ...
    query.Parameters[string.Format("{0}", prefix)].Value = m_Values[0];

    из того же класса что и #2011

    mosk, 22 Октября 2009

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

    +133.7

    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
    try
                {
                    var st = ((JsonString)options["tribes"]).Value.Split(',');
                    foreach (var s in st)
                    {
                        if (s != string.Empty)
                        {
                            ShowTribes.Add(s);
                        }
                    }
                }
                catch (KeyNotFoundException)
                { }
                try
                {
                    ShowNotes = ((JsonString)options["show_comments"]).Equals("true") || (url.IndexOf("#note_id=") != -1);
                }
                catch (KeyNotFoundException)
                { }
                try
                {
                    Rating = ((JsonString)options["eye"]).Value;
                }
                catch (KeyNotFoundException)
                { }

    plsc_rover, 21 Октября 2009

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

    +99

    1. 1
    new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);

    Создание даты

    mosk, 21 Октября 2009

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