본문 바로가기

[Proramming]/C#

(10)
C# 문자열 중에서 토큰으로 분리된 숫자 구하기 C# 문자열 중에서 토큰으로 분리된 숫자 구하기 UART로 전송되는 여러 숫자로 이루어진 문자열 데이터를 숫자로 분리 하여 표시 하기위해 함수로 만들어 보았다. ScanValue 함수 private void ScanValue(string tokenString, int[]Result) { string[] split = tokenString.Split(new Char[] { ' ' }); int i, cnt = split.Length; bool result = true; for(i=0;i
C#에서 ActiveX 등록 및 사용하기 C#에서 ActiveX 등록 및 사용하기 C#에서 ActiveX 등록하기 기존 VC++이나 VB에서와는 다르게 .NET 환경에서는 ActiveX 등록하는 방법이 조금 다르다. (익숙하지 않아 기록 해 둘 필요가 있다.) 도구상자에서 오른쪽 마우스 클릭하여 메뉴에서 [항목 선택] [COM 구성요소] 탭에서 등록하고 싶은 ActiveX 를 등록해 주면 된다. 아래는 간단히 내가 만들어 사용하고 있는 Oscilloscope ActiveX Dll 을 등록하여 테스트 한 결과 이다.
Serial LCD 제어 - C#을 이용한 LCD제어 Serial LCD 제어 - C#을 이용한 LCD제어 Serial LCD 모듈을 이용하면 시간, 온도등 PC상의 기타 정보를 쉽게 표시할 수 있다. 특히 인터넷을 이용하면 오늘의 날씨, 뉴스 등도 쉽게 정보를 얻어올 수 있다. 일단 간단이 PC에서 입력한 정보가 LCD에 출력되는 프로그램을 작성해 보았다. C#을 이용하여 Serial LCD 모듈을 제어 하는 프로그램 작성 USB2UART를 이용하여 Serial Prot로 데이터를 출력하도록 했다. 특히 C#을 이용하면 화면 출력에 관련된 여러가지 기능들을 쉽게 처리할 수 있어 상당히 편리하다. 간단히 몇줄의 코드를 이용하여 작성가능하다. private void button1_Click(object sender, EventArgs e) { label1.T..
C# 을이용한 하드웨어 제어 - USB FIFO FT245 제어 C# 을이용한 하드웨어 제어 - USB FIFO FT245 제어 C#을 이용하면 윈도우 인터페이스는 쉽게 제작할 수 있다. FTDI사의 USB FIFO FT245제어를 C#으로 해 봤는데 생각보다 쉽고 간단하게 작성할 수 있다. FT2232, FT232도 동일하게 사용가능하다. FT245 C# Programming Source Code //------------------------------------------------------------------------------ //FT245 DLL 등록 [DllImport("kernel32.dll")] extern static short QueryPerformanceCounter(ref long x); [DllImport("kernel32.dll")] ..
C# 에서 Sleep() 함수 사용 C# 에서 Sleep() 함수 사용 VC++ MFC에서 사용했던 Sleep() 함수는 System.Threading.Thread.Sleep() 로 대체할 수 있다. VC++.Net 에서는 조금 다른형식이지만 아래와 같이 사용하면 된다. System::Threading::Thread::Sleep();
C# 리소스 이미지를 이용하여 컨트롤의 이미지 변경하기 C#을 이용하면(물론 VisualStudio .net 기능이지만..) 화면 처리에 있어 상당히 자유롭다. Visual C++ 6.0 을이용하여 버튼 이미지를 바꾸려면 상당히 복잡하고 까다롭다. 하지만 .net 기능을 이용하면 상당히 편리한데 그냥 직관적으로 처리하면 된다. 프로그래머는 알고리즘만 신경쓰면 되지 않을까... 프로퍼티에서 사용하기 위한 이미지를 등록할 수 있다. 코드에서는 등록한 이미지를 아래와 같이 사용할 수 있다. //연결되면 Icon Image변경 button1.Image = global::WindowsFormsApplication1.Properties.Resources.connect; 아래는 FT245로 LED On/Off 할때 버튼의 이미지를 바꾸는 예제 이다. 정말 간단하게 처리 ..
C# 에서 포인터 처리 - unsafe 키워드 사용 C#에서 포인터 처리 - unsafe 키워드 사용 일반적으로 C#에서는 CLR이라는 놈이 메모리를 관리 해주기 때문에 포인터 처리 차체를 기본적으로 처리 하지 않는다. 따라서 C의 * , & 를 이용한 코드를 포팅하려면 에러가 발생한다. 특히 DLL을 사용하려면 포인터 처리하는 부분이 많은데 이때 난감하다. 하지만 C#에서 포인터 처리 할 수 있는 방법이 없지는 않다. unsafe 라는 키워드를 사용하면 C의 포인터를 처리 할수 있다. USB FIFO칩인 FT245 제어를 위한 DLL을 제공하는데 대부분 포인터를 처리해야 한다. 예로 FT245에 데이터를 쓰는 함수인 FT_Write를 사용할 경우 쓰여진 데이터 수를 받아오는 인자가 있는데 이때 포인터를 써서 받아 온다. 하지만 그냥 컴파일 해 보면 "고..
데이터를 지정된 형태의 포멧으로 Text Box에 출력하기 데이터를 지정된 형태의 포멧으로 Text Box에 출력하기 .Net으로 가면서 많이 바뀌었군... VC++, VB 동일하게 사용할 수 있다. System::String^ str; System::String^ strData; for(int i=0;i0)&&(i%10 == 0))strData += "\r\n"; strData += str->Format("{0,2:X} ", Buffer[i]); } textBox1->Text = strData; 합성 형식 지정 업데이트: 2007년 11월 .NET Framework의 합성 형식 지정 기능에는 개체 목록과 합성 형식 문자열이 입력으로 사용됩니다. 합성 형식 문자열은 고정 텍스트와 목록의 개체에 해당하는 인덱싱된 자리 표시자(형식 항목이라고 함)가 결합된 형태로 ..