본문으로 바로가기

Tcl/Tk 시작

category 카테고리 없음 2024. 4. 8. 16:07

준비사항

Tcl 스크립트를 작성하고, 실행시키기 위해서는 최소한 다음의 두 가지가 필요합니다.

  • 텍스트 에디터
  • Tcl/Tk 바이너리

Wish로 시작하기

버튼이 클릭되면, ‘안녕하세요’를 메세지 박스로 출력하는 프로그램을 작성해 보겠습니다.

button .b -text { 눌러 주세요 } -command {
   tk_messageBox -message { 안녕하세요 }
}
pack .b

 

고작 4줄로 완성됩니다. 이것을 복사하여 wish에 붙여 실행할 수 있습니다.

 

어떻습니까? 간단하죠? -command는 버튼이 클릭되면... 이라고 하는 의미이고, tk_messageBox는 메시지박스를 출력하는 커맨드입니다. 참고로, wish보다 기능이 많은 TkCon이라는 콘솔도 있습니다. 히스토리 트리기능이나 로그의 보존 기능등이 편리하더군요.

에디터로 시작하기

wish에 카피하여 붙이는 것은, 프로그램이 짦을때의 얘기입니다. 보통은, 텍스트 에디터로 스크립트 파일을 작성하고, 그것을 실행합니다. wish의 File → Source로부터 파일을 지정하여 실행할 수 있지만, 보통은 wish의 인자에 스크립트 파일을 지정하여 실행합니다. Windows 환경이라면, 스크립트 파일의 확장자를 .tcl 로 지정하면, 탐색기에서 스크립트 파일을 더블클릭하여 실행할 수 있습니다.

 

주의할 점은, button.tcl과 같이 Tk의 위젯 이름을 파일명으로 하는 것은 바람직하지 못합니다. 이유를 설명하자면 길어지기 때문에, 생략합니다.

처음부터 완전한 프로그램이란 없다

보통은, 스크립트를 처음 작성하고, 에러없이 처음에 성공하는 사람은 거의 없을 것입니다. 상당한 전문가라도, 새로운 언어의 코드를 에러 없이 완성하는 것은 어려울 것입니다. 몇 번 쓰고, 고치고를 반복해야 완성된 제대로 동작하는 프로그램을 만들 수 있을 것입니다. 그렇게 하는 사이에 다양한 커맨드의 표현이나, 그 언어의 규칙을 알 수 있고, 점점 에러가 없이 코드를 작성할 수 있을 것입니다. Tcl이 좋은 점 중 하나는 위와 같은 작업을 간단하게 할 수 있다는 점입니다. 텍스트 에디터로 쓴 후, wish로 실행하면 작동하는지 안 하는지는 즉석에서 알 수 있습니다. 에러가 나면, 텍스트 에디터에서 고치고, 또 wish로 실행하면 됩니다. 이러한 작업을 디버그(debug)라고 부릅니다. Tcl에서는 에러가 다이얼로그에 출력되기 때문에,

 

어디에서 에러가 났는지 대강 짐작할수 있게 해 줍니다. 하지만 어느 위치라고 단정 지을 수 없는 케이스도 제법 있습니다. 그런 때는, 메시지 박스에 변수의 내용을 표시하여 디버그를 합니다. 좀 더 효율적으로 디버그를 하고 싶을 때는, RamDebugger를 사용하면 좋을 것입니다.