본문 바로가기

Autohotkey강좌

Autohotkey#41, StrSplit에서 줄바꾸기 오류(`r`n, \r\n )

반응형

https://youtu.be/NY4j3AYleG0

지난번에 FileSetting을 저장하고 읽어 오는 스크립트를 소개할 때 오류가 있었습니다.

우선 줄바꾸기를 나타내는 내용이 `r`n인데 `n만 표시하여 실제 그 스크립트로 동작을 시키면 일부 동작이 제대로 수행되지 않는 경우가 발생했을 것입니다. 이것을 해결하기 위해서는 `n대신에 `r`n을 사용하면 됩니다.

가장 치명적인 경우가 설정치에서 읽은 내용에 추가로 다른 내용을 덧붙일 경우입니다. 그 경우 `r이 동작 하면, 어떤 경우(대표적으로 cmd창에서 명령을 입력하는 경우)에는  명령이 2가지로 분리되어 전달되는 경우가 발생가능합니다.

따라서 그럴일이 없도록 `r`n을 합쳐서 StrSplit을 수행하던지, `n만 가지고 StrSplit 한 결과를 가지고 정상적으로 처리하게 만드는 방법이 있습니다. 여기서는 `r`n을 분리문자롤 사용하도록 하겠습니다.

StrSplit에서 옵션의 순서는 다음과 같습니다.

결과값 :=StrSplit(입력값,[":","`r`n"])

여기에서 분리할 문자로 사용할 내용을 배열로 주는데 첫번째는 :로 줬고, 두번째는 `r`n으로 줬습니다. 이렇게 진행하면 이후에 결과값에 이상한 내용이 들어갈 일이 없습니다. 하지만 기존에 공유드린 내용으로 하면 분명히 문제되는 경우가 있었을 것입니다. 하지만 얘기하신 분이 없는 것으로 봐서는 해당 내용 그대로 처리하지는 않은것 같아 다행입니다.

다음은 GuiClose()에 대한 내용입니다. 이 부분을 그동안 안 넣다 보니, 프로그램을 종료했다고 생각했는데 trayicon에 남아 있는 경우가 많았을 것입니다. 아래처럼 GuiClose루틴을 넣으면 말끔히 해결됩니다.

 

GuiClose:
{
ExitApp
}
return

 

일부만 달라졌으므로 게시안해도 되겠죠? 그래도 넣어 드릴까요? 알겠습니다. 넣습니다.

FileSettingV1.2.ahk
0.00MB

반응형