08:48 Урок №7 - Console в проекте Windows Forms | |
Доброго времени суток мои читатели! Сегодня мы поговорим о том, как добавить консоль параллельно с нашим проектом Windows Forms на языке C#. Иногда появляется такая нужда, чтобы в проекте Windows Forms присутствовала консоль (к примеру для банального Debug'a), и у меня она появилась. Речь пойдет всё о том же FileSystemWatcher и консоли. В процессе написания программы на этапе сращивания с 1С я встретился с одной не маловажной проблемой, файлы, которые поступали из 1С не попадали в мою программу, у меня сразу встал вопрос в чём же дело!? После некоторых манипуляций я просто написал на C# в консольном проекте моего FileSystemWatcher и тут я понял в чем была моя ошибка. Наша 1С создает некий файл с расширением .tmp, а фильтр программы отслеживал только файлы расширения .sav, через секунду .tmp файл становился .sav файлом. Мой самый первый FileSystemWatcher в консольном режиме отслеживал изменения OnChanged с фильтром "*.sav", после того, как я установил фильтр следующего типа "*.*" я получал сообщения о событии OnChanged со следующим текстом : "Файл : neworder.tmp создан", то есть получается, что файловая система отслеживала файл .tmp, но папка не показывала мне этого файла и в конечном варианте мы видели уже файл .sav я понял, что файловая система следом за событием OnChanged она делает OnRenamed и переименовывает .tmp файл в .sav. Далее я добавил функцию OnRenamed и она действительно регистрировала переименование файла. В тот момент, я решил, что хорошо было бы иметь консоль в моем приложении чтобы смотреть, какие события она логирует. Итак, в нашем приложении мы имеем файл с настройками в него я прописал также и консоль, чтобы её можно было отключить в случае не надобности или боевого запуска на системе. Файл с настройками имеет следующий вид : Что же отображается в этом файле? Всё что нужно моей программе. В нашей рознице существуют два типа продукции :
Для того, чтобы считать параметры файла мы напишем функцию preloader, которая будет прогружать настройки, в этой статье не буду расписывать как это сделать, данный пример мы уже реализовывали в нашем уроке №6 по FileSystemWatcher После того, как функция settings (которая создает наш файл с настройками) и функция preloader (которая загружает эти настройки) написаны, мы переходим к основному, написание кода для работы с консолью в Windows Forms проекте. С самого начала создаем функцию, я назвал её consondeb и прописываем вот такой код : После того, как мы создали эту функцию, Надо ещё прописать класс NativeMethods : На этом все, теперь в нашем проекте будет запускаться консоль параллельно с Windows Forms! Вот наш результат: ![]() | |
Категория: Уроки по C# | Просмотров: 2894 | |
Всего комментариев: 0 | |