Q&A

  • For loop 중에 멈춰서는 방법
예전 C 를 보면 for 문 내에 getc() 를 넣어주면 for 문이 순차적으로 변하는 것을

관찰할 수 있었습니다.

델파이에서도 for loop 가 어떻게 변화해가는가를 추적하기 위해

showmessage 함수를 썼는데요. 이것의 문제는 창의 focus가 showmessage 창으로 넘어가는데 있죠.

원래 창에 focus를 유지하면서 동일한 기능을 수행할 수는 없을까요?
1  COMMENTS
  • Profile
    착한천사 2005.12.19 04:45
    글쎄요.. 저도 개론적으로 밖에 말씀드릴 수 밖에 없네요..
    showmessage를 쓰지 않으시려면
    listbox나 stringGrid나
    뭐 이런 컴포넌트를 이용해서 보는 방법도 있겠죠..
    물론, 값의 변화에 따라서 잠시 그 라인에 멈추게 하려면..
    중첩 loop를 쓰면 되지 않을까요?
    즉,
    <!--CodeS-->
    while (조건) do
    begin
       //처리루틴
       //처리값을 보여주는 루틴(예, stringGrid 혹은 editbox, listbox뭐.. 값을 보는 컴포넌트들 중 1개선택)
       edit1.text := 'N';
       edit1.setfocus;
       while (edit1.text = 'N') do application.processmessage;
    end;
    <!--CodeE-->

    콘솔 모드에서 되는게 윈도우에서 안될 것 없지 않나 생각됩니다.
    뭐 이렇게 하면 될 것 같기도 하군요..