커뮤니티

GetUserValue()함수로 파일변수를 읽기전에 초기화하는 방법이 있나요?

프로필 이미지
원더뿌리
2013-10-07 01:22:57
692
글번호 222607
답변완료
파일에 변수를 만들어 스팟이 다시 실행되더라도 기존 값을 계속해서 읽고, 쓰고 싶을때가 많이 있습니다. OnStart()함수에서 GetUserValue()를 해서 변수를 활용하고 싶은데, 해당 변수는 OnTimer() 함수내에서 만들어주기 때문에 최초에 OnStart()에서 초기화를 할 수 없는 상황입니다.(OnStart() 함수에서 초기화하면 스팟 실행할때마다 초기화가 되어 파일에서 기존 값을 읽어오는게 의미가 없어지므로 그렇게 하면 안될 것 같습니다.) 이렇게 되면 맨 처음에 전략 실행시 변수가 초기화되지 않은 상태에서 OnStart()함수에서 GetUserValue()를 이용해 변수를 불러오게 되므로 오류가 생길 수 밖에 없는데, 어떻게 초기화하면 될까요?
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-10-07 18:00:08

안녕하세요 예스스탁입니다. 셋팅되기전에 특정변수를 초기화하는 방법은 없습니다. var S1; function Main_OnStart() { if (Main.GetUserValue("ttt") == "") S1 = 0; else Si = Main.GetUserValue("ttt"); Main.MessageList(S1); } 아직 셋팅이 되지 않아 변수의 값이 없으면 ""입니다. 위와 같이 작성하시면 처음 Onstart시에 값이 없으면 값을 호출하여 저장하는 변수를 0으로 하고 값이 있으면 호출한 값을 저장하게 됩니다. 혹은 아래와 같이 값을 호출해서 ""면 0을 셋팅하고 값이 있으면 해당 값을 저장해 사용하셔도 됩니다. var S1; function Main_OnStart() { if (Main.GetUserValue("ttt") == "") Main.SetUserValue("ttt", 0); else S1 = Main.GetUserValue("ttt"); } 즐거운 하루되세요 > 원더뿌리 님이 쓴 글입니다. > 제목 : GetUserValue()함수로 파일변수를 읽기전에 초기화하는 방법이 있나요? > 파일에 변수를 만들어 스팟이 다시 실행되더라도 기존 값을 계속해서 읽고, 쓰고 싶을때가 많이 있습니다. OnStart()함수에서 GetUserValue()를 해서 변수를 활용하고 싶은데, 해당 변수는 OnTimer() 함수내에서 만들어주기 때문에 최초에 OnStart()에서 초기화를 할 수 없는 상황입니다.(OnStart() 함수에서 초기화하면 스팟 실행할때마다 초기화가 되어 파일에서 기존 값을 읽어오는게 의미가 없어지므로 그렇게 하면 안될 것 같습니다.) 이렇게 되면 맨 처음에 전략 실행시 변수가 초기화되지 않은 상태에서 OnStart()함수에서 GetUserValue()를 이용해 변수를 불러오게 되므로 오류가 생길 수 밖에 없는데, 어떻게 초기화하면 될까요?