Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 30.09.2006
Сообщений: 269

Контроль принтеров. Вот задачка!?

03.06.2007, 10:50. Показов 1253. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У нас в конторе три принтера, и боссы очень строго
относятся к расходу бумаги. Ну вот я и решил сделать что-то на подобие проги для контроля спуллинга на принтера.
Начал использовать API, опрашиваю принтера, через функцию EnumJobs получаю задания на печать. Делаю это все по таймеру.
У кого был опыт по таким делам или по юзанию таких апишных функций?
Спасибо за любой совет!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2007, 10:50
Ответы с готовыми решениями:

Слежение/контроль за работой принтеров
а реально ли вообще написать програмульку, которая бы снимала данные с принтеров, и записывала кудато в лог ?

Вот такая вот задачка:)
1) Дан массив, состоящий из 20 целых чисел. Вывести все числа, которые встречаются в этом массиве несколько раз. 2)Заполнить файл F...

вот такая задачка
Вводиться строка символов с точкой в конце. Подсчитать и вывести на экран количество прописных букв латинского алфавита в этой...

5
0 / 1 / 3
Регистрация: 27.03.2012
03.06.2007, 12:24
Посмотри вот этот пример, там используется EnumPrinters и PRINTER_INFO_2 для того чтобы получить статус принтера и статус его текущих задач.

http://www.relib.com/code.asp?id=155
0
0 / 0 / 1
Регистрация: 30.09.2006
Сообщений: 269
03.06.2007, 12:46  [ТС]
Да это мы сделали уже. Проблема в том , что не могу правильно определить формат бумаги из задания, выдает то другие форматы!

retval = EnumJobs(Hprinter, 0, 100, 2, arraybuf(0), needed, needed, numitems)
' ïðîñì&icirc ;òð çàäàí&e grave;é íà ïå÷àò&uu ml;================
lendivfour = Len(jobinfo) / 4 ' íîìåð ýëåìå&iac ute;òîâ äëÿ êàæäî&eacu te; ñòðóê&ogr ave;óðû â ìàññè âå
For c = 0 To numitems - 1 ' öèêë

jobinfo.JobId = arraybuf(lendivfour * c) ' ïåðâû&eacu te; ýëåìå&iac ute;ò â ìàññè âå
jobinfo.pUserName = Space(lstrlen(arraybuf(lendivfour * c + 3))) '÷åòâå&e th;òûé ýëåìå&iac ute;ò
retval = lstrcpy(jobinfo.pUserName, arraybuf(lendivfour * c + 3))
CopyMemory jobinfo.pDevMode, arraybuf(lendivfour * c + 10), Len(jobinfo.pDevMode) ' ñòðóê&ogr ave;óðà DevMode ' âîò çäåñü áåðó ôîðìà&ogra ve; òî
jobinfo.TotalPages = arraybuf(lendivfour * c + 18) ' nineteenth element
CopyMemory jobinfo.Submitted, arraybuf(lendivfour * c + 20), Len(jobinfo.Submitted) ' 21 ýëåìå&iac ute;ò
jobinfo.Status = arraybuf(lendivfour * c + 13)
' èíôî ïî çàäàí&e grave;ÿì íà listview íà ôîðìå====== ===========

Set itmReport = Form1.lstvReport.ListItems.Add(, , jobinfo.JobId)
itmReport.SubItems(1) = jobinfo.pUserName
itmReport.SubItems(2) = jobinfo.TotalPages
itmReport.SubItems(3) = jobinfo.pDevMode.dmPaperSize
itmReport.SubItems(4) = jobinfo.Submitted.wHour & ':' & jobinfo.Submitted.wMinute & _
':' & jobinfo.Submitted.wSecond & ' GMT'
Select Case jobinfo.Status
Case JOB_STATUS_SPOOLING
itmReport.SubItems(5) = 'èäåò ñïóëë&egrav e;íã...'
Case JOB_STATUS_PRINTING
itmReport.SubItems(5) = 'èäåò ïå÷àò&uu ml;...'
Case JOB_STATUS_PAUSED
itmReport.SubItems(5) = 'ïàóçà. ..'
Case JOB_STATUS_DELETED
itmReport.SubItems(5) = 'çàäàí& egrave;å
0
0 / 1 / 3
Регистрация: 27.03.2012
03.06.2007, 12:53
ты чего такое послал?
0
0 / 0 / 1
Регистрация: 30.09.2006
Сообщений: 269
03.06.2007, 13:13  [ТС]
Пардон! Хотел послать кусок своего кода, да поспешил. Не могу разобраться с типом DEVMODE,
откуда беру формат бумаги
0
0 / 1 / 3
Регистрация: 27.03.2012
03.06.2007, 13:31
Посмотри здесь:
http://www.vbapi.com/ref/d/devmode.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.06.2007, 13:31
Помогаю со студенческими работами здесь

вот так задачка(((
ввели количество человек к примеру ( 8 человек ); name| last name| year| start number| it number| previous result ...

вот так задачка
Помогите решить задачу на Фортране. Накидайте алгоритм действия. За любые ответы, + вам в Карму голова пухнет неделю уже Complex...

Вот такая задачка
Вывести факультет на котором учиться максимальное количество студентов.Помогите решить

Вот так не задачка с SP-2
Здравствуйте!! Представляете, поставил на ноут Acer Aspire 5710 Виндовс XP sp2... Все бы ничего. Система работает но только 5-10...

Вот так задачка
Доброго вам время суток! Мне нужен ваш совет! Большая просьба! Подскажите как это можно выполнить. Огромное вам спасибо! Условие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru