我想从主机向各终端发送信息提示,又不破坏终端屏幕画面,也不影响终端透明打印。用echo命令,信息提示一来,终端屏幕就乱了,打印也会出乱码。
请各位高手帮出个主意吧!
yutian 回复于:2003-09-03 15:22:33 |
关注 |
slnhghm 回复于:2003-09-03 23:13:34 |
主机一发,终端就要显示吗? |
wilson_chan 回复于:2003-09-04 08:47:23 |
主意不错,关注!! |
紫眉 回复于:2003-09-04 09:43:59 |
我用wall发信息到终端,信息显示出来当然要影响屏幕画面,否则怎么显示,不知道你说的影响是到什么程度,不会影响透明打印 |
紫眉 回复于:2003-09-04 09:47:19 |
我用wall发信息到终端,信息显示出来当然要影响屏幕画面,否则怎么显示,不知道你说的影响是到什么程度,不会影响透明打印 |
meteor06 回复于:2003-09-04 10:26:38 |
“主机向各终端发送信息提示,又不破坏终端屏幕画面”
怎么做? 显示信息如果不显示在屏幕上,怎么能起到提示作用? |
onlygirl 回复于:2003-09-04 11:05:29 |
用wall,echo 不太可能,肯定要乱屏
除非写在你的应用程序里 |
dddwwwzzz 回复于:2003-09-04 11:46:13 |
关键是提示信息能否在固定的位置显示,不搅乱屏幕的操作画面。
我以前用echo 做的,一发的话终端屏幕打乱,最要命的是如果当时终端在打印东西,打印也会出现乱码。一个二级分行用用倒还可以,在一个省级中心对一千多个网点搞这一下,影响太大了。 还有什么好招吗?联想的ACE平台有这方面的支持吗? |
saintdragon 回复于:2003-09-04 13:00:07 |
创意不错,不过异想天开 |
fdlj53u 回复于:2003-09-04 13:56:20 |
如果是实达终端,那就没问题了。(事实上国内多数都用的是STAR终端) 把下面这段程序编译成ECHO 程序,然后:ECHO 内容 >/dev/ttyxx 即可把信息发送到终端上了,会显示在屏幕的最上方。显示绝对不会乱,对打印的影响没有测试过。各位可以试试看。
echo.c ------------------------------------------------------------------------------- #include "stdio.h" #define ESC 27 #define DOT 0 #define CLR 1 #define DBT 2 P_box(x1,y1,x2,y2,fill_type) int x1,y1,x2,y2,fill_type; { if(fill_type> ![]() printf("%c!%d;%d;%d;%d;%de",ESC,x1,y1,x2,y2,fill_type); } set_stat(i) int i; { printf("%c!0;%d]",ESC,i); } set_init() { printf("%c[/1q",ESC); printf("%c!0;0k",ESC); } mv_str(x,y,string) int x,y; unsigned char *string; { int i; int len; len=strlen(string); for(i=0;i<len ![]() if(string[i]=='\007') {putchar(007);i++;continue;} if(string[i]>0&&string[i]<127){ printf("%c!%d;%d;%dw",ESC,x,y,string[i]); i++; x+=8; } else{ printf("%c!%d;%d;%d;%dw",ESC,x,y,string[i],string[i+1]); i+=2; x+=16; } } } main(argc,argv) int argc; char *argv[]; { if(argc<2) exit(0); set_init(); set_stat(CLR); P_box(0,0,630,12,5); set_stat(DBT); mv_str(0,0,argv[1]); exit(0); } ------------------------------------------------------------------- 结束。 |
fdlj53u 回复于:2003-09-04 13:57:26 |
那个脸是 8 ) |
meteor06 回复于:2003-09-04 14:47:20 |
楼上的方法试过了,在实达终端好用 ;) |
dddwwwzzz 回复于:2003-09-04 16:26:48 |
好东西,不知是否支持实达的全系列终端,还有新大陆、国光的终端 |
wqpost 回复于:2003-09-04 16:38:52 |
不错不错! |
dddwwwzzz 回复于:2003-09-04 17:29:07 |
哥们,再给说说怎么消除啊! |
lbxxy 回复于:2003-09-04 17:54:52 |
这个程序肯定会影响打印的 |
fdlj53u 回复于:2003-09-04 23:53:09 |
实达的终端都好用,国光的要做适当修改。要清除的话再发些空格键过去好了,或者把终端的显示设置改为:图形清行即可。 |
dudo 回复于:2003-09-05 00:40:29 |
帮顶一下吧! |
dddwwwzzz 回复于:2003-09-05 10:54:15 |
dlj53u ,我用空格填只能消除上半行的信息啊。应该怎么做? |
fdlj53u 回复于:2003-09-05 18:18:59 |
全角空格 |
inzaghi_lzhj 回复于:2003-09-09 16:11:48 |
这个问题不好办,我看是不是想想用声音,那就不破坏打印和画面了,来了一拨多通的电话怎么样!!!呵呵!! |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/