Software/C#
-
C# Form Interop.Excel Nuget 패키지 추가 및 환경설정Software/C# 2024. 9. 9. 11:22
Interop.ExcelC# 시뮬레이터 개발 중 로그를 Excel에 저장해야할 일이 생겼다. Nuget Package Manager에 Interop.Excel Package가 있다. 하지만 패키지 추가 후 바로 실행하려면 버전 에러가 뜰 가능성이 매우 높다. 프로젝트에서 컴퓨터 내부의 Excel에 대한 환경 변수 추가가 안되어 있기 때문에 위치를 못잡는 것이다. 해당 위치를 프로젝트 내부에서 설정해주어 오류를 해결할 수 있다. 패키지 추가 종속성 추가해당 Package를 프로젝트에 추가 한 후 해줘야 하는 것은 종속성 추가이다. 찾아보기에서 다음의 엑셀 라이브러리를 추가해주어야한다.C:\Windows\assembly\GAC_MSIL\office\15.0.0.0__71e9bce111e9429..
-
Serial통신 데이터 수신 루틴 구현Software/C# 2024. 7. 12. 11:32
C# 시리얼 포트 System.IO.Ports.NET 기본 제공 API인 System.IO.Ports는 문제가 많은 것으로 유명하다문제가 많기 때문에 코드 구현을 효율적으로 하지 않으면 통신간 문제가 발생할 확률이 높다.가장 큰 문제점은 통신량이 많아져서 수신버퍼에 처리되지 않은 데이터가 많이 쌓이면 Receive Error 메세지와 함께 내부에서 데이터가 깨질 확률이 상승한다는 점이다. C#의 고질적인 문제인 UI접근 속도 때문에 모든 수신 데이터를 UI처리 시킨다면 수신버퍼에 데이터가 금새 쌓이게 되고 깨진 데이터를 받아보게 될 것이다. 따라서 UI접근을 최소화 시키고, 모든 데이터를 다 UI처리까지 할 필요가 없는 경우가 대부분이므로 수신버퍼를 빠르게 비우기 위해 데이터를 과감하게 버리는 구조로 통..
-
C# Form Textbox 변수 값 입력 이벤트Software/C# 2024. 5. 23. 15:49
TextBox에 변수를 입력할 때 입력 범위를 초과하거나 잘못된 값을 입력하면 입력이 되지 않도록 해야하는 경우가 많다.이때 Textchange 이벤트를 활용해도 되지만, Keydown 이벤트를 활용하여 Enter키가 입력 되었을 때만 해당 Textbox 값을 변화하게 한다면 변수 범위 적용이 쉬울 것이다. TexBox Event Method 생성Textbox 속성에서 번개 아이콘을 누르면 각종 Event 함수를 생성할 수 있다.해당 작업에서 더블클릭을 하면 함수까지 생성해준다! 함수가 생성되면 event keycode가 들어오는 e값에서 Enter키가 들어오는지 확인하고, 설정한 범위의 값일 때만 값을 적용, 아닐 때는 Range over 메세지를 띄워서 적용한다.