程序执行到某一位置,继续保持此状态,不向下执行,直到被其它事件触发以后(如按下space键)才会继续执行
  请问如何实现这个功能??

解决方案 »

  1.   

    那么你就在那句代码后面加上条件咯
    if key = VK_SPACE then
    begin
    .
    .
    .
    end ;
      

  2.   

    一条sleep语句能持续无限长的时间吗?需不需要用循环套住它?
      

  3.   

    sleep 只是让cpu暂停一段时间而已,不能达到根据条件触发的要求:)
      

  4.   

    用if,then 或者sleep是肯定不行的,都尝试过
    不知道能不能直接wait来等待条件的触发呢?
    如果可以,应该怎么写呢?
      

  5.   

    Shiyl(云淡风清(回到梦开始的地方)) 
    那么你就在那句代码后面加上条件咯
    if key = VK_SPACE then
    begin
    .
    .
    .
    end 
      

  6.   

    这个功能只是程序的一小部分,后面还有很多代码要执行
    如果用if,then的话就跳过去执行下面的代码了就好像下五子棋,你等对方下子之后才能下子,而对方下子的时间是不限制的,你等待的这个过程中棋盘是不变的。
    如何实现这样一个等待的功能?
      

  7.   

    象下五子棋,你可以随便设个Boolean就解决了:var
      YourTurn: Boolean;  button1.enable := yourturn;     //没轮到阁下,冻结你的功能按钮。
    //如果你记时的话,更简单了,把Timer关掉。如果是飞机大炮乱飞的那种。总会有一给循环指挥他们怎么飞,在这里也判断一下。程序设计的时候就要充分考虑这类问题,弄好了就比较麻烦了。很容易漏掉一些地方。
      

  8.   

    在mainform里添一个onkeydown函数,按下space就执行这个函数但如果程序要求必须要有这个键盘响应才能向下执行,这样就不行了吧?
    另外,执行了onkeydown之后,程序还会回到原来的主函数里面继续向下走吗?