主题:如何限定输入时间?
sonicat
[专家分:0] 发布于 2006-01-04 17:27:00
高人请指教
如何限定在指定的时间内(如30秒)输入一些东西(答案),
而时间到了,就会自动输出另一个题目?
回复列表 (共5个回复)
沙发
wanggcc [专家分:1450] 发布于 2006-01-04 17:41:00
http://www.watchina.org/html/web/42302.html
板凳
sonicat [专家分:0] 发布于 2006-01-06 22:29:00
谢谢,可是这是oop,我要的是pascal。。。
3 楼
小田甜 [专家分:3910] 发布于 2006-01-14 14:37:00
用CRT库,如下:
uses crt,dos;
var s:string;
function input(maxtime:byte):string;
function time:real;
var h,m,s,ss:word;
begin
gettime(h,m,s,ss);
time:=h*3600+m*60+s+ss/100;
end;
var
s:string;
t1,t2:real;
c:char;
begin
t1:=time;s:='';clrscr;
while (time<t1+maxtime) and (c<>#13) do
if keypressed then begin
c:=readkey;
if c<>#13 then
if (c=#8) and (length(s)>0) then s:=copy(s,1,length(s)-1){Delete}
else if length(s)<127 then s:=s+c else write('');{限制长度}
clrscr;
write(s);
end;
input:=s;
clrscr;
end;
begin
s:=input(10);
clrscr;
writeln(s);
end.
4 楼
游侠UFO [专家分:1200] 发布于 2006-01-20 14:02:00
和楼上的思路差不多,呵呵!
伪代码:
s:='';
t:=当前系统时间;
while (当前系统时间-t)<30 do
if 键盘被按下 then
begin
c:=被按下的键;
s:=s+c;
等待0.2秒;
end;
5 楼
sonicat [专家分:0] 发布于 2006-01-21 18:50:00
Thanks^^
我来回复