Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программирование принтера 
:(
    Опции темы
ДобренькийПапаша
Дата 21.6.2011, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Вот такой вопрос. Есть уже написанная обёртка для всех команд (в виде последовательности байтов), которые посылаются на com-порт принтера. Класс, который обёртывает команды один, все методы - статические (сам класс не статический).

Теперь нужно написать логику взаимодействия с принтером. Когда печатать, когда отказываться.

Есть такая функция, которая передаёт мне полное состояние принтера (содержит 6 байтов). Вот вопрос. Как проверять текущее состояние? Всё время через короткое время проверять статус? Проверять перед печатью? Проверять после печати? Запускать это в отдельном потоке?

Может есть какие-то советы как построить архитектуру взаимодействия с принтером, используя класс, который непосредственно обёртывает всю низкоуровневую муть?

p.s. Ну и собственно, а как лучше саму проверку проводить? То есть каждый бит говорит о том или ином состоянии того или иного параметра. Каждый из этих 6 байтов является одним целым. 1-й байт содержит биты, показывающий off-line status, биты 2-го байта показывают Error Status и т .д.

Сделать перечисления OffLineStatus и ErrorStatus или как организовать-то лучше это?

Это сообщение отредактировал(а) ДобренькийПапаша - 21.6.2011, 14:35


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
ДобренькийПапаша
Дата 22.6.2011, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Короче, сделал доступными такие сценарии использования:

Юзер либо может просто вызвать печать и ответ принтера смотреть в соответствующих обработчиках событий (события я предоставил, они загораются до печати и по завершению печати и в аргументе содержат множество полей, описывающих состояние принтера. Ну, человек, в принципе, в любом случае может на них подписаться. Также позволил перед отправкой формы на печать, проверять сразу готов ли принтер к печати. Ну и всё.

Ничего не забыл сделать для удобства пользователя?


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0383 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.