for문의 반복 수행중..사용자가 임의(버튼이나 keyboard등의 click)로 for문을
제어할수 있는 방법이 있는지요?
제가 test한 결과 for문 수행중에는 외부의 어떤 이벤트도 영향을 주지 못하는
것 같더군요!(for문이 끝난후에야 반응.. __")
예를 들어 어떤 프린팅 작업을 반복적으로 100회에서 1000회 가량 작업時..
사용자가 임의로 일시정지..취소등의 작업이 가능한지요..
procedure form1.button1.clicked
var i,k
begin
k := 1000;
for i = 1 to k do
print작업;
end;
procedure form1.button2.clicked
begin
print작업취소;
end;
procedure form1.button3.clicked
begin
print작업일시정지;
end;
위와 같이 button1을 click했을때 수행되는 for문을 외부(버튼2나 버튼3)에서 사용자 임의 controll이
가능한가요?
다른 언어(파워빌드)에서는 YIELD() 라는 함수가 있어 loop수행중에도 외부 이벤트의 처리가 가능하던데
델파이에서는 어떻게 처리해야 하는지 ..도움좀 주시기 바랍니다.
걸 써보세요...
var
Form1: TForm1;
Check : Boolean;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
i,k : Integer;
begin
k := 5000;
Check := False;
for i := 1 to k do
begin
Application.ProcessMessages;
if Check then
Break;
Memo1.Lines.Add(IntToStr(I));
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Check := True;
end;