回 帖 发 新 帖 刷新版面

主题:[讨论]两个问题[急]

[size=4][color=0000FF][b]1.我在TP里写程序时在Program的下一行写了“Uses Crt;”,但是程序运行时系统显示“被0除”,这是怎么回事(用FPC写就不这样)?????[em18]
2.Crt单元里的KeyPressed函数在程序开始以后只要一有键按下,就会变为True,不会再变回来。如果我要用几次的话,那么要怎么弄?????或者有没有什么可以替代它(要跟KeyPressed函数效果一样)?????[em18][/b][/color][/size]

回复列表 (共10个回复)

沙发

1。你要下载补丁,在该论坛上有人发过,你搜一下
2。用READKEY函数编一个

板凳

1.我搜到了,但是下载补丁需要注册,现在又不能注册,能不能直接给我下载地址??谢了!
2.我是要在运行的循环里用KeyPressed函数,就是说我要一边循环,然后每次循环时判断一下有没有按键。像ReadKey这种需要程序挂起等待按键的都不行呀!有没有别的跟KeyPressed效果一样的???

3 楼

1.我发个帖子上传补丁(t7tplfix.rar)
2。第二个我也不知道了,问ANGWUY,游侠UFO或小田甜,他们编过游戏,对这方面更熟悉

4 楼

第一个:
楼上传了一个,拷贝到bin文件夹然后运行按p之后退出即可.
第二个:
用readkey或者read读入就好了.
另外.readkey如果=#0那么请读入下一字节(这个是一个字符.)
可以尝试:
uses crt;
var c:char;
begin
  c:=readkey;
  if c<>#0 then write(ord(c)) else begin
    c:=readkey;write(0,' ',ord(c));
  end;
end.

5 楼

请问3楼发的补丁在哪???我怎么没找到呀?

6 楼

在论坛上呀,帖子t7tplfix

7 楼

哦!看到了!
:P

8 楼

[quote]第二个:
用readkey或者read读入就好了.
另外.readkey如果=#0那么请读入下一字节(这个是一个字符.)
可以尝试:
uses crt;
var c:char;
begin
  c:=readkey;
  if c<>#0 then write(ord(c)) else begin
    c:=readkey;write(0,' ',ord(c));
  end;
end.[/quote]

请问你说的#0到底是什么字符呀???

9 楼

#N代表字符CHR(N);小田甜好像搞错问题意思了,程序不能挂起等待耶!!!!

10 楼

不是啊,如果keypressed那么继续你的程序,如果keypressed=true才需要readkey,这样就不需要程序挂起等待了.

我来回复

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