전체검색 결과
키워드를 입력하시면 검색이 가능합니다.
안녕하세요. 엔지엠소프트웨어입니다. 그동안 엔지엠 매크로 6에서 제공하지 않았던 새로운 기능을 소개하게 되었습니다. 비동기 그룹은 하위로 추가한 액션들을 매인 스크립트와 별개로 동작시킬 수 있는 막강한 액션입니다. 일반적으로 병렬 함수(패러럴 펑션: Parallel Function)라고 부릅니다. 병렬 함수는 여러가지 일을 동시에 할 수 있도록 해줍니다. 참고로, 병렬 함수를 여러개 사용하는 경우 몇가지 제약이 따르는데요. 동시성에 위배되는 행위를 처리할 수 없다는 것입니다. 동시성 위배는 단순히 말해서 동시에 하나의 상태를 …
안녕하세요. 엔지엠소프트웨어입니다. 오늘은 날짜 시간 체크 액션을 만들어 볼건데요. 매크로 프로그램을 사용하면서 가장 많이 하는 질문중에 하나가 특정 시간에 매크로가 동작할 수 있는지인데요. 쉽게 말해서 타이머 또는 예약과 같은 것이라고 생각하시면 됩니다. 업무가정해진 시간에 시작된다면, 특정 시간에 매크로가 실행되어야 합니다. 엔지엠 6에서는 스크립트 예약이 별도의 스레드로 스크립트를 불러오다보니 생각보다 많은 리소스를 사용하게 되고, 많은 스레드를 생성할 때 문제가 발생하는 경우들이 많았습니다. 다음에 알아볼 예약 작업의 경우 …
안녕하세요. 엔지엠소프트웨어입니다. 대부분의 액션들이 중요한 내용을 담고 있겠지만, 이번에 새롭게 추가된 숫자 체크 액션은 개발자로써 정말 많은 고민을 하게한 액션입니다. 일반적으로 문자열을 처리하는건 간단합니다. 그리고, 다양한 방식으로 값을 처리해서 자동화 할 수 있는데요. 문제는 숫자입니다. 숫자는 문자가 아니기 때문에 매크로 속성에서 몇가지 제약이 따릅니다. 일단 크다, 작다를 판단하려면 숫자여야 하고 숫자는 int, double, decimal, float 형식이 있습니다. 그렇다보니 소수점 자리수를 어떻게 처리해야 할까를…
안녕하세요. 엔지엠소프트웨어입니다. 오늘은 상태 처리 방법을 좀 더 다이나믹하게 테스트 해보도록 하겠습니다. 우선, 이전 시간에 알아본 내용처럼 스크립트의 상태를 체크하고, 상태 체크 값을 비교해서 중지된 상태라면 다시 실행할 수 있도록 해야 합니다. 이 시나리오를 수행하기 위해서는 상태 값을 비교할 수 있는 텍스트 체크 액션이 필요합니다. 아래와같이 모델을 만들었는데요. 하는김에 숫자 체크 액션도 같이 만들었습니다. 체크 액션들은 모두 동일한 속성을 가져야 합니다. LeftValue와 RightValue인데요. 좌항과…
안녕하세요. 엔지엠소프트웨어입니다. 오늘은 매크로 프로그램을 제작할 때 변수 처리를 좀 더 쉽게 사용할 수 있도록 해주는 플레이스홀더(Placeholder)에 대해 알아보도록 하겠습니다. 이 기능은 엔지엠 매크로 6에 이미 포함되어 있는 기능인데요. 엔지엠 7 버전의 플레이스홀더는 최적화와 퍼포먼스가 상당부분 개선되었습니다. 플레이스홀더는 특정 브래킷(Bracket)을 이용해서 문자열 내에서 홀더 역할을 하고, 홀더 키와 매칭되는 변수를플레이스합니다. ※ 브래킷은 중괄호를 사용합니다. 위의 기본적인 설명이 약간 복잡하게 느껴…
안녕하세요. 엔지엠소프트웨어입니다. 오늘은 간단한 내용인데요. 이 내용과 문자를 비교할 수 있는 조건 액션을 2부에서 만들어보고, 매크로 플레이어의 상태를 체크해서 중지되어 있으면 다시 실행하는 프로세스를 만들어 보도록 하겠습니다. 이번 내용은 앞서 만들었던 플레이어 상태 정보를 사용자가 확인할 수 있도록 하는 액션입니다. 상태를 확인할 수 있으면, 상태 정보를 변수에 저장하고 저장된 내용을 조건에서 판단할 수 있습니다. 개발자가 아닌 경우 변수에 대한 이해가 어려울 수 있습니다. 사실, 프로그래밍에 처음 입문하는 분들도 변수…
안녕하세요. 엔지엠소프트웨어입니다. 이전 시간에 만든 스크립트 실행 액션은 기본적으로 비동기로 작동합니다. 비동기란, 자신을 실행한 부모 스크립트와 동시에 실행된다는 의미입니다. 동기(Synchronous)와 비동기(Asynchronous)의 차이점은 아래 그림에서 잘 설명하고 있습니다. 그래서, 엔지엠 매크로에서도 동기적인 처리와 비동기적인 처리를 사용자가 선택할 수 있도록 옵션을 추가해줘야 합니다. 이 내용은 앞서 스크립트 실행에서 언급만 하고, 구현은 하지 않았었는데요. 이번 시간에 비동기적으로 처리되던 것을 동기…
안녕하세요. 엔지엠소프트웨어입니다. 매크로 프로그램에서 아무리 많은 기능을 제공한다 하더라도 윈도우의 기본 커멘드라인을 대체할 수 없습니다. 윈도우 커멘드라인과 윈도우 쉘을 사용하면 안되는게 없을정도로 막강한 기능들을 제공하고 있기 때문입니다. 또한, 배치파일을 이용해서 어느정도 단순한 매크로 프로세스를 만들수도 있어요. 구글 크롬이나 엣지처럼 커멘드라인 명령어를 제공하는 프로그램들은 배치파일과 같이 사용하면 막강한 성능을 낼 수도 있습니다. 커멘드라인이 막강한 기능을 가지고 있지만, 전통적인 검은 화면에 명령을 타이핑해서 입…
안녕하세요. 엔지엠소프트웨어입니다. 매크로 프로그램을 제어할 때 필요한 필수 기능인 일시 중지에 대해 알아볼건데요. 오늘 이 내용까지 만들면 모든 기능을 전부 구현하게 됩니다. 앞서 실행과 중지에 대해서 알아봤기 때문이죠. 아직 추가적으로 개발해야 할 내용들이 더 많이 남았지만, 매크로를 제작하면서 테스트해야 할 일들이 많은데요. 그동안 테스트를 실행하고 로그를 보는 정도로만 했었어요. 좀 더 복잡한 스크립트를 테스트하려면 중지와 일시 중지 기능이 꼭 필요합니다. 테스트 시간을 단축하기 위해서죠^^ 일단 이전 시간에 알아본 태…
안녕하세요. 엔지엠소프트웨어입니다. 이전 시간에 클라이언트(에디터, 플레이어)에서 실행중인 매크로를 중지하는 방법을 알아봤는데요. 오늘은 스크립트 중지 액션을 만들어 볼께요. 아마도, 다음 시간에는 실행중인 스크립트를 일시 중지하는걸 만들거 같네요. 일단 스크립트를 제어하는 모델들을 모두 추가해놓고, BaseModel에 스크립트를 선택할 수 있도록 해두었습니다. 여기까지는 1부 내용을 참고하시면 됩니다. 아래는 스크립트 중지 모델인데요. 추가적인 옵션들을 더 제공해야 할지 고민중입니다. 현재는 선택한 스크립트를 중지합니다. 만…