Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Принтер

Что-бы не появлялись недоразумения и лишней переписки уточняю:

Нужен именно ПОРТ а не принтер, потому-что сам принтер (в смысле железо)
абсолютно стандартный
матричник, лазер или что-то другое. И драйвера для него уже есть. Т.е. с
графикой связываться не
нужно.
Если нужный нам принтер подключить к порту FILE: все работает почти как
надо.
Из любой форточной программы отправляем файл на печать ->
появляется окошко с запросом имени файла -> вводим имя файла -> находим
этот файл ->
копируем его на дискету (Flash,CD) или отправляем по почте (др.
варианты) ->
дискету переносим на другой комп, на этом компе вообще стоит DOS или
UNIX ->
и обычной командой "copy <этот файл> LPT1:" печатаем наш документ.
Все неудобство в том, что нужно каждый раз вводить полное имя файла.
Советы про то, чтобы принтер подключить к этому копьютеру или поставить
переключатель
не принимаются - мысль о написании PORTа и появилась, чтобы избавиться от
переключателя.

Номер выпуска : 3586
Возраст листа : 368 (дней)
Количество подписчиков : 466
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/233538
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Fri, 24 Sep 2004 08:23:38 +0600 (#233538)

 

Ответы:

Здравствуйте !

Ааа... Ну - это абсолютно туда же - в DDK. Читать хелп из раздела
Kernel-Mode Drivers. Не помню точно, но для COM порта там, вроде, тоже
есть пример. Еще - совет. Если все-таки надумаете писать драйвер для
этого порта - найдите NuMega Driver Studio - это библиотека классов
вокруг DDK => разрабатывается все в IDE VC, компилится тоже отттуда.
В примерах Driver Studio точно есть примеры именно для COM порта (сам
смотрел и компилил, правда - давно) + все объекто-ориентированно.
Минус - оно по-хорошему больших денег стоит. Но... Россия - есть Россия.

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru

Номер выпуска : 3593
Возраст листа : 369 (дней)
Количество подписчиков : 465
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/234071
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Sat, 25 Sep 2004 01:27:21 +0400 (#234071)

 

Здравствуйте !

Ааа... Ну - это абсолютно туда же - в DDK. Читать хелп из раздела
Kernel-Mode Drivers. Не помню точно, но для COM порта там, вроде, тоже
есть пример. Еще - совет. Если все-таки надумаете писать драйвер для
этого порта - найдите NuMega Driver Studio - это библиотека классов
вокруг DDK => разрабатывается все в IDE VC, компилится тоже отттуда.
В примерах Driver Studio точно есть примеры именно для COM порта (сам
смотрел и компилил, правда - давно) + все объекто-ориентированно.
Минус - оно по-хорошему больших денег стоит. Но... Россия - есть Россия.

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru

Номер выпуска : 3595
Возраст листа : 369 (дней)
Количество подписчиков : 465
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/234242
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Sat, 25 Sep 2004 01:27:21 +0400 (#234242)

 

Кажется, уважаемый "Victor V. Vakchturov" слегка перемудрил.
Драйвер, конечно, написать можно, но не нужно.

Во-первых, если есть готовый файл, например текстовый, который
нужно просто отправить на принтер, достаточно открыть порт
с помощью CreateFile() и записать в него содержимое файла.
Конечно, это годится для матричных принтеров или
любых других, поддерживающих печать текста.
Вероятно, так можно отправить на принтер и подготовленный
файл для лазерного принтера, но это я делать не пробовал.

Во-вторых, если текст нужно подготовить, обеспечив,
например, форматирование, то придется рисовать:

DOCINFO di;
HDC hDC;

if((hDC=CreateDC(NULL,"Canon LBP-810",NULL,NULL))==NULL) {
printf("error: can't create context.\n");
return (-1);
}
memset(&di,0,sizeof(di));
di.cbSize = sizeof(DOCINFO);
di.lpszOutput = "output.dat";
di.lpszDocName = pszFile;
StartDoc(hDC,&di);
StartPage(hDC);
// здесь нужно отрисовать страницу
EndPage(hDC);
EndDoc(hDC);
DeleteDC(hDC);

В этом примере указано имя файла, в котором будет
формироваться результат "output.dat".

Номер выпуска : 3628
Возраст листа : 378 (дней)
Количество подписчиков : 479
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/239187
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Mon, 4 Oct 2004 17:22:36 +0400 (#239187)

 

Здравствуйте !



Нет. В том то и дело - человеку был нужен именно _порт_.
То есть чтобы можно было при настройке принтера указать, что он
подключен именно к этому порту. И при печати на такой принтере
в определенной папочке создавались бы файлики типа xxxx.prn

--
С уважением, Вахтуров Виктор.

Номер выпуска : 3632
Возраст листа : 379 (дней)
Количество подписчиков : 479
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/239413
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Mon, 4 Oct 2004 21:35:36 +0400 (#239413)

 

Да действительно мне нужен порт, и кое-что уже работает... Правда пока под
NT.
Т.е. появляется еще один порт. Я подключаю к этому порту какой-либо драйвер
принтера.
И в каталог %Tmp% сыплются фалы для него.
Несу/везу файло куда хочу. А потом простой командой copy <файл> LPT?:
получаю бумажку.

Теперь несколько вопросов:
1. Скорее всего в Win9x спулер печати имеет аналогичную архитектуру.
DDK для Win9x я пока не нашел, может у кого есть, посмотрите прототип
функции
InitializePrintMonitor, MONITOREX структуру, и пртотипы функций, которые
собираются в
эту структуру.
2. Надо как-то это все синхронизировать.
Такая задача:
Порт (точнее говоря монитор) оформляется в виде DLL. Когда запускается
печать из одного
проесса, к нему подгружается эта DLL, ест-но со своими локальными
данными. Другой
процесс также грузит эту DLL и тоже со своими данными. Нужно
организовать общую
область данных для всех копий этой DLL. В этой общей области
предполагается хранить
имена файлов, их дескрипторы, и какие-либо общие данные. Простые
мьютексы и/или семафоры
скореевсего с этим не справятся. (Чесно говоря в Win32 никогда этим не
занимался,
поэтому прошу совета).

PS:
Вспомнился интересный случай связанный с принтерами. Во времена Win 3.11.
Запустил на
принтере напечатать большой документ (какую-то книгу). Тут прибегает шеф
и просит
срочно напечатать одну страничку c дискеты. К компу подключен еще один
принтер по сети.
Я не долго думая запускаю на него эту страницу с дискеты... На обоих
принтерах стала
вылазить эта страница. Ест-но книга тоже попортилась..

*****************
* Алексеев А.В. *
*****************

Номер выпуска : 3633
Возраст листа : 380 (дней)
Количество подписчиков : 476
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/240122
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Wed, 6 Oct 2004 13:34:42 +0600 (#240122)

 

NT.

Прошу прощения, неправильно понял задачу.

Судя по документации - похожую. По крайней мере, монитор порта есть.

Выслал отдельным письмом.

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

#pragma data_seg("shared")
// данные
#pragma data_seg()
#pragma comment(linker, "-section:shared,rws")

Имена файлов, всякие счетчики - пожалуйста. А вот дескрипторы
файлов нельзя - они свои для каждого процесса; передавать
их можно только порожденным процессам.

Номер выпуска : 3634
Возраст листа : 380 (дней)
Количество подписчиков : 476
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/240201
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Wed, 6 Oct 2004 12:24:13 +0400 (#240201)

 

Прошу прощения за мусор в листе.

Я писал на aav@l*****.su и cmmn@l*****.su (все что нашел
в заголовках письма), но почтовик меня послал
фразой "Rejected unresolved".

Так что если файлы все еще нужны, сообщите пожалуйста
адрес постоянно доступного почтового ящика.

Всего хорошего,
emal@l*****.ru.

Номер выпуска : 3669
Возраст листа : 387 (дней)
Количество подписчиков : 484
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/244035
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Wed, 13 Oct 2004 10:50:47 +0400 (#244035)

 

Вот именно, то же самое. DNS настроен так, что почтовые
запросы на lora.nsk.su реально идут на berdsk.ru,
а тот отказывается принять письмо:

SMTP error from remote mailer after MAIL FROM:<em***@l*****.ru>:
host berdsk.ru [217.65.86.99]:
550 4.7.1 Rejected unresolved:
194.186.74.2

Единственное, что могу предложить - использовать
ящик на серверах вроде mail.ru, yandex и т.п.
Или надеяться, что у кого-нибудь еще письмо
пройдет. Нужны всего-то два файла:
winsplp.h и winspool.h.

Номер выпуска : 3689
Возраст листа : 388 (дней)
Количество подписчиков : 484
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/244571
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Thu, 14 Oct 2004 10:25:17 +0400 (#244571)

 

Здравствуйте !


Господа, плиз !
Проблемы, не касающиеся таматики листа - обсуждаем в личной
переписке.

--
С уважением, Вахтуров Виктор.

Номер выпуска : 3696
Возраст листа : 389 (дней)
Количество подписчиков : 484
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/245026
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Thu, 14 Oct 2004 21:43:42 +0400 (#245026)