Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2007, 11:18   #1
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию Print

Есть вопрос.
Нужно написать програмку которая будет отслежывать работу принтэра(в часности нужно при розпечатки одного листа добавить в какуюто переменную типа integer +1)
КАк мне узнать что принтэр сделал эту розпечатку?
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 10.08.2007, 12:13   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Вот кусочек из DelphiWorld

Как определить количество заданий на печать

Windows передает WM_SPOOLERSTATUS каждый раз, когда добавляется или удаляется задание на печать. В примере мы попытаемся перехватывать это сообщение.
Код:
type
  TForm1 = class(TForm)
    Label1: TLabel;
  private
    { Private declarations }
    procedure WM_SpoolerStatus(var Msg: TWMSPOOLERSTATUS);
      message WM_SPOOLERSTATUS;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WM_SpoolerStatus(var Msg: TWMSPOOLERSTATUS);
begin
  Lable1.Caption := IntToStr(msg.JobsLeft) +
    ' Jobs currenly in spooler';
  msg.Result := 0;
end;
_SERGEYX_ вне форума Ответить с цитированием
Старый 10.08.2007, 13:39   #3
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

братка, кинь какие-то доки по winApi... или посоветуй какую-то книженцию.... буду дуже вдячний....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 10.08.2007, 16:22   #4
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
братка, кинь какие-то доки по winApi... или посоветуй какую-то книженцию.... буду дуже вдячний....
думаю тебе это нужно)))
Вложения
Тип файла: rar win32_api.rar (317.6 Кб, 24 просмотров)
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 10.08.2007, 16:27   #5
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Вот кусочек из DelphiWorld

Как определить количество заданий на печать

Windows передает WM_SPOOLERSTATUS каждый раз, когда добавляется или удаляется задание на печать. В примере мы попытаемся перехватывать это сообщение.
Код:
type
  TForm1 = class(TForm)
    Label1: TLabel;
  private
    { Private declarations }
    procedure WM_SpoolerStatus(var Msg: TWMSPOOLERSTATUS);
      message WM_SPOOLERSTATUS;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WM_SpoolerStatus(var Msg: TWMSPOOLERSTATUS);
begin
  Lable1.Caption := IntToStr(msg.JobsLeft) +
    ' Jobs currenly in spooler';
  msg.Result := 0;
end;
и где тут та штука что отвечает был ли розпечатан файл?
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 10.08.2007, 16:27   #6
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Вот кусочек из DelphiWorld

Как определить количество заданий на печать

Windows передает WM_SPOOLERSTATUS каждый раз, когда добавляется или удаляется задание на печать. В примере мы попытаемся перехватывать это сообщение.
Код:
type
  TForm1 = class(TForm)
    Label1: TLabel;
  private
    { Private declarations }
    procedure WM_SpoolerStatus(var Msg: TWMSPOOLERSTATUS);
      message WM_SPOOLERSTATUS;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WM_SpoolerStatus(var Msg: TWMSPOOLERSTATUS);
begin
  Lable1.Caption := IntToStr(msg.JobsLeft) +
    ' Jobs currenly in spooler';
  msg.Result := 0;
end;
и где тут та штука что отвечает за то был ли розпечатан файл?
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 10.08.2007, 17:41   #7
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

У меня принетеры только в сети... я сейчас проверить не могу...
у msg есть свойства
JobStatus: integer;
UnUsed: word;
JobsLeft: word;
Result: integer;
Поэкспериментируй, наверно JobStatus - это 1 - работает, 0 - не работает, хз... Мониторь, например по таймеру.., если JobStatus стал 1, то добавляем единицу в твою переменную и делаем сброс на ноль. Попробуй...
_SERGEYX_ вне форума Ответить с цитированием
Старый 10.08.2007, 23:14   #8
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

у меня проблема та жэ... принтера у меня нету а нужно написать приложэние))) и что здесь поделаеш?...
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 11.08.2007, 11:45   #9
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

а что, только одним ЭТИМ сообщением возможно отлавливать роботу принтэра?
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
webbrowser + print wiskas Компоненты Delphi 1 29.04.2010 15:53
Print v VBA NathaliE Microsoft Office Excel 2 02.08.2008 15:05