프로그래밍/C# 31

[C#] Null문자열제거 string.Replace("\0", string.Empty)

문자열관련해서 데이터를 저장하거나 통신을 하다보면 간혹 0x00값이 수신되는경우가 있습니다. 보통 C프로그램과 통신하는 경우 문자열 처리시 NULL문자가 같이 경우가 있는데 해당부분을 제거 하는 방법에 대해 알아보겠습니다. \\0, \\u0000 값으로 데이터가 수신되어 간혹 예기치 않게 처리되는 경우가 있습니다. replace문을 이용해서 간단하게 제거 할수 있습니다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace NullStringTest { class Program { static void M..

프로그래밍/C# 2021.09.13

[C#] 프로그램 중복실행방지 (뮤텍스,프로세스개수로확인)

프로그램을 중복실행을 방지하는 방법에 대해 알아보겠습니다. 중복 실행되지 않아야 되는 서비스의 경우는 중복실행이 되지 않도록 해주어야합니다. 중복실행을 방지하는 2가지방법에 대해서 알아보도록 하겠습니다. Process클래스를 사용하여 동일한 프로세스명이 있는지 확인하여 체크하는 방법과 뮤텍스를 사용해서 동시접근이 되지 않도록 하는 방법이 있습니다. 1. 프로세스 개수로 확인하기 System.Diagnostics네임스페이스를 추가해서 Process클래스를 사용하게합니다. Process.GetCurrentProcess().ProcessName : 현재실행하는 프로세스의 이름으로 해당프로세스가 2개이상인지 체크하여두개이상이면 중복 실행된것으로 판단합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 ..

프로그래밍/C# 2021.08.22

[C#] 윈폼 콘솔로 디버깅하기

윈폼으로 만들어진 프로그램을 동작중에 콘솔창을 띄워서 디버깅하는 방법에 대해 알아보겠습니다. 먼저 아래와 같이 윈도우 프로젝트를 만들었습니다. 전체 소스코드는 아래와 같이 작성이 되어있습니다. Button1을 클릭했을떄 콘솔에 "Click Button1"이라고 메세지를 표출하게 되어있습니다. 윈도우프로그램으로 되어있다보니 기본적으로 콘솔화면에 띄지 않습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using Sys..

프로그래밍/C# 2021.07.17

[C#] MariaDB 연동방법

이번에는 마리아DB를 사용하여 연동하는 방법에 대하여 알아보도록 하겠습니다. 먼저 마리아DB가 설치가 되어있어야 되겠죠. 마리아DB설치방법(https://sosopro.tistory.com/107)은 이전 포스팅항목을 참고하시기 바랍니다. MaraiDB사용관련 요약 1. MySql 닷넷용 Connector 다운로드 2. mysql-connector-net-8.0.25.msi 파일설치 3. MySql.Data.dll 프로젝트참조 - 닷넷프레임워크버전 4.5.2버전이상으로 빌드필요. - 버전이 낮을경우 다음과 같은 에러메세지 발생. 'MySql' 형식 또는 네임스페이스 이름을 찾을 수 없습니다 4. MariaDB 접속 5. Select/Insert/Update/Delete문 테스트 6. DataGridVie..

프로그래밍/C# 2021.05.23

[C#] ini파일 사용법

ini파일의 경우 설정파일을 저장할때 많이사용하며 C,C++등에서 많이 사용된 파일입니다. 먼저 INI파일 구조에 대하여 알아보겠습니다. Section, Key, Value로 이루어져있습니다. Section단위로 구분을 할수 있으며 해당 Section내에 Key값과 Value값으로 설정파일을 저장합니다. 항목 값 Section [DB] Key sa Value 1234 C#에서 INI파일을 사용하여 파일을 읽고/쓰기를 할때는 GetPrivateProfileString/WritePrivateProfileString WinAPI함수를 사용합니다. [전체소스코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31..

프로그래밍/C# 2020.11.19

[C#] 웹 URL 이미지 불러오기 (WebClient)

웹서버에 구축되어있는 이미지를 불러와서 표시하는 방법에 대하여 알아보겠습니다. WebClient를 사용해서 URL이미지를 표시해보도록 하겠습니다. Webclient를 사용하기위해서는 System.Net를 추가해야합니다. 웹에서 다운받은 파일을 복사하기 위해 MemoryStream을 사용하기위해 System.IO도 추가합니다. 먼저 URL의 데이터를 다운받기위해서 DownloadData메소드를 이용해서 해당데이터를 바이트배열로 다운 받습니다. 1 2 3 byte[] imgArray; imgArray = client.DownloadData(url); 다운받은 데이터를 이미지형태로 변환합니다. 1 2 3 4 5 using (MemoryStream memstr = new MemoryStream(imgArray)..

프로그래밍/C# 2020.11.13

[C#] FileSystemWatcher 폴더/파일변경관련 감시

이번에는 특정폴더에 파일이 복사되거나 변경하는 것을 감시하는 Class에 대해서 알아보겠습니다. FileSystemWatcher클래스를 사용하면 디렉토리 변경유무를 알수있습니다. 그럼 디렉토리 변경유무는 언제 체크가 필요할까요? 특정폴더를 감시해서 다른곳으로 파일을 전송하거나 아니면 파일이 생성될때 파일용량을 체크하여 자동삭제하도록 스케쥴을 걸때도 사용할수 있을것 같습니다. 이미지,동영상파일을 자동으로 FTP등을이용하여 클라우드서버에 전송하는 기능을 만들때에도 사용할수 있을것으로 보입니다. 전체소스 : MSDN 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 4..

프로그래밍/C# 2020.10.24

[C#] 비밀번호(패스워드) 암호화 SHA256알고리즘

비밀번호 암호화를 해야될경우에 Sha256 단방향 알고리즘을 많이 사용합니다. 문자열을 입력받아서 SHA256알고리즘적용하여 암호화 처리를 해보도록 하겠습니다. SHA256 Class를 사용해서 처리하면되고 해당 클래스를 사용하기 위해서는 System.Security.Cryptography네임스페이스를 추가해야합니다. 1 using System.Security.Cryptography; 아래와 같은순서로 변환처리가 됩니다. 1. 입력받은 문자열을 바이트배열로 변환 2. 바이트배열을 암호화된 32byte 해쉬값으로 생성 1 2 3 4 using (SHA256 mySHA256 = SHA256.Create()) { hashValue = mySHA256.ComputeHash(array); } 3. 32byte 해..

프로그래밍/C# 2020.10.03

[C#] 시리얼통신(RS232) 방법

C#으로 시리얼통신하는 방법에 대해 알아보겠습니다. SerialPort 클래스를 이용해서 시리얼 포트 통신하는법을 살펴보겠습니다. SerialPort클래스를 사용하기 위해선는 System.IO.Ports 네임스페이스를 추가해야합니다. 시리얼통신의 경우도 IO통신이기때문에 아래수순으로 이루어집니다. 파일,네트워크 IO통신의경우도 아래순서와 거의 흡사하게 처리되니 해당수순을 기억해두면 좋을것 같습니다. 1. 통신정보설정 - 시리얼통신시 필요한 포트번호, 보드레이트,패리티비트,데이터비트,StopBit정보를 설정합니다. ex)9600,N,8,1 public SerialPort(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBit..

프로그래밍/C# 2020.09.17
1 2 3 4