はじめまして、いつも皆様お世話になっております
プログラムを待機させる方法として
procedure TForm1.Delay(ms:integer);
var
StartCount:longint;
begin
StartCount:=GetTickCount;
repeat
Application.ProcessMessages;
until ((GetTickCount-StartCount) >= Longint(ms));
end;
というのを見つけたのですが、どうもPCに負担がかかっているような気がします
動作を軽くするにはどうしたらいいのでしょうか
あと、この
Application.ProcessMessages;
とはどういう意味なのでしょうか?
プログラムは待機するけれども、動作は可能といった感じでしょうか
> どうもPCに負担がかかっているような気がします
Sleep APIを使ってみてください。
> Application.ProcessMessages;
> とはどういう意味なのでしょうか?
ヘルプを読んでください。ちゃんと解説が載っています。
それの意味が分からない場合は、メッセージループについて、Googleなどで検索してみましょう
たかみちえさん有難うございます
Sleep関数を使うことで無事解決できました
procedure delay(T: longint);
var
finish : longint;
begin
finish := GetTickCount + T;
repeat
Sleep(100);
Application.ProcessMessages;
until GetTickCount > Finish
end;
ツイート | ![]() |