Chinaunix

标题: 高手请进,关于终端显示的 [打印本页]

作者: dddwwwzzz    时间: 2003-09-03 15:13
标题: 高手请进,关于终端显示的
我想从主机向各终端发送信息提示,又不破坏终端屏幕画面,也不影响终端透明打印。用echo命令,信息提示一来,终端屏幕就乱了,打印也会出乱码。
请各位高手帮出个主意吧!
作者: yutian    时间: 2003-09-03 15:22
标题: 高手请进,关于终端显示的
关注
作者: slnhghm    时间: 2003-09-03 23:13
标题: 高手请进,关于终端显示的
主机一发,终端就要显示吗?
作者: wilson_chan    时间: 2003-09-04 08:47
标题: 高手请进,关于终端显示的
主意不错,关注!!
作者: 紫眉    时间: 2003-09-04 09:43
标题: 高手请进,关于终端显示的
我用wall发信息到终端,信息显示出来当然要影响屏幕画面,否则怎么显示,不知道你说的影响是到什么程度,不会影响透明打印
作者: 紫眉    时间: 2003-09-04 09:47
标题: 高手请进,关于终端显示的
我用wall发信息到终端,信息显示出来当然要影响屏幕画面,否则怎么显示,不知道你说的影响是到什么程度,不会影响透明打印
作者: meteor06    时间: 2003-09-04 10:26
标题: 高手请进,关于终端显示的
“主机向各终端发送信息提示,又不破坏终端屏幕画面”

怎么做? 显示信息如果不显示在屏幕上,怎么能起到提示作用?
作者: onlygirl    时间: 2003-09-04 11:05
标题: 高手请进,关于终端显示的
用wall,echo 不太可能,肯定要乱屏
除非写在你的应用程序里
作者: dddwwwzzz    时间: 2003-09-04 11:46
标题: 高手请进,关于终端显示的
关键是提示信息能否在固定的位置显示,不搅乱屏幕的操作画面。
我以前用echo 做的,一发的话终端屏幕打乱,最要命的是如果当时终端在打印东西,打印也会出现乱码。一个二级分行用用倒还可以,在一个省级中心对一千多个网点搞这一下,影响太大了。
还有什么好招吗?联想的ACE平台有这方面的支持吗?
作者: saintdragon    时间: 2003-09-04 13:00
标题: 高手请进,关于终端显示的
创意不错,不过异想天开
作者: fdlj53u    时间: 2003-09-04 13:56
标题: 高手请进,关于终端显示的
如果是实达终端,那就没问题了。(事实上国内多数都用的是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>; fill_type=8;
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=='\007') {putchar(007);i++;continue;}
   if(string>;0&&string<127){
     printf("%c!%d;%d;%dw",ESC,x,y,string);
     i++;
     x+=8;
   }
   else{
     printf("%c!%d;%d;%d;%dw",ESC,x,y,string,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
标题: 高手请进,关于终端显示的
那个脸是 8  )
作者: meteor06    时间: 2003-09-04 14:47
标题: 高手请进,关于终端显示的
楼上的方法试过了,在实达终端好用 ;)
作者: dddwwwzzz    时间: 2003-09-04 16:26
标题: 高手请进,关于终端显示的
好东西,不知是否支持实达的全系列终端,还有新大陆、国光的终端
作者: wqpost    时间: 2003-09-04 16:38
标题: 高手请进,关于终端显示的
不错不错!
作者: dddwwwzzz    时间: 2003-09-04 17:29
标题: 高手请进,关于终端显示的
哥们,再给说说怎么消除啊!
作者: lbxxy    时间: 2003-09-04 17:54
标题: 高手请进,关于终端显示的
这个程序肯定会影响打印的
作者: fdlj53u    时间: 2003-09-04 23:53
标题: 高手请进,关于终端显示的
实达的终端都好用,国光的要做适当修改。要清除的话再发些空格键过去好了,或者把终端的显示设置改为:图形清行即可。
作者: dudo    时间: 2003-09-05 00:40
标题: 高手请进,关于终端显示的
帮顶一下吧!
作者: dddwwwzzz    时间: 2003-09-05 10:54
标题: 高手请进,关于终端显示的
dlj53u  ,我用空格填只能消除上半行的信息啊。应该怎么做?
作者: fdlj53u    时间: 2003-09-05 18:18
标题: 高手请进,关于终端显示的
全角空格
作者: inzaghi_lzhj    时间: 2003-09-09 16:11
标题: 高手请进,关于终端显示的
这个问题不好办,我看是不是想想用声音,那就不破坏打印和画面了,来了一拨多通的电话怎么样!!!呵呵!!
作者: johnsilver    时间: 2007-06-09 19:25
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2