![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Вот такой вопрос. Есть уже написанная обёртка для всех команд (в виде последовательности байтов), которые посылаются на com-порт принтера. Класс, который обёртывает команды один, все методы - статические (сам класс не статический).
Теперь нужно написать логику взаимодействия с принтером. Когда печатать, когда отказываться. Есть такая функция, которая передаёт мне полное состояние принтера (содержит 6 байтов). Вот вопрос. Как проверять текущее состояние? Всё время через короткое время проверять статус? Проверять перед печатью? Проверять после печати? Запускать это в отдельном потоке? Может есть какие-то советы как построить архитектуру взаимодействия с принтером, используя класс, который непосредственно обёртывает всю низкоуровневую муть? p.s. Ну и собственно, а как лучше саму проверку проводить? То есть каждый бит говорит о том или ином состоянии того или иного параметра. Каждый из этих 6 байтов является одним целым. 1-й байт содержит биты, показывающий off-line status, биты 2-го байта показывают Error Status и т .д. Сделать перечисления OffLineStatus и ErrorStatus или как организовать-то лучше это? Это сообщение отредактировал(а) ДобренькийПапаша - 21.6.2011, 14:35 -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Короче, сделал доступными такие сценарии использования:
Юзер либо может просто вызвать печать и ответ принтера смотреть в соответствующих обработчиках событий (события я предоставил, они загораются до печати и по завершению печати и в аргументе содержат множество полей, описывающих состояние принтера. Ну, человек, в принципе, в любом случае может на них подписаться. Также позволил перед отправкой формы на печать, проверять сразу готов ли принтер к печати. Ну и всё. Ничего не забыл сделать для удобства пользователя? -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |