问题是这样的在CONSOLE模式下,系统启动时,如何让系统等待10s,且在10s内,如果按任何键,则跳去执行A事件,否则,10s结束,则转去执行B事件。

解决方案 »

  1.   

    问题是这样的在CONSOLE模式下,系统启动时,如何让系统等待10s,且在10s内,如果按任何键,则跳去执行A事件,否则,10s结束,则转去执行B事件。
    大家快点想想办法!!
      

  2.   


      cqwty:
      你的想法和我想的一样,还有个问题,如何判断用户按下了任意键?
      用read读取键盘的输入时,要按下回车则表示有输入.
      

  3.   

    我觉得不一定非用多线程,用sleep函数做个等待案件的循环,时间到则执行b事件,其间有按键则执行A事件
      

  4.   

    谢谢大家的帮忙,我也考虑过不用多线程来实现(因为多线程可能会带来其他隐含的问题)楼上的sunspeedzy,你的方法也完全可以解决我的问题,但是,我写了以下的代码: for i:=1 to 10 do
      begin
      sleep(100); //等待10s
      read(AChar);
      if Achar='Y' then
      break;
     end;
     执行到read时就停止了,无法在执行循环了
     这样写还是不行,就是不知道如何修改,请指教!!
      

  5.   

    你应该看见过用C或者C++编写的程序,那种dos窗口的,经常有一个就是
    press anykey to continue
    看看这条语句是怎么出来的就知道了