发信人: talky (不想让你受伤), 信区: ANSI
标 题: [合集]请教一个问题
发信站: 日月光华 (2003年04月24日19:00:58 星期四), 站内信件
☆──────────────────────────────────────☆
fdlpw (流星 * 蝴蝶 * 剑) 于 2003年03月27日16:29:15 星期四 提到:
我是一个菜菜鸟,刚接触ansi,有个问题哦
现在想做一个隐藏IP的qmd,用的是"Esc[x;yH"跳到第x行来实现
我发现x=0时,标题(屏幕上第2行)会被覆盖,第1行"发信人..."不会被覆盖
x从1增加到22时,x所指定的行会依次被覆盖
x=23时,恰好IP被隐藏
x=24时,第1行"发信人..."被覆盖
x从24到48时,x指定行依次被覆盖
x=49时,标题(屏幕上第2行)又会被覆盖
我用的是cterm,我想循环覆盖的原理应该和cterm的最大行数有关
但是
1.第一次循环中为什么"发信人..."这一行不会被覆盖?第二次循环中却可以?
2.第三次循环的转折点为什么是49,而不是46?
☆──────────────────────────────────────☆
SuperSS (SS) 于 2003年03月27日18:18:25 星期四 提到:
1~23很容易解释,
屏幕是24*80
*[n;1H把光标定位到第n行第1列,
而当你文章的全部代码包括qmd全显示完以后系统自动在下面一行加上来源,也就是先回车
这样你qmd最后一个代码定位到第n行时,来源会显示在第n+1行
如果定位到第23行,那么来源在第24行,正好被蓝色的信息条遮住
由于光标不能移出屏幕,*[0;1H与*[1;1H是一样的
但是24以后我碰到的与你不同,也许和哪个设置有关
24的话,定位到了最后一行,应该在下一行显示来源,但没有第25行
这时候屏幕会自动上滚一行,也就是第一行移出屏幕,来源在最后一行,也正好被覆盖
24以上与24相同
cterm2000,fterm2.4,sterm2.03实验下来都是如此
所以我觉得可能和什么设置有关,我无法办到循环显示,你下面的问题目前也就无法解释
Sender: talky I don’t want you to get hurt, message area: ANSI
Title: [Collection] Ask a question
Sending site: Sun and Moon Guanghua Thursday, April 24, 2003 19:00:58, site mail
fdlpw Meteor * Butterfly * Sword mentioned on Thursday, March 27, 2003 16:29:15
I am a newbie, new to ANSI, and I have a question.
Now I want to make a qmd that hides IP. I use "Esc[x;yH" to jump to line x to achieve it.
I found that when x 0, the title line 2 on the screen will be overwritten, and the line 1 "Sender..." will not be overwritten.
When x increases from 1 to 22, the rows specified by x will be overwritten in turn.
At x 23, the IP happens to be hidden
At x 24 hours, line 1 "Sender..." is overwritten
When x is from 24 to 48, the rows specified by x are overwritten in sequence.
When x 49, the title line 2 on the screen will be overwritten again
I am using cterm. I think the principle of loop coverage should be related to the maximum number of lines in cterm.
but
1. Why is the line "Sender..." not overwritten in the first loop? But it can be covered in the second loop?
2. Why is the turning point of the third cycle 49, not 46?
SuperSS SS mentioned on Thursday, March 27, 2003 18:18:25
1 23 is easy to explain
The screen is 24*80
*[n;1H Position the cursor to the nth row and column 1
And when all the code of your article, including qmd, is displayed, the system automatically adds the source in the following line, that is, press Enter first.
In this way, when the last code of your qmd is positioned on the nth line, the source will be displayed on the nth line.
If you locate line 23, then the source is on line 24, which is just covered by the blue information bar.
Since the cursor cannot move out of the screen *[0;1H is the same as *[1;1H
But after 24, what I encountered was different from yours. Maybe it has something to do with which setting.
If 24 is located at the last line, the source should be displayed on the next line, but there is no line 25.
At this time, the screen will automatically scroll up one line, that is, the first line moves out of the screen, and the source is in the last line, which is also covered.
24 and above are the same as 24
This is the case after experiments with cterm2000, fterm2.4, and sterm2.03
So I think it may be related to some settings. I can't display the loop. Your problem below cannot be explained at the moment.