본문 바로가기

Study/C#(Window programming)15

cvs파일 로그 저장하기 cvs로 로그를 저장하는 방법은 여러가지가 있으며, FileStream과 StreamWriter를 이용하여 만들어 보겠습니다. 1. 먼저 파일을 만들어 줍니다. 저의 경우 통신이 시작될 때 로그 기록을 위해 파일을 생성하였습니다. 파일생성은 FileStream으로 해줍니다. 1 2 3 4 FileStream fs1; leftFile = "./Log/left_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv"; fs1 = System.IO.File.Create(leftFile); fs1.Close(); Colored by Color Scripter cs Line 2 : 생성할 파일명을 만들어 줍니다.(저는 현재날짜와 시간이 들어가도록 하였으며, csv파일로 만들도.. 2023. 12. 19.
폴더 만들기 모니터링 프로그램을 만들다 보면, LOG를 저장할 필요성이 있습니다. 이런 때에는 폴더를 따로 만들어 저장하면, 정리하기 편합니다. private void init_folder() { string folder = "./Log"; DirectoryInfo di = new DirectoryInfo(folder); if (di.Exists) { return; } di.Create(); } folder를 새로 만들때 현재 프로그램이 실행되고 있는 sub folder로 만들기 위해서는 상대경로로 지정해 줍니다. "./Log" dot 하나는 현재의 경로를 뜻합니다. dot 2개는 상위폴더이고, '/'는 하위 폴더입니다. 따라서 위와 같이 "./Log"로 쓰게되면 하위폴더 명을 Log로 하겠다는 의미입니다. Dire.. 2023. 12. 14.
PCAN USB 데이터 가져와서 뿌리기 예제 앞서 PCAN USB 연결/해제 하기 에서 UI와 PCAN 연결/해제를 구현해 보았습니다. 우선 타이머를 설정합니다. 타이머는 널널하게 1ms로 설정하였습니다. 1ms마다 readmessage()를 실행하게 됩니다. private void timer1_Tick(object sender, EventArgs e) { ReadMessage(); } readmessage에서는 can id를 검색해서 필요한 id만 가져오게 됩니다. private void ReadMessage() { TPCANMsg CANMsg; TPCANTimestamp CANTimeStamp; TPCANStatus stsResult; strMsg = new StringBuilder(256); stsResult = PCANBasic.Read(m.. 2021. 10. 27.
PCAN USB 연결/해제 하기 C#을 이용하여 PCAN으로 데이터를 읽어와서 UI로 뿌려주는 예제입니다. peak-can 사이트에 가시면 간단한 API 소스를 다운받을 수 있는데 특정 Msg만 가져와서 UI로 뿌려보겠습니다. 우선 API를 다운 받으셔서 PCANBasic.cs파일을 추가해 주셔야합니다. UI는 위와 같이 배터리 SOC를 쉽게 알아볼 수 있도록 UI를 만들었습니다. Initialize가 PCAN을 연결하는 것이고, Release는 연결을 해제하는 버튼입니다. 1.연결하기 연결시의 코드입니다. TPCANStatus stsResult; strMsg = new StringBuilder(256); m_PcanHandle = PCANBasic.PCAN_USBBUS1; try{ stsResult = PCANBasic.Initial.. 2021. 9. 2.
c# RichTextBox 텍스트 라인 유지(FIFO방식) 일반적인 터미널을 보게되면, 버퍼가 가득차면 오래된 로그부터 사라집니다. c#에서도 터미널처럼 제일 오래된 라인부터 없애고 텍스트 박스의 텍스트를 일정 라인수만큼 유지할 수 있습니다. int maxline = 10000; if (messageRich.Lines.Length > maxline) { messageRich.Select(0, messageRich.GetFirstCharIndexFromLine(messageRich.Lines.Length - maxline)); messageRich.SelectedText = ""; messageRich.AppendText("\n"); } else { messageRich.AppendText("\n"); } messageRich.ScrollToCaret(); mes.. 2020. 8. 20.
text 창 text 다양한 color 나오게 하기 c#에서 debug용으로 text를 띄울때 Rx와 Tx의 color를 각각 다르게 설정할 수 있습니다. 일반적인 TextBox가 아닌 RichTextBox로 가능합니다. 우선 RichTextBox를 만듦니다. 이제 Text창에 글자를 적어줍니다. String hex = BitConverter.ToString(sendPacket); String date = DateTime.Now.ToString(" yyyy-MM-dd HH:mm:ss.fff : "); messageRich.AppendText("\r\n"); messageRich.SelectionColor = Color.Blue; messageRich.AppendText("[TX] "); messageRich.AppendText(date); messageR.. 2020. 8. 15.

인기글