Programming/C# - Window 91

C#/ 리소스(Resource)파일을 이용한 다국어 처리

1. 리소스파일 만들기 - 일반적으로 Resources폴더 - 리소스.resx 파일 생성 - 기본 리소스파일은 기본 언어 구성 - 나머지 추가된 언어들은 .국가 코드를 넣어 만든다. ex) 기본 영어 구성 프로젝트(옵션: 한국어) - 리소스파일.resx - 리소스파일 .ko.resx 2. 리소스파일에 데이터 추가 데이터 이름 : 값 형태로 넣는다. ex) 3. 함수로 만들어서 사용하기 public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { this.ChangeCulture("en"); } private void button2_Click(object sender, EventArgs e)..

C#/ 윈도우 서비스 프로그램

# 기본 참조 https://harrymom.tistory.com/18 [C#]C#으로 Window Service(윈도우 서비스) 만들기 안녕하세요 C#으로 Window Service를 만들어 보겠습니다. 1. 윈도우 서비스란? 장 시간 실행되는 실행 애플리케이션으로 만들 수 있습니다. 컴퓨터가 부팅되면서 자동적으로 시작되고, 사용자 상호작 harrymom.tistory.com # 관리자 모드로 명령 프롬프트 실행 1. 서비스를 추가 및 실행 sc create [서비스명] binPath= [서비스 실행 파일 경로] sc start [서비스명] sc create MyWindowsService binPath= "D:\cys\Lab\csharp\WindowsService.exe" sc start MyWindo..

C#/ 전처리기 #

전처리기 # 를 사용하는 이유는 조건부 컴파일(Conditional Compilation)을 위한 것입니다. 이것은 특정한 조건이 충족될 때만 코드가 컴파일되도록 하는 기능입니다. 이 경우, "Debug"라는 심볼이 정의되어 있을 때만 해당 코드 블록이 컴파일되도록 지정하는 것입니다. 예시) #if Debug // 디버그 모드에서만 컴파일되는 코드 #endif 이렇게 하면 Release 모드에서는 해당 코드 블록이 컴파일되지 않습니다. 이는 디버깅과 관련된 코드나 특정 환경에서만 필요한 코드를 추가하고자 할 때 유용합니다. 예를 들어, 디버깅 정보를 로깅하거나 특정 조건에서만 실행되어야 하는 코드 등을 디버그 모드에서만 포함시키고자 할 때 사용될 수 있습니다. 반면에 if (Debug)는 일반적인 실행 ..

C#/ Mutex와 Base키워드에 관해

# Mutex "상호배제"를 나타내는 용어로서, 한 번에 한 스레드만이 특정 자원에 접근할 수 있도록 하는 동기화 메커니즘입니다. 즉, 여러 스레드가 공유 자원에 안전하게 접근할 수 있도록 하는 역할을 합니다. using System; using System.Threading; class Program { static Mutex mutex = new Mutex(); // Mutex 선언 static void Main() { for (int i = 0; i < 5; i++) { Thread t = new Thread(DoWork); t.Start(); } Console.ReadLine(); } static void DoWork() { mutex.WaitOne(); // Mutex 획득 // Critical..

C#/ Can 통신과 Lin 통신에 관해

CAN 통신과 LIN (Local Interconnect Network) 통신은 둘 다 자동차 및 기타 제어 시스템에서 주로 사용되는 네트워크 프로토콜입니다. 그러나 각각의 특징과 용도가 다릅니다. **CAN (Controller Area Network) 통신:** 1. **용도**: CAN은 자동차 및 다른 산업용 제어 시스템에서 피어 투 피어 통신에 사용됩니다. 주로 신뢰성이 높은 제어 및 모니터링에 적합합니다. 2. **특징**: - 높은 신뢰성과 안정성을 제공하며 통신 중단이 최소화됩니다. - 고속 데이터 전송을 지원하며, 여러 장치 간 동시 통신이 가능합니다. - 에러 탐지 및 복구 메커니즘이 내장되어 있습니다. 3. **라이브러리**: CAN 통신을 위해 다양한 라이브러리 및 API가 제공됩니..

C#/ DLL 파일 관련

# DLL "Dynamic Link Library"의 약어로, 동적 링크 라이브러리를 나타냅니다. DLL 파일은 프로그램에서 사용되는 코드 및 데이터를 포함하고, 이러한 정보를 실행 중에 프로그램에 연결하는 역할을 합니다. 아래는 DLL 파일에 대한 설명입니다: 1. 동적 라이브러리: - DLL 파일은 코드와 데이터의 모음으로, 프로그램이 실행될 때 필요한 기능을 제공하는 라이브러리 형태입니다. - 정적 라이브러리와 대조적으로, DLL은 실행 파일과 분리된 형태로 존재하며, 프로그램이 실행될 때 동적으로 로드됩니다. 2. 코드와 함수: - DLL 파일에는 함수와 코드가 포함되어 있으며, 이러한 함수는 프로그램에서 호출할 수 있습니다. - 다른 프로그램이나 어플리케이션에서 코드의 재사용을 촉진하며, 코드 ..

C#/ '@' 기호 사용

1. SQL 쿼리 매개변수에서 사용됩니다. - 예를 들어 `qry` 문자열에 `"@Name"`, `"@Price"`, `"@cat"`, `"@img"`와 같은 `@` 기호가 사용됩니다. 이러한 `@` 기호는 SQL 매개변수를 나타내며, 실제 SQL 쿼리 실행 시 이러한 매개변수에 값이 바인딩됩니다. - 이 경우 `@` 기호는 C#에서 SQL 매개변수를 나타내는 것이며, 이 매개변수를 사용하여 SQL 인젝션을 방지할 수 있습니다. 2. C# 문자열 리터럴(verbatim string literal)에서 사용됩니다. - C#에서 문자열 리터럴을 나타내기 위해 `@` 기호를 사용할 수 있습니다. 이렇게 하면 문자열 내의 이스케이프 문자를 처리하지 않고 그대로 문자열로 유지됩니다. - 예를 들어 `string ..

C#/ MSSQL에 DB(.sql) 설치 프로그래밍

# MS-SQL server 접근하기 //MS-SQL server Edition class DataAccess { // Use for EmployeeMgt.exe.config file .\SQLEXPRESS static string _ConnectionString = 프로젝트명.Properties.Settings.Default.설정값; // static string _ConnectionString = "Data Source=(local);Initial Catalog=프로젝트명; User ID=sa;Password=sapass123!"; //"Data Source= (local)/ DB IP address or .\\SQLEXPRESS ; //Initial Catalog= Database Name; //U..