일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Winform
- Excel Cell Format
- 공공 데이터 포털
- C# MDB
- sqlite3
- C# 파일 암/복호화
- GDI+
- c#
- eventhandler
- 경기도 버스정보시스템
- eventargs
- DrawRectangle
- delegate
- DrawEllipse
- MDB Select
- MDB Connect
- 버스 API
- Json.NET
- 시
- MVC
- Cell Border Style
- 경기도 버스
- NUnit
- TDD
- C# MDB Handle
- 디자인 패턴
- 객체지향
- JSON
- solid
- WPF
- Today
- Total
목록IT Engineering/C#.net (34)
White Whale Studio
지난번 Nunit 포스팅에서는 VS2010에서의 Nunit 설정에 대해서 살펴보았습니다. 이번 포스팅에서는 소스를 보면서 해보도록 하겠습니다. 우선 테스트 프로젝트를 생성하실때는 클래스 라이브러리로 생성해줍니다. nunit.framework.dll 을 참조해주시구요. 다음으로 코딩을 해보겠습니다. 준비물은 1. 테스트할 클래스 (대상 클래스)2. 테스트 케이스 클래스 (테스트 결과를 확인할 수 있는 클래스) 가 되겠습니다. 우선 테스트할 소스를 볼까요. 123456789101112 public class Calculator { public int Add(int a, int b) { return a + b; } public int Sub(int a, int b) { return a - b; } }Color..
c#에서는 Garbage Collector가 활동을 하기 때문에 기존의 c, c++보다 메모리 관리가 용이해졌다고합니다. 하지만, 지금까지 경험부족, 실력부족으로 메모리 관리에 대한 필요성을 느껴왔었는데요. c#에서도 메모리 누수가 충분히 일어날수 있다는 사실을 알고 있기 때문에 가능한 한 이러한 메모리 누수를 줄이기 위한방법을 해당 포스팅에 정리해보고자 합니다. ------------------------------------------------------ string 작업시에는 "+" 연산자보다는 System.Text.StringBuilder를 사용하자. 개인적으로는 계속 사용하던 연산자라 그런지 + 연산자를 사용하게 되면 매우 쉽습니다. 코딩하기도 편합니다.그러나 + 연산자를 사용할때마다 새로운 ..
저도 참조한 거라.. http://www.codeproject.com/Tips/392308/Csharp-Portable-Exe-File
http://www.newtonsoft.com/json DLL 다운로드 하는 곳은 지난 번 포스팅에서 올려드린 경로와 같습니다. 아래는 Document의 경로입니다. http://www.newtonsoft.com/json/help/html/SerializeObject.htm 워낙 Document가 잘되어 있어서 굳이 제가 할 필요가 있을까? 싶을 정도입니다. 용어만 잠깐 설명드리면 객체나 내용을 JSON으로 바꾸는 작업을 serialize 반대로 JSON 문서에서 내용을 가져오는 작업을Deserialize라고 합니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657..
드디어 Json을 사용할 때가 왔습니다.이런 저런 핑계로 미루다가 이번 기회에 json에 대해서 살펴보게 되었습니다만,기존에 나와있던 newtonsoft의 프레임워크가 엄청 잘되어있네요.링크는 아래를 참조하시기 바랍니다. http://www.newtonsoft.com/json 우선 json에 대해서 간단하게 살펴보면xml과 함께 데이터 송수신에서 자주 사용되는 데이터 포멧입니다.그냥 언뜻볼때는 이게 뭐야 싶었는데 찬찬히 뜯어보니 XML처럼 태그가 없어서쓸데없이 반복되는 내용도 없고 뭔가 심플합니다. 심지어 json 공식 홈페이지에서는 한글도 제공을 해주는군요. http://www.json.org/json-ko.html 기본적인 자료형은 number, string, boolean, array, object..
이번 포스팅에서는 이어서 도형 그리기 프로그램을 마무리해보겠습니다. 전체소스를 첨부하오니 참고하시기 바랍니다.\ 우선 설명을 해드리면 사각형, 원형 버튼은 하는 일이라곤 도형 타입을 설정해주기만 합니다. 실제적으로 그려줄때(마우스로 클릭해서 드래그 할때) 비로소 도형이 설정값에 맞춰 그려지게 됩니다. 12345678910111213141516171819202122232425262728 int type = 0; private void panel1_Paint(object sender, PaintEventArgs e) { if (type == 0) { e.Graphics.DrawRectangle(pen, rect); } else { e.Graphics.DrawEllipse(pen, rect); } } priv..
도형 그리는 방법을 알아보았으니 이제 마우스로 클릭해서 드래그하면 그릴 수 있는 프로그램을 만들어보겠습니다. 화면은 앞의 포스팅에서와 같고 panel의 속성 창에서 마우스 이벤트를 추가해 줍니다. 1234567891011121314 private void panel1_MouseDown(object sender, MouseEventArgs e) { } private void panel1_MouseMove(object sender, MouseEventArgs e) { } private void panel1_MouseUp(object sender, MouseEventArgs e) { }Colored by Color Scriptercs 간략하게 설명을 해보면 Mouse Down : 시작 좌표를 설정하게 됩니다...
이번 포스팅에서는 도형을 그려보겠습니다. 우선 그림을 그리려면 OnPaint 이벤트를 추가해야합니다.폼에 추가를 해도 되긴 합니다만, 저는 추후에 다른 컨트롤 사용성을 위해서 Panel을 삽입해서 Panel에 OnPaint 이벤트를 추가하고그리기로 했습니다. 우선 뭐라도 그려 보겠습니다.빈 사각형, 파란 사각형, 빈 원, 파란 원을 그려보겠습니다. 12345678910 Pen pen = new Pen(Color.Black); private void panel1_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawRectangle(pen, new Rectangle(0, 0, 100, 100)); e.Graphics.FillRectangle(new SolidB..
업종에 따라서 GDI를 사용할일이 있는데, 저도 그런 날이 오고야 말았습니다.아직 시작은 하지 않았지만, 어느정도 정리하는 차원에서 GDI+ (Graphic Design Interface)를 탐구해보겠습니다. https://msdn.microsoft.com/ko-kr/library/aa984364(v=vs.71).aspx 기본적으로는 MSDN을 참고하시기 바랍니다. 일단 우선적으로 저는 Winform을 기반으로 작업을 합니다. Form 혹은 컨트롤 중에서 Panel의 이벤트 속성에 보면 Paint라는 속성이 있는데, 이 부분에서 추가되는 선, 도형, 이미지 등을 그려주게 됩니다. 따라서, private void panelControl1_Paint(object sender, PaintEventArgs e)..
이전에 포스팅한 Delegate에 이어 Event에 대해서 살펴보겠습니다. Event와 함께 밀접한 관계에 있는 EventHandler 또한 함께 다루어보겠습니다. 문법적인 Event의 사용법에 들어가기에 앞서 이벤트를 살펴보면이벤트는 동작의 발생을 알리기위해 개체에서 보내는 메시지입니다. 예를 들면, 마우스 클릭, 키보드 입력등의 사용자 입력으로 인해발생하여 다른 프로그램논리에 의해 트리거 될수 있는 거죠. 이벤트를 발생시키는 개체는 이벤트 전송자, 이벤트를 캡쳐하고 응답하는 개체를 이벤트 수신자라고 합니다. 이벤트 통신에서 이벤트 전송자 클래스와 수신자 사이에 어떤 대상이 되는지를 서로 확인하기 위해 C의 포인터 같은 매커니즘이 필요한데이것이 바로 delegate 입니다. delegate에서 설정하는..