★★如何实现按一下按钮可以终止一个正在运行中的循环?请举个例子,谢谢!
比如说,一个循环想要得出结果需要很长时间,中间我想终止它,如何做呢?请举个例子,谢谢!

解决方案 »

  1.   

    循环:
    1.定义一个全局变量var g_loop:integer;
    2.循环体
    while(g_loop>0) do
    begin
    ...
    Application.ProcessMessages;
    end;3.TForm1.button1Click(Sender:TObject)
    begin
        g_loop:=0;
    end;
      

  2.   

    yang6130(月明@沧海) 的方法是可行的
    更好的方法是用线程
      

  3.   

    在运行一段代码时,如果没有启动一个新线程,那么程序会独占CPU时间,所以必须等到这段代码执行完后才能执行其它程序。所以建议你启一个线程吧,它可以解决这个问题。
      

  4.   

    呵呵,利用 yang6130(月明@沧海) 提出的Application.ProcessMessages也可以。
      

  5.   

    线程的概念我不太清楚用别的方法很简单的
    只要每次循环时判断一个条件,而但button按下时,更改这个条件就可以了
      

  6.   

    Repeat.......
    .......slppe(10);
    until a = true;直到a为true的时候停止
      

  7.   

    直接在循环体中加pocessmessage就可以了。
      

  8.   

    靠,这个问题还用讨论吗?
    起码99分归yang6130(月明@沧海) ,标准的作法。
    终止线程也不是很容易的。
      

  9.   

    2.循环体
    while(g_loop>0) do
    begin
    ...
    Application.ProcessMessages;
    end;3.TForm1.button1Click(Sender:TObject)
    begin
        g_loop:=0;
    end;只要每次循环时判断一个条件,而但button按下时,更改这个条件就可以了
      

  10.   

    就是 yang6130(月明@沧海) 的了