免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2848 | 回复: 1
打印 上一主题 下一主题

[SCO UNIX] UNIX下实现终端打印的几种方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-04 09:05 |只看该作者 |倒序浏览
目前,国内银行业大部分计算机应用系统都在UNIX操作系统平台上采用终端业务数据录入、业务数据打印方式进行前端业务处理。笔者将UNIX下实现终端打印的几种方法介绍如下:
一、概述
UNIX环境下终端打印是在操作系统的支持下,使用终端自身提供的功能,用命令或程序实现终端打印。具体过程是:在终端上执行打印控制命令使终端进入打印状态,并通知打印机做好准备,在终端上输入要打印文件的文件名进行打印。打印完毕,在终端上执行打印控制命令使终端退出打印状态。
二、打印方法
1.用终端自身提供的热键功能实现打印。各种类型终端都为用户提供了打印热键,只要按一下打印热键终端就进入了打印状态,一般用cat命令查看要打印文件的文件名即可打印,打印完毕,再按一下打印热键就可退出打印状态。如HT-382系列终端的拷贝打印热键是Ctrl-F2。
2.用shell命令实现终端打印。UNIX操作系统提供了交互式的解释命令语言shell,可以方便地实现终端打印。首先找到终端打印的控制命令,还以HT-382系列终端为例,进入拷贝打印控制命令是ESC[5i,退出拷贝打印控制命令是ESC[4i。可用vi编辑一个shell命令打印文件如下:
ECHO ‘ESC[5i’ #终端进入打印状态
CAT   $1     #打印文件
ECHO ‘ESC[4i’ #终端退出打印状态
在终端上或在程序中执行此shell打印命令,后面跟要打印文件的文件名即可打印。
3.用C语言实现终端打印。同样以HT-382系列终端为例,用C语言编写终端打印程序如下:
#include
main(argc,argv)
int ?argc;
char?argv[]
{
char ?n;
printf(“\033\[\5\i”); 
/?终端进入打印状态?/
sprintf(n“cat%s”,argv[0]);
/?送入打印文件名?/
system(n);/?打印文件?/
printf(“\033\[\5\i”);
/?终端退出打印状态?/
}
在使用中只需在此程序后面跟要打印文件的文件名即可打印。
三、几点注意
1.终端打印前要将终端设置项中打印机类型项设置为与终端连接打印类型一致。
2.终端打印可以依业务要求选择屏幕打印(只打印屏幕显示内容)、拷贝打印(边打印边显示文件内容)、透明打印(只打印,不显示文件内容)。
3.shell打印命令中,转义字符ESC的编辑写入要先按CTRL-V键,再按ESC键方可写入。
4.C语言打印程序中,控制字符要用8进制书写,并且前面加转义字符“\”。如ESC的8进制ASCII代码为33,程序中写做“\033”。

论坛徽章:
0
2 [报告]
发表于 2005-11-04 09:31 |只看该作者
终端打印与系统无关。
指令是由终端解释的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP