回 帖 发 新 帖 刷新版面

主题:陷阱技术

一、键盘
当你按下键盘上的一个键时,就会产生一个通码,当你松开键的时候,就会产生一个断码,
用下面这个程序,你可以看到
CLS
do
   Locate 10,10:print Inp(&H60)
loop until inkey$=chr$(27)
QB陷阱中有  1 错误陷阱   2 时间陷阱  3事件陷阱  4 音乐陷阱
1 错误陷阱
QB中可以对发生的错误设置处理程序
格式 ON ERROR GOTO 行号
从错误中返回用 RESUME语句
比如你打开了一个电脑里没有的文件,就会产生一个错误号53
ON ERROR GOTO FILENO
FILE$="TEST.DDD"
OPEN FILE$ FOR INPUT AS#1
PRINT "文件大小为 : ";LOF(1)
END
FILENO:
  IF  ERR=53 THEN
      CLOSE #1
      PRINT "没有找到文件"
  END IF

2 时间陷阱
语句:ON TIMER(N) GOSUB 行号
N的范围为1秒到86400秒
语句TIMER ON  (打开时间陷阱)
例如:
on timer(1) gosub showtime
timer on
do
loop until inkey$=chr$(27)
end
showtime:
  locate 10,25:print time$
  return
3 事件陷阱
语句1 ON 事件 GOSUB 行号
语句2 事件 ON (允许事件)
语句3 事件 OFF (禁止事件)
语句4 事件 STOP(停止时间)
用键盘时间来举例
事件KEY(N)里面的N 的值如果是1到10就是表示F1-F10键11是方向键的上,12是左,13右,14下,15到25可以自定义,30,31是F11,F12
举例:
这个程序可以在你按下F2键后结束

ON KEY(2) GOSUB QUITP
KEY(2) ON
DO
  LOCATE 10,20:PRINT TIME$
LOOP UNTIL INKEY$=CHR$(27)
END
QUITP:
  PRINT
  PRINT "程序结束
  END

4 音乐陷阱,这个不讲,没有什么用处,谁会用PC喇叭来演奏啊!

回复列表 (共3个回复)

沙发

以前没有注意过“时间陷井”和“音乐陷井”,谢谢45兄。

板凳

顶!!!!!

3 楼

这又叫做事件捕捉

一般情况下不建议使用
1. 可读性差,难维护
2. 性能不稳定,速度大大受阻,
   (因为需要定时检查事件是否发生)
3. 程序不一定准确运行
   (因为你不知道事件会在什么时候发生,
   当前断点是否保存正确)
4. 错误事件是必要的,但应该是在没有其他更好的办法的时候再采用.
   (那些按键/时间/com之类的事件最好少用,否则你需要很长的一段历史来排错和提速)

不相信我的话,
你试试就知道那速度有多可怕了.

我来回复

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