컴퓨터 59

[C#] C#에서 C++ DLL 사용하기

- C# Wrapper 만들때 native c 로 구현하는 것이 귀찮아서 아래 방법을 사용함. 구조체 사용에 제약이 있음.. - '이 방법'을 뭐라고 부르는지 아직 모르겠음,.. - 관련어 : Pinvoke, InteropServices - 마샬링 : 한 객체의 메모리에서의 표현방식을 저장 또는 전송에 적합한 다른 데이터 형식으로 변환하는 과정, 참고 - P/Invoke : .NET Framework는 DLL 안에 패키지된 관리되지 않는 함수를 관리되는 응용 프로그램에서 호출할 수 있도록 Dllimport 특성과 함께 명시적 플랫폼 호출(PInvoke) 기능을 제공합니다. 예를 들어 Win32 함수를 호출하려면 PInvoke가 필요합니다. 자세한 내용은 C++ Interop 사용(암시적 PInvoke)을..

컴퓨터/C# 2015.06.15

[DX] DevExpress.XtraGrid.Views.BandedGrid 사용하기

1. 폼의 디자이너에서 도구 상자>DX.13.1: Data & Analytics 그룹의 GridControl 컨트롤을 폼에 추가한다. 2. 추가한 컨트롤의 Run Designer 버튼 클릭 3. Main>Views 페이지에서는 View의 속성을 변경할 수 있다. 중앙에는 이 GridControl에 속해있는 GridView 목록을 보여준다. 해당하는 GridView의 (Click here to change view) 글자를 클릭하면 컨텍스트 메뉴가 도시되는데, 이 메뉴에서 Convert To > BandedGridView 를 선택하면 컨트롤이 변경된다. 4. Main>Columns 페이지로 들어가면 Column을 추가할 수 있다.GridView에 추가할 Column을 생성한다. 아래에 변경 할만한 속성들을..

컴퓨터/DX C# 2015.04.15

[DevExpress] C# 리본 UI 스킨 적용 할 때, Form Boundary Areo 없애기

- 참조에 DevExpress.BonusSkins.v13.1.dll 추가 후, - 폼 띄우기 전에 10, 11 Line 입력1234567891011121314151617static class Program{ /// /// The main entry point for the application. /// [STAThread] static void Main() { // DevExpress Skin 설정 DevExpress.UserSkins.BonusSkins.Register(); DevExpress.Skins.SkinManager.EnableFormSkins(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(f..

컴퓨터/DX C# 2015.04.02

[C#] string to DateTime

(Try)ParseExact의 두번째 인자인 format을 잘못 넣어서 에러string 인자에 들어올 예상되는 형식을 넣어줘야한다.변환되기 원하는 포맷을 넣는게 아님. 123456789101112131415// 입력 날짜 : Shape 데이터에서 가져오는 건데 포맷이 "yyyy/MM/dd" 형태로 되어있음.DateTime inputDate = feature.GetFieldAsString("RegDate");// 저장 날짜DateTime outDate = new DateTime(); string sDate = ""; #if Test // 1. 그냥 변환 outDate = Convert.ToDateTime();#else // 2. 예외 발생 처리 outDate = DateTime.ParseExact(inpu..

컴퓨터/C# 2015.02.26

[C++] 빌드 이벤트 - 빌드 후 이벤트로 파일 복사하기

- 프로젝트 속성 > 구성 속성 > 빌드 이벤트 > 빌드 후 이벤트 이때 구성과 플랫폼을 '모든 구성', '모든 플랫폼'으로 세팅해놓고 나서 다음을 진행하면 편하다. 명령줄 copy /Y "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)bin\$(IntDir)$(ProjectName).dll" 명령어 옵션/Y 동일한 파일이 있어도 물어보지 않고 무조건 복사 자주 쓰이는 매크로 설명 (MSDN 에서 더보기..) $(TargetDir) 실행폴더, DLL이 생성되는 경로 예 ) C:\...\Debug\ $(ProjectName) 프로젝트 이름 $(IntDir) 해당 빌드 환경 폴더 예) x64\Release\, Bin\ 등 $(PlatformName) 예) x64, Win..

컴퓨터/C++ 2014.11.06

[C#] Array 배열 다루기 (생성, 복사, 부분 복사)

Colored By Color Scripter™123456789101112131415//// 그래프에서 불필요한 8개의 데이터 제외하고 복사 int nCopy = objinfo.Length - 8;// 전체 복사 (복제)// Object를 반환하기 때문에 강제 캐스팅 해줘야함.float[] _cpyArray = (float[])objinfo.Clone(); float[] _dstArray = new float[nCopy]; // 복사하려는 배열의 크기가 일치해야한다.// http://msdn.microsoft.com/ko-kr/library/z50k9bft(v=vs.110).aspx // 해당 링크의 '예외' 참조// _cpyArray[8]부터 _dstArray[0]에 nCopy개 만큼 복사Array.C..

컴퓨터/C# 2014.11.05

[C#] ZedGraph 사용자 ContextMenu 항목 추가하기

ZedGrph 디자이너에서 번개모양을 클릭하여 ContextMenuBuilder 이벤트를 자동으로 추가한다.디자이너를 사용하지 않을경우 다음 코드를 추가한다. zedGraphControl1.ContextMenuBuilder += new ZedGraphControl.ContextMenuBuilderEventHandler( MyContextMenuBuilder ); 불필요한 항목을 삭제하거나 수정할 때 private void MyContextMenuBuilder( ZedGraphControl control, ContextMenuStrip menuStrip, Point mousePt,ZedGraphControl.ContextMenuObjectState objState) { foreach( ToolStripMe..

컴퓨터/C# 2014.11.03