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

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

03.06.2007, 10:50. Показов 1225. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru