1. 형식
형식1) result= keybreak()
형식2) result= keybreak(flag)
형식3) result= keybreak(flag, keybreak_message)
2. 기능: 이 함수는 Wel 프로그램 실행중에 키보드를 통하여 CTRL-C 나 CTRL-\ 가
눌려졌을 경우, 이를 제어하기 위한 함수이다. 형식3)은 CTRL-C가 눌려
졌을 때 출력되는 메시지를 지정하는 경우이며, 형식2)와 같이 메시지를
지정하지 않으면 초기값으로 설정된 메시지가 출력된다.
3. 설명 (이 함수를 웹 상에서 사용하면 에러로 처리됩니다)
(1) 인자 flag은 CTRL-C나 CTRL-\의 효력 발생에 대한 값으로 0 이면 CTRL-C키는
무시되고 1 이나 그 외의 값은 CTRL-C가 유효하게 한다.
(2) 인자 flag이 문자열이고 수치로 변환될 수 없을 때는 에러 처리된다.
(3) 형식1)은 현재 설정된 key break의 상태값을 읽기만 한다. 이 경우에
result의 값이 1이면 CTRL-C가 유효한 상태이고 0 이면 무효한 상태이다.
(4) 형식2)에서 인자 flag이 0 이면 출력되는 메시지가 없으며, 그 외의 값일 때는
초기값으로 설정된 메시지가 출력된다.
(5) 형식3)에서 인자 keybreak_message는 CTRL-C가 눌려졌을 때 출력할 메시지
이며 문자열이 아니면 문자열로 변환하여 처리한다. keybreak_message에
폼 매크로가 사용되었다면 매크로가 처리(확장)된다.
(6) key break의 초기값은 1이며 CTRL-C를 누를 경우 프로그램이 종료된다.
(7) CTRL-C 나 CTRL-\가 눌려졌을 경우의 예
keybreak(0) : 프로그램이 중단되지 않고 메시지가 출력되지 않는다.
keybreak(1) : 프로그램이 중단되며 초기값 메시지를 출력한다.
keybreak(0,"AA") : 프로그램이 중단되지 않고 "AA" 메시지가 출력된다.
keybreak(1,"AA") : 프로그램이 중단되며 "AA" 메시지가 출력된다.
keybreak(1,"") : 프로그램이 중단되며 메시지를 출력하지 않는다.
4. 사용예
print(" 5초 내에 CTRL-C를 눌러 보십시요!\n");
save_keybreak= keybreak();
keybreak(0, "[CTRL-C가 입력되었습니다]"); // CTRL-C를 무시하고 메시지를 출력
sleep(5);
keybreak(save_keybreak);
print("\n 대기를 종료합니다!\n");
------------------------------ [ 출력결과 ] ------------------------------
5초 내에 CTRL-C를 눌러 보십시요!
[CTRL-C가 입력되었습니다]
대기를 종료합니다!
|