回 帖 发 新 帖 刷新版面

主题:QB编辑器样式的实现

请教老虾:
  我想做到如QB编辑器里编辑框(上面)和立即框(下面)那样分开显示的效果,LOCATE应该做不到,有别的语句或者变通的方法吗?先谢了

回复列表 (共8个回复)

沙发

locate 做不到?为什么这样说?

COLOR 7, 1
CLS
COLOR 0, 7: PRINT "   File  Edit  View  Search  Run  Debug  Calls  Utility  Options          Help  ";
COLOR 7, 1: PRINT CHR$(218); STRING$(33, 196); SPACE$(10); STRING$(31, 196); CHR$(180); CHR$(32); CHR$(195); CHR$(196); CHR$(191);
FOR i = 3 TO 24
    LOCATE i, 1
    PRINT CHR$(179);
NEXT
FOR i = 21 TO 24
    LOCATE i, 80
    PRINT CHR$(179);
NEXT
COLOR 1, 7: LOCATE 2, 35: PRINT " Untitled ";
LOCATE 2, 77: PRINT CHR$(24);
COLOR 0, 7
FOR i = 4 TO 20
    LOCATE i, 80
    PRINT CHR$(176);
NEXT
FOR i = 3 TO 78
    LOCATE 21, i
    PRINT CHR$(176);
NEXT
COLOR 0, 7
LOCATE 3, 80: PRINT CHR$(24);
LOCATE 20, 80: PRINT CHR$(25);
LOCATE 21, 2: PRINT CHR$(27);
LOCATE 21, 79: PRINT CHR$(26);
COLOR 7, 1
LOCATE 22, 1
PRINT CHR$(195); STRING$(34, 196); " Immediate "; STRING$(33, 196); CHR$(180);
COLOR 0, 3
LOCATE 25, 1
PRINT " <Shift+F1=Help> <F6=Window> <F2=Subs> <F5=Run> <F8=Step>     ?    N 00034:008";

板凳

Moz你这真的是做不到的
因为Locate....Print.....到24,25行是要滚动的
用下面过程代替Locate.....print.....
不论打印屏幕任何位置都不会产生滚动

参数说明:
x%,y%    坐标
Youstr$  要打印的字符串
BFColor% 前景色
BKColor% 背景色

sub vPrint(x%,y%,YouStr$,BFColor%,BKColor%)
    Bgn%=X%*160+Y%*2-162
    CLR%=BKColor%*16+BFColor%
    def seg=&hb800
    for I%=1 to Len(youStr$)
        poke bgn%+I%+I%,asc(Mid$(YouStr$,I%,1))
        Poke Bgn%+I%+I%+1,CLR%
    next
    Def seg
end sub

3 楼

“因为Locate....Print.....到24,25行是要滚动的”

你怎么知道的?你试过吗?

4 楼

view screen

5 楼

那是那一句 press any key to continue 所造成的,
并不是滚屏所造成的。
在第25行里用print,
只要不超过第80列,
再在行末加上分号,
是不会造成滚屏的。

6 楼

哈哈.操作文本缓存区

7 楼

6楼可以讲详细些吗?我讲的效果是比如在代码框里进行滚屏,而不影响立即框里的内容。

8 楼

view print
再不行就得你自己用程序去作限制处理了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册