Принципиален и решителен. Обладаю холодным рассудком с английским чувством юмора.

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (14)

Лучшие ответы пользователя

Все ответы (8)
  • C# Перехват вывода запущенного консольного приложения

    ColorCast
    @ColorCast
    Человек атомоход
    Делается все через переадресацию потока вывода в String
    public  class CommandHelpers
        {
            public CommandHelpers()
            {
                Invisible = true; // При переадресации утилита должна быть скрыта
            }
    
    public bool Invisible { get; set; }
    
    private Process CreateProcess(string commandName, IEnumerable<string> paramsList, bool output = false)
            {
                string paramString = paramsList.Aggregate<string, string>(null,
                    (current, param) => current + " " + param);
                return new Process
                {
                    StartInfo =
                    {
                        FileName = commandName, // полный путь до инстансыруемого приложения
                        Arguments = paramString, // сюда передаются аргументы командной строки
                        UseShellExecute = output ? !output : !Invisible, // Параметр отвечает за фоновое выполнение
                        RedirectStandardOutput = output // Параметр отвечает за переадресацию
                    }
                };
            }
    		/// <summary>
            ///     Returns result of command execution
            /// </summary>
            /// <param name="commandName">Command name only</param>
            /// <param name="paramsList">Params and keys for command</param>
            /// <returns></returns>
            public string GetResult(string commandName, IEnumerable<string> paramsList)
            {
                var bufer = new StringBuilder();
                using (var proc = CreateProcess(commandName, paramsList, true))
                {
                    proc.Start(); // инстансыруемся
                    while (!proc.StandardOutput.EndOfStream)
                    {
                        bufer.AppendLine(proc.StandardOutput.ReadLine()); // пишем в буфер
                    }
                }
                return bufer.ToString();
            }
    	}
    Ответ написан
    Комментировать
  • Как сделать хитрую выборку из БД?

    ColorCast
    @ColorCast
    Человек атомоход
    У меня была задача связанная с криптозащитой, пришлось писать свой рандом, потому что существующая функция имеет приличную кучность.
    Суть алгоритма основывается на получение списка ID записей и еще оного столбца для хеша фиксированной длинны. Далее генериться случайный хеш и сравнивается по весовому совпадению с хешами контрольных записей. Остаются хеши с одинаковыми весами. Для них снова генерим произвольный хеш и сравниваем. Так до тех пор пока не останется одно значение. Далее получаем запись по ID.
    Ответ написан
    1 комментарий
  • Как полностью удалить следы установки Visual Studio Pro 2013, чтобы установить community?

    ColorCast
    @ColorCast
    Человек атомоход
    Решал аналогичную проблему при переходе с 2012 с помощью точек восстановления, потом снимками реестра.
    Сейчас снимков нет и проблема в следующем:
    e19e0613b32745bb9e8b417195444035.jpg

    Она смотрит в реестр и видит зависимости, поэтому не ставится. Пока ищу решение.
    Ответ написан
    2 комментария

Лучшие вопросы пользователя

Все вопросы (4)