728x90

c# 12

[C# (WinForm)] Access DB 사용하기

Access DB 사용 방법에 대한 포스팅입니다 DB 열기private OleDbConnection m_Conn = new OleDbConnection();private bool m_bDBConn = false;private bool DBOpen(string strPath){ DBClose(); try { string sConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strPath + ";Jet OLEDB:Database Password=1234;"; m_Conn.ConnectionString = sConn; m_Conn.Open(); m_bDBConn = true; } catch (Exception Ex) { MessageBox.Show..

[C# WinForm] 엑셀 파일 사용하기 2 (Excel)

https://devsalix.tistory.com/76 [C# WinForm] 엑셀 파일 사용 하기 (Excel)C#에서 OleDb와 DataTable을 사용해 Excel 파일을 접근하여 사용할 수 있습니다 우선 Excel 클래스로는 using System; using System.Data; using System.Data.OleDb; using System.Windows.Forms; public class CExcel { private OleDbConnectiodevsalix.tistory.com 이전 엑셀 파일 사용하기에 이어 두 번째 사용하는 방법에 대해 소개해 드리겠습니다 이전에는 엑셀을 DB화 하여 사용했다면 이번에는 다이렉트 접속으로 사용하는 방법에 대해 설명해 드리겠습니다 클래스 영역usi..

[C# WinForm] FTP 501 오류 해결 방법

FtpWebRequest 클래스 사용 중 GetResponse() 함수 호출중 오류가 발생 오류 내용은 "원격 서버에서 (501) 매개 변수 또는 인수에 구문 오류가 있습니다. 오류를 반환했습니다." 해당 오류의 해결법은 FtpWebRequest 클래스에서 UsePassive 설정값을 true로 변경하니 정상 동작 확인 해당 속성값은 클라이언트 애플리케이션의 데이터 전송 프로세스에서 데이터 포트의 연결을 수신 대기할 경우 false이고, 클라이언트에서 데이터 포트의 연결을 시작해야 할 경우에는 true입니다. 기본값은 true입니다. 참조https://learn.microsoft.com/ko-kr/dotnet/api/system.net.ftpwebrequest.usepassi..

[C# WinForm] 경과 시간 체크 (TimeSpan & Stopwatch)

일반적으로 두 시간의 차이를 구하는 코드를 알려 드리겠습니다 1. TimeSpan 우선 첫 번째는 System 네임 스페이스의 TimeSpan 클래스를 활용해 두 시간의 차이를 구하는 구현 코드는 DateTime dtStart = DateTime.Now; // Process..... TimeSpan ts = DateTime.Now - dtStart; //ts.TotalMilliseconds.ToString(); 위와 같은 방식의 코드를 작성해 경과 시간을 측정하면 됩니다 2. Stopwatch 두번째는 System.Diagnostics 네임 스페이스의 Stopwatch 클래스입니다 구현 코드는 Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); // P..

[Toy Project] UDP 업데이트 프로그램 (Update, Patch)

1. 서버 1) 전체 설명 개발 언어 C# 설정된 포트 번호로 UDP 포트를 연다 설정된 경로의 하위 _Update 폴더에 업데이트할 파일들을 넣어 둔다 FileList.ini 파일은 업데이트 할 파일의 정보를 기입한다 시작을 누르면 업데이트 서버를 시작한다 2) 파일 구조 (예시) [파일] Updater_Server.exe [파일] FileList.ini [폴더] _Update [폴더] Test [파일] Test2.txt [파일] Test1.txt 3) FileList.ini 설명 (예시) Common의 Count는 총 파일 개수를 입력 Files의 하위 값은 업데이트할 파일의 경로 및 버전을 기입한다 FILE_INFO의 경우 서버 시작 시 자동으로 파일의 정보가 입력된다 업데이트하려는 파일 용량이 크..

취미/Toy Project 2022.12.07

[C# WinForm] MD5 파일 Hash 값 추출

파일의 MD5 Hash 값을 추출하고 싶다면 using System; using System.IO; using System.Security.Cryptography; private bool MD5_Hash(string strPath, ref long lFileSize, ref byte[] szMD5_hash, ref int iMD5Size) { bool bRet = false; try { FileStream fs = File.OpenRead(strPath); try { byte[] szMD5 = MD5.Create().ComputeHash(fs); Array.Copy(szMD5, 0, szMD5_hash, 0, szMD5.Length); lFileSize = fs.Length; iMD5Size = szMD..

[C# WinForm] Property 사용 (get & set)

클래스 함수를 사용 중 지역 변수의 값을 수정 혹은 참조하고 싶다면 C# 프로퍼티의 get과 set을 사용하면 된다 사용 법의 경우 아래와 같다 private bool m_bFlag; private string m_strData; public bool IsFlag { get { return m_bFlag; } set { m_bFlag = value; } } public string GetData { get { return m_strData; } } public string SetData { set { m_strData = value; } } 위와 같이 IsFlag 와 같이 한 곳에서 선언하여 사용할 수도 있고 GetData 혹은 SetData 처럼 다르게 선언하여 사용 가능하다 내부에서만 변수를 수정하고..

[C# WinForm] Delegate, Event, Invoke, Cross Thread 사용법

Main Form 외 다른 Class 선언 후 해당 클래스에 추가 Thread로 동작을 하고 있을 시 Main Form의 컨트롤을 제어하고 싶다면 아래처럼 코드를 설계하면 Cross Thread 오류가 나지 않는다 Class 영역 public class MainModule { public delegate void _Delegate(string strMsg); public event _Delegate EventDelegate; private Thread m_h1; public MainModule() { } public bool ServerStart() { m_h1 = new Thread(new ThreadStart(Proc)); m_h1.Start(); } public void ServerStop() { ..

728x90