Как запустить другую программу/исполняемый .exe файл из кода C#

Задача: из программы на C# запустить другую программу (исполняемый файл). В теории все просто Но есть нюанс, если запускаемая программа находится в другом каталоге и использует для получения инофрмации о текущем каталоге функцию Directory.GetCurrentDirectory, то она получит вместо собственного каталога … Читать далее

Как переименовать проект/каталог проекта в Visual Studio?

Задача: полностью переименовать решение Visual Studio, включая каталоги проекта и решения, название исполняемого файла и пространство имен. Решение несколько неочевидно, пройдем по шагам: Делаем резервную копию папки с решением. Решение и проект переименовываем в студии Имя исполняемого .exe файла изменяем … Читать далее

Ловим ошибки в запросе к MS SQl и откатываем изменения - транзакции (transaction) и блок TRY-CATCH

Имеем запрос, меняющий данные на MS SQL Server. Задача: отловить возникшие при выполнении запроса ошибки и откатить все уже внесенные внутри запроса изменения к состоянию на момент его запуска. Помогут нам в этом нелегком деле транзакции и блок TRY-CATCH. Когда … Читать далее

Ошибка при работе с Word (Interop) в C# - "Заглушке переданы неправильные данные / Stub recieved bad data"

Редкая и экзотическая ошибка, способная при удачном стечении обстоятельств съесть значительную часть мозга среднестатистического программиста. У меня она проявилась на одной-единственной машине, ничем не отличавшейся от остальных (XP SP3, Office 2003), куда программу установили из чистого любопытства. Симптомы просты: вылет … Читать далее

Устанавливаем выбранное по умолчанию значение в DataGridViewComboBoxColumn - аналог SelectedValue и SelectedIndex

Имеем колонку ComboBox в составе DataGridView связанную с источником данных (по этой схеме). Задача: изменить выбранное по умолчанию значение в выпадающих списках колонки. При работе с обычным ComboBox используются свойства SelectedIndex, SelectedValue и т.д. В ComboBoxColumn их нет. Вообще. В … Читать далее

Достаточность интеллекта...

Отлаживать код вдвое сложнее, чем писать. Поэтому, если при написании программы вы используете весь свой интеллект, вы по определению недостаточно умны, чтобы ее отладить. Брайан Керниган (Brayan W Kernigan) Не бывает кода, настолько громоздкого, изощренного или сложного, чтобы его нельзя … Читать далее

Особенности работы с ComboBoxColumn в DataGridView

Имеем DataGridView связанный с некоторой таблицей. Необходимо создать в нем колонку выпадающих списков ComboBox, элементы которых будут заполняться из другой таблицы, содержащий тексты элементов комбокса и коды. Во время работы нам надо получить выбранной код для каждой строки. Делается это … Читать далее

Ошибка в коде, из-за которой телефонная сеть Нью-Йорка не работала 9 часов

Из-за этой ошибке в коде на C++ 15 января 1990 года телефонная сеть Нью-Йорка была выведена из строя на 9 часов. Пример взят из книги С. Макконнелл Совершенный код. Мастер-класс Code Complete … Читать далее

Програмисты на вес золота

Программисты, которые принимают во внимание коммерческие последствия своих решений, ценятся на вес золота, и я был бы рад получить свою комиссию за этот совет. Архитектура [программы] не должна быть похожа на бюджет Конгресса США, включающий расходы на мероприятия, повышающие популярность … Читать далее

Новые функции в программе и клиенты

Думая о новой функции, клиенты приходят в возбуждение. Кровь у них разжижается, переполняет продолговатый мозг и они впадают в эйфорию, забывая о всех собраниях, посвященных обсуждению требований, о церемонии подписания и всех документах. Угомонить таких одурманенных новыми функциями людей проще … Читать далее