我想设计并实现一个spooling输出的模拟系统,可选用任何高级语言,自定问题情景。我知道spooling技术最大的应用就是实现共享打印机的功能,所以如果有做好的相关软件以及程序,请发给我研究研究,100分相送!或者有什么好的建议也告诉我,感谢不尽!
解决方案 »
- 急求delphi6的 activation key ,注册机gen出来的,而不是z9j8-pum4n-c6gzq,rw2-7jw
- 这个软件是Delphi做的吗,望高手指点,找到它的题库在哪???(解决马上结贴)
- 如何共享電腦的com端口?
- 一个关于ADOStoredProc控件的参数传递问题
- 请教
- XP下能否装D5??
- 请问哪有Sybase数据库的ADO驱动可以下载?
- 用sql语句怎样求出某一个字段值为null值的记录个数?
- 初学DELPHI,插入记录问题
- 还有一个问题,有没有检查delphi程序内存泄漏的第三方工具软件?(内空)
- 为什么不能显示ACCESS中的图片?
- ★★★★ 帮帮我 ★★★★
我没有尝试过。不过,我还是说我知道的东西,给你一点提示T P r i n t e r 类的一个对象,该对象在P r i n t e r s 单元中定义。可以把P r i n t e r 全局函数看作一个全局变
量,并利用这个全局变量来与打印机进行打印操作。
利用P r i n t e r 来实现打印的一般过程如下:
1) 调用B e g i n D o c 过程向打印机发送一个打印作业(此时还没有在打印机上开始打印)。
2) 通过一个Te x t 变量或调用C a n v a s 对象方法建立打印输出。
3) 调用E n d D o c 过程结束当前的打印作业,该打印作业开始在打印机上打印。
4) 如果出现问题,调用A b o r t 过程取消当前打印的作业。
下面是T P r i n t e r 类的几个常用属性:
• Aborted 判断是否中止打印作业。
• Canvas 画布属性。
• Capabilities 当前打印机驱动设备的设置信息。
• Copies 打印的份数。
• Fonts 字体属性。
• Handle 打印机句柄。
• Orientation 纸张的方向:横向或纵向。
• PageHeight 纸张的高度。
• PageNumber 当前打印的页数。
• PageWidth 纸张的宽度。
• PrinterIndex 打印机属性中当前打印机的索引值。
• Printers 系统中安装的所有打印机。
• Printing 标识是否正在进行一个打印作业。
• Title 打印管理器中显示的打印作业的名称。
下面是T P r i n t e r 类的几个常用函数:
• Abort 中止正在打印的打印作业。
• BeginDoc 向打印机发送一个打印作业。
• EndDoc 结束当前的打印作业并关闭文本文件变量。
• NewPage 开始新的一页并增加P a g e N u m b e r 属性。
• Refresh 更新字体和打印机的属性。
通常,在打印前要进行打印预览。在打印预览的时候,往往要将打印的结果在屏幕上显示
出来。这时,就要注意屏幕的分辨率和打印机的分辨率的差别了。读取屏幕信息可以通过全局
变量S c r e e n 来实现,S c r e e n 为T S c r e e n 类的一个实例,在创建工程的时候就自动创建了,并在程
序开始运行时读取了屏幕的一些设置信息。
我想做的只是一个模拟的过程,不是真实的打印东西。关键是把spooling技术包含的一些东西表现出来即可以!
这就会很占用时间。于是就出现了假脱机。
把要打印的东西先送到一个地方(起先是一块内存,分配给打印机的或打印机上的。---我不太清楚,可能不正确),然后返回。到现在共享打印都会用一个打印服务器。最简单的技术就是一个队列(Print Queue),接受打印任务,放入队列,定时打印!public class PrintServer {
private List Queue;
private Printer Print1600K;
public CommitWork(Doc d){
Queue.Append(d);
}
private PrintDoc(Doc d){
Print1600K.Print(d);
}
}