中国程序员联盟 正在重新改版中ing 不便之处还请见谅 改版后将内容涉及java delphi .net php
 
  首页 | 数据库开发 | 网络通讯 | 多线程 | 多媒体开发 | 图像处理 | 程序人生 | 系统函数 | 控件开发 | Web服务
 
  当前位置:笨鱼delphi技术网>数据库开发>打印报表>文章内容

delphi 枚举打印缓冲池打印任务

来源:站内 关于:bill 发布时间:2007-06-23   [收藏] [推荐]

uses Printers, WinSpool;

function PrinterStatusText(Status: Integer): String;
begin
  case Status of
    0:                            Result := 'Waiting';
    JOB_STATUS_PAUSED:            Result := 'Paused';
    JOB_STATUS_ERROR:             Result := 'Error';
    JOB_STATUS_DELETING:          Result := 'Deleting';
    JOB_STATUS_SPOOLING:          Result := 'Spooling';
    JOB_STATUS_PRINTING:          Result := 'Printing';
    JOB_STATUS_OFFLINE:           Result := 'Offline';
    JOB_STATUS_PAPEROUT:          Result := 'Paper Out';
    JOB_STATUS_PRINTED:           Result := 'Printed';
    JOB_STATUS_DELETED:           Result := 'Deleted';
    JOB_STATUS_BLOCKED_DEVQ:      Result := 'Blocked';
    JOB_STATUS_USER_INTERVENTION: Result := 'User Intervention';
    JOB_STATUS_RESTART:           Result := 'Restart';
  else Result := 'Status ' + IntToStr(Status);
  end;
end;

procedure GetJobs(PrinterName: String; JobList: TStrings);
const
  InfoLevel = 1;
  FirstJob = 0;
  LastJob = 19;
var
  Jobs: array [FirstJob..LastJob] of TJobInfo1;
  PrinterHandle, BytesNeeded, I, NumJobs: Integer;
begin
  if OpenPrinter(PChar(PrinterName),PrinterHandle,nil) then begin
    if
EnumJobs(PrinterHandle,FirstJob,LastJob+1,InfoLevel,@Jobs,SizeOf(Jobs),BytesNeed
ed,NumJobs) then begin
      JobList.Clear;
      for I := 0 to NumJobs-1 do
      with Jobs[I] do
        JobList.Add(Format('%s
(%s)',[StrPas(pDocument),PrinterStatusText(Status)]));
    end;
    ClosePrinter(PrinterHandle);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  GetJobs('HP Laserjet 4P',Memo1.Lines);
end;


[浏览: 次]   
上一篇:delphi 枚举打印缓冲   下一篇:delphi 判断打印机是否黑白
[收藏] [推荐] [返回顶部] [打印本页] [关闭窗口]  
    评论加载中…
google adsense热点文章
·delphi 获取打印机状态
·delphi 打印时改变纸张大小
·delphi 判断打印机能否打印的PostScrip
·delphi 检测存在打印机
·delphi Tmemo,TstringList,Tstrings打
·delphi 如何保存打印机信息到注册表
·delphi 判断系统是否有打印机连接
·delphi 在打印中间改变打印设置
·delphi 获取打印驱动,打印端口名
·delphi 使用打印机内置字体打印
·delphi 改变打印机的打印端口
·delphi 如何发二进制字符到打印机
     delphi技术网 | firefox 下载 | Avant Browser下载 | dedecms 技术网 | drupal 爱好者 | php 技术网
  Copyright@www.delphichm.com,2006-2009.All Rights Reserved.
 
程序员联盟 | delphi Java .net|QQ:707102932