안녕하세요...
이곳 도움을 많이 받고 공부하는 사람입니다..
역시나 궁금한게 또 생겼습니다... 참.. 저는 씨뿔뿔빌더를 사용하는데 델파이가
많이 활성화 되서 이곳을 주로 이용합니다...
질문은요... 제목대로 for 문이나 while 문에서 중간에 다른 이벤트가 생길때
까지 기다리게 할수 있는가 입니다...
예를 들어 버튼1을 누르면 다음과 같이 while 문이 실행됩니다...
while(1)
{
x = x+1;
// 이곳에서 다른 이벤트가 생길때 까지 대기
}
즉 , 위의 x = x+1; 다음에 기다렸다가 버튼2가 눌렸다는 이벤트가 생기면
그때 다시 다음 x = x+1; 을 실행하고 또 기다리고....
이런식으로 프로그램 중간에 잠시 멈추게 할수 있는지요...
물론 위의 예는 다른 방법으로 하면 되지만요...
고수님들의 조언을 부탁드립니다...
안녕히계세요...
델파이로~
먼저 전역변수를 하나 놓아야 겠죠?
var
ButtonClicked : Boolean;
그리고 버튼의 OnClick이벤트에 ButtonClicked := True 라는 것을 넣어주고요..
글구 반복문에서는...
while true do
begin
inc(x);
while not ButtonClicked do Application.ProcessMessages;
ButtonClicked := False;
end;
위처럼 하면 어떨까요?
온라인상에서 만든것이라 수정이 필요할 수 있습니다.
그럼 좋은코딩하세요~
문보석 께서 말씀하시기를...
> 안녕하세요...
>
> 이곳 도움을 많이 받고 공부하는 사람입니다..
>
> 역시나 궁금한게 또 생겼습니다... 참.. 저는 씨뿔뿔빌더를 사용하는데 델파이가
>
> 많이 활성화 되서 이곳을 주로 이용합니다...
>
> 질문은요... 제목대로 for 문이나 while 문에서 중간에 다른 이벤트가 생길때
>
> 까지 기다리게 할수 있는가 입니다...
>
> 예를 들어 버튼1을 누르면 다음과 같이 while 문이 실행됩니다...
>
> while(1)
> {
> x = x+1;
> // 이곳에서 다른 이벤트가 생길때 까지 대기
> }
>
> 즉 , 위의 x = x+1; 다음에 기다렸다가 버튼2가 눌렸다는 이벤트가 생기면
>
> 그때 다시 다음 x = x+1; 을 실행하고 또 기다리고....
>
> 이런식으로 프로그램 중간에 잠시 멈추게 할수 있는지요...
>
> 물론 위의 예는 다른 방법으로 하면 되지만요...
>
> 고수님들의 조언을 부탁드립니다...
>
> 안녕히계세요...
>