안녕하세요. 알렉스 입니다. 오늘은 블록다이어그램의 마무리를 짓도록 큐를 이용해서 프로그램을 동작하도록 하겠습니다.
 |
사진1) 이벤트 케이스문 추가(확인) |
이전글에서 만든 확인버튼에 관련된 이벤트 케이스문을 만들어 줍니다. 당연히 값이 변경될때 이벤트문이 동작되도록 설정을 해 둡니다.
 |
사진2) 확인 케이스 코딩 |
이제 확인 케이스문에 원소를 큐에추가 함수를 넣어주고 사진2와 같이 코딩을 해줍니다. 사용자가 문자열 컨트롤에 문자를 입력하고 확인버튼을 누를시 문자열이 큐에 추가가 됩니다.
 |
사진3) While루프 추가 |
다음은 문자열 인디게이터에 사용할 While루프를 추가합니다.
 |
사진4) 추가된 While루프 추가 |
2번째로 추가된 While루프는 큐에서 원소(문자열)를 빼와서 문자열 인디게이터에 표시를 하는 것입니다. '빈문자열/경로?'함수를 사용했는데 만약 어떻한 문자열도 입력이 되지 않으면 공백은 출력하지 않는다는 것입니다.
또한 케이스 구조를 사용해서 빈 문자열이면 케이스가 참으로 변경되서 이후 원소는 사라집니다.
 |
사진5) 정지버튼 속성(기계적 동작) 변경 |
 |
사진6) 정지버튼을 2번째 While루프에 추가(로컬변수) |
이제 2번째 While루프에도 정지버튼을 설정해야 하는데 이때 기존에 사용하는 정지버튼을 이용을 할 것입니다. 하지만 '정지'버튼의 기계적 동작이 래치면 로컬변수 생성시 에러가 걸립니다. 따라서 기계적 동작을 스위치로 변경하고 2번째 While루프에 정지(로컬변수)버튼을 코딩합니다.
 |
사진7) 프로그램 정지중 에러 발생 |
물론 프로그램을 실행하면 처음에는 잘되지만 종료를 할때 에러가 발생합니다. 이는 큐가 없는 상태에서 2번째 While루프가 큐를 제거할때 생기는 현상입니다. 따라서 큐가 있을때만 큐를 제거하게 만들어야 합니다.
 |
사진8) 에러에 따른 추가 코딩(큐원소 미리보기) |
사진8과 같이 '큐 미리보기' 함수를 이용해서 미리 큐의 존재유무를 파악하고 존재할때 큐를 제거하는 코딩을 하였습니다. 큐가 존재하지 않을시 케이스문은 참입니다.
 |
사진9) 정상동작 |
Discord Community Link
댓글
댓글 쓰기