又一个简单的问题(10分)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
问题如下:
button1.onclick 有下列语句:
var
a:integer;
a:=0;
begin
while a<100000000 do
a:a+1;
end;
问:1.如何中途退出它,我试过在button1的keydown中加入close,
可是就是不行,非得把a加到100000000才罢休。有时还可能
会落得ctrl+alt+del的狼狈下场。
2.是否cpu越高运行此过程的时间越短呢?我分别用k6-2-400 和 C3-1.3G的CPU
运行了上述语句。但觉得时间是一样快。

 
按Ctrl + F2
 
不过得让delphi的窗口是当前窗口,不是运行窗口哦
或是按Ctrl + F9
 
为什么这么简单的问题都没有人懂,是不是分不够啊还是觉得问题太简单无聊?

 
1:要想中途退出程序,可以用多线程技术,用beginthread()函数加个线程,
再将你的加法代码作成线程调用的函数作beginthread()的参数,这时
如果关闭窗口就结束了。当然,当加完后,程序也会自动撤消加的线程。
2:理论上是,用API函数测运行时间准确些.
 
用 application.processmessage 和一个公共变量解决,
公共变量 bok:=true;
b1.click
var
a:integer;
a:=0;
begin
while a<100000000 do
begin
a=:a+1;
application.processmessage; //程序会慢一点,
if not bok then break;
end;
end;


b2.click
begin
if bok then bok:=false;
end;
 
to sky_zzl&laoyou

thx,我过两天就给你们分数
你们对证券之星的股票数据的数据结构熟不熟
比如说(第1至-第4个字节是01,31,A3,C6把它转成10进制得到20030406表示日期,
第X至第X+4个字节表示最高价等等)
我怕它的数据是加了密的
如果你们知道的话就指教一下。酬金200分
 
多人接受答案了。
 
后退
顶部