유료 매크로 프로그램 다운로드
http://ngmsoftware.com/bbs/board.php?bo_table=product_review
#매크로 #메크로 #매크로프로그램 #엔지엠소프트웨어 #엔지엠에디터 #엔지엠플레이어 #비활성매크로 #하드웨어매크로 #기계식매크로 #마우스광클릭 #키보드매크로 #이미지서치 #이미지매치 #블로그 #카페 #인스타그램 #유튜브 #소셜네트워크 #카카오톡 #텔레그램 #자동화
- 엔지엠 커뮤니티 월 이용료: 4,500원, 1년 이용료: 55,000원 (전체 기능의 80프로)
- 엔지엠 얼티밋 월 이용료: 6,500원, 1년 이용료: 77,000원 (전체 기능의 90프로)
- 엔지엠 엔터프라이즈 월 이용료: 9,200원, 1년 이용료: 110,000원 (전체 기능 사용)
안녕하세요. 엔지엠소프트웨어입니다. 배열에서 데이터를 삭제하는 액션을 만들어 볼께요. 배열에 대한 기초(?)적인 설명은 이 전글을 참고해주세요. 바로 코드를 보죠~
public class ArrayRemoveModel : BaseModel
{
[NonSerialized]
private string[]? _datas;
[LocalizedCategory("Data")]
[LocalizedDisplayName("Result")]
[LocalizedDescription("Result")]
[Browsable(true)]
[DefaultValue(null)]
public string[]? Result { get; set; }
[LocalizedCategory("Array")]
[LocalizedDisplayName("RepeatData")]
[LocalizedDescription("RepeatData")]
[Browsable(true)]
[DefaultValue(null)]
public string[]? ArrayData { get { return _datas; } set { _datas = value; } }
[LocalizedCategory("Array")]
[LocalizedDisplayName("ArrayAddLocation")]
[LocalizedDescription("ArrayAddLocation")]
[Browsable(true)]
[DefaultValue(typeof(Ai.Definition.ArrayOption), "Last")]
public Ai.Definition.ArrayOption RemoveLocation { get; set; } = Definition.ArrayOption.Last;
[LocalizedCategory("Array")]
[LocalizedDisplayName("ArrayIndex")]
[LocalizedDescription("ArrayIndex")]
[Browsable(true)]
[DefaultValue(0)]
public int Index { get; set; }
[LocalizedCategory("Array")]
[LocalizedDisplayName("ArrayValue")]
[LocalizedDescription("ArrayValue")]
[Browsable(true)]
[DefaultValue(0)]
public string? Value { get; set; }
public override string? Execute(IPlayer player)
{
var id = base.Execute(player);
List<string>? datas = _datas.ToList();
switch (RemoveLocation)
{
case Definition.ArrayOption.First:
datas.RemoveAt(0);
break;
case Definition.ArrayOption.Last:
datas.RemoveAt(datas.Count - 1);
break;
case Definition.ArrayOption.Index:
datas.RemoveAt(Index);
break;
case Definition.ArrayOption.Values:
datas.RemoveAll(x => x == Value);
break;
case Definition.ArrayOption.FirstValue:
datas.RemoveAt(datas.IndexOf(Value));
break;
case Definition.ArrayOption.LastValue:
datas.RemoveAt(datas.LastIndexOf(Value));
break;
case Definition.ArrayOption.Clear:
datas.Clear();
break;
}
Result = datas.ToArray();
return id;
}
}
코드는 딱히 설명할만한 내용이 없습니다. 닷넷 개발을 조금이라도 해보신분이거나 자바? 자바스크립트? 아무튼, 코딩을 해봤다면 내게 필요한 라이브러리나 패키지를 추가하고 해당 클래스를 인스턴스화 한 다음에 점을 찍으면 인텔리센스가 작동하면서 어떤것들을 사용할 수 있는지 알려줍니다. 코딩 정말 쉽죠~~~?
요즘 유튜브 동영상 편집에 재미들려서 자꾸 뭔가를 만들게 되네요. 할일도 많은데... 생각보다 많은 시간을 빼앗기고 있습니다. 그래서 부족한 시간을 어떻게 채워야 할까 고민하고 있는데요. 일단, 운동과 코딩 시간은 줄일 수 없으니 TV 보는 시간과 주말 휴식 시간을 줄여야겠군요. 올해안에 엔지엠 7을 완성하려면 좀 더 바짝 일해야겠습니다.
위의 코드에서 중요한 부분은 RemoveLocation입니다. 음... 지금보니 프로퍼티 이름이 마음에 안드는군요. 일단 넘어갑시다.
[LocalizedCategory("Array")]
[LocalizedDisplayName("ArrayAddLocation")]
[LocalizedDescription("ArrayAddLocation")]
[Browsable(true)]
[DefaultValue(typeof(Ai.Definition.ArrayOption), "Last")]
public Ai.Definition.ArrayOption RemoveLocation { get; set; } = Definition.ArrayOption.Last;
배열 삭제에 대한 옵션은 총 7가지예요. 기능 하나당 한줄정도 코딩하면 모두 구현할 수 있습니다.
public enum ArrayOption
{
First = 0,
Last = 1,
Index = 2,
Values = 3,
FirstValue = 4,
LastValue = 5,
Clear = 6
}
이제 완성된 내용을 테스트 해볼께요.
아직 많은 부분을 수정하고, 개선해야 하지만 빨리 시제품을 출시해서 시장의 반응을 보고 하나씩 발전시켜 나가는게 좋은 방법입니다. 엔지엠 매크로도 처음 버전 1부터 현재 버전 6까지 그렇게 발전 해왔으니까요. 앞으로도 계속 이렇게 발전 시키면서 버전이 늘어나다보면 언젠가는... 음~ 미래는 알 수 없긴합니다. 이제 내년에는 50대에 들어서기도 하고, 언제까지 계속 할 수 있을지도 모르니까요. 개발자를 채용하거나 파트너를 구해서 같이 해야할지도 모르겠습니다.^^
[ 각종 자동화 매크로 및 RPA 프로그램 제작 해드립니다. ]
[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]
원본 글 보기
http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech
댓글