主题:[讨论]两个问题[急]
mxalbert1996
[专家分:780] 发布于 2008-08-02 20:04:00
[size=4][color=0000FF][b]1.我在TP里写程序时在Program的下一行写了“Uses Crt;”,但是程序运行时系统显示“被0除”,这是怎么回事(用FPC写就不这样)?????[em18]
2.Crt单元里的KeyPressed函数在程序开始以后只要一有键按下,就会变为True,不会再变回来。如果我要用几次的话,那么要怎么弄?????或者有没有什么可以替代它(要跟KeyPressed函数效果一样)?????[em18][/b][/color][/size]
回复列表 (共10个回复)
沙发
shisutianxia [专家分:630] 发布于 2008-08-03 08:16:00
1。你要下载补丁,在该论坛上有人发过,你搜一下
2。用READKEY函数编一个
板凳
mxalbert1996 [专家分:780] 发布于 2008-08-03 21:08:00
1.我搜到了,但是下载补丁需要注册,现在又不能注册,能不能直接给我下载地址??谢了!
2.我是要在运行的循环里用KeyPressed函数,就是说我要一边循环,然后每次循环时判断一下有没有按键。像ReadKey这种需要程序挂起等待按键的都不行呀!有没有别的跟KeyPressed效果一样的???
3 楼
shisutianxia [专家分:630] 发布于 2008-08-04 10:20:00
1.我发个帖子上传补丁(t7tplfix.rar)
2。第二个我也不知道了,问ANGWUY,游侠UFO或小田甜,他们编过游戏,对这方面更熟悉
4 楼
小田甜 [专家分:3910] 发布于 2008-08-04 12:44:00
第一个:
楼上传了一个,拷贝到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 楼
mxalbert1996 [专家分:780] 发布于 2008-08-05 07:57:00
请问3楼发的补丁在哪???我怎么没找到呀?
6 楼
shisutianxia [专家分:630] 发布于 2008-08-05 08:28:00
在论坛上呀,帖子t7tplfix
8 楼
mxalbert1996 [专家分:780] 发布于 2008-08-05 09:13:00
[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 楼
shisutianxia [专家分:630] 发布于 2008-08-05 09:49:00
#N代表字符CHR(N);小田甜好像搞错问题意思了,程序不能挂起等待耶!!!!
10 楼
小田甜 [专家分:3910] 发布于 2008-08-11 13:12:00
不是啊,如果keypressed那么继续你的程序,如果keypressed=true才需要readkey,这样就不需要程序挂起等待了.
我来回复