분류 전체보기277 CODESYS Simulator password 초기화 방법 CODESYS를 설치하면 아래와 같은 Simulator 폴더가 존재한다. C:\ProgramData\CODESYS\CODESYSControlWinV3x64 폴더안에 모든 파일을 삭제하면 password가 초기화 되어 다시 처음부터 입력하는 창이 표시된다. 폴더를 삭제하기 위해서는 Stop PLC를 메뉴를 눌러 시뮬레이터가 멈춘 한 후에 삭제가 가능하다. 삭제 후 실행을 하면 아래와 같이 새로 password를 입력하는 창을 확인할 수 있다. 2022. 12. 27. MFC jsoncpp 설치 jsoncpp 를 library 로 만들지 않고 source 와 header 파일을 프로젝트에 포함해서 사용 가능합니다. 1. jsoncpp download download link : https://github.com/open-source-parsers/jsoncpp 2. python를 설치하고, 다운받은 json 폴더의 amalgamate.py 파일 실행합니다. 생성된 dist 폴더를 확인합니다. 3. dist 폴더 이동해서 생성된 파일을 확인합니다. jsoncpp.cpp , json.h, json-forwards.h 파일을 프로젝트에 추가해서 함께 빌드합니다. 2022. 11. 28. C# 구조체 바이너리 파일 읽기 C#에서 구조체 파일을 읽어 처리하는 간단한 예제이다. 구조체 바이너리 파일은 C++ MFC로 제작이 되어 있었다. C++ 구조체는 아래와 같다. typedef struct { TCHAR Name[20]; TCHAR ID[20]; TCHAR Passwd[20]; uint Grade; } stUserInfo; 위와 같은 구조체로 만들어지 바이너리 파일을 C#에서 읽어 클래스 리스트에 넣도록 처리 예정이다. C#에서는 아래와 같은 구조체가 C++ 구조체와 같은 모습니다. [Serializable] [StructLayout(LayoutKind.Sequential)] public struct UserInfo { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)] pu.. 2022. 8. 10. CScrollView를 이용한 Image Viewer 예제 JPG, BMP, PNG 등의 이미지 파일을 열어 스크롤이 가능한 화면에서 확대/축소를 하는 예제이다. CScrollView 클래스를 이용하면 Scroll을 계산하지 않아도 된다. 예제는 TabCtrl에 Tab을 5개 만들고 각 탭별로 이미지를 넣고 확대/축소 기능과 함께 이미지를 보는 간단한 프로그램이다. 이미지는 CImage 클래스를 이용해서 읽는다. Viewer 클래스에서 OnDraw()함수에서 확대/축소를 위한 StretchBlt 처리를 한다. CScrollView 클래스를 이용할 경우 OnInitialUpdate()함수에서 SetScrollSizes() 함수를 이용해서 크기를 초기화해야 한다. 그렇지 않으면 Scroll 처리를 위한 Size를 알수가 없어 에러가 발생한다. void ImageVi.. 2022. 7. 27. CXTPPropertyPage OK 버튼 누르고 종료 여부 체크 방법 https://docs.microsoft.com/en-us/cpp/mfc/reference/cpropertypage-class?view=msvc-170 CPropertyPage Class Learn more about: CPropertyPage Class docs.microsoft.com MSDN을 참고하면 된다. 간단하게 설명하면 OK, Cancel 버튼을 누렀을 때 아래 함수가 각각 순서대로 호출이 된다. 먼저 OK버튼을 눌렀을 경우이다. int nCompare = 1; // The default MFC implementation of OnApply() would call OnOK(). BOOL CColorPage::OnApply() { if (nCompare == 2) return FALSE;//c.. 2022. 7. 15. Codejock RibbonBar 예제 및 CXTPControlEdit spin message 예제는 Codejock 설치 경로에 있는 Samples\Ribbon\RibbonControls 프로젝트를 참고 하면 된다. Codejock RibbonBar에 Edit 컨트롤을 올려 놓고 spin 버튼을 추가해서 사용을 해봤다. CXPTControlEdit을 사용하고 RibbonBar에 추가하는 방법은 아래와 같다. CXTPRibbonGroup* pGroupSearch = pTabEdit->AddGroup(ID_GROUP1); CXTPControlEdit* pControlEdit = DYNAMIC_DOWNCAST( CXTPControlEdit, pGroupSearch->Add(xtpControlEdit, ID_EDIT1)); if (pControlEdit) { pControlEdit->SetEditTex.. 2022. 7. 15. Telerik GridViewSpreadExport 이용 방법 Telerik 버전 2022.1.222.40를 사용하고 있다. RadGridView의 내용을 excel, csv 파일로 export 하는 기능을 제공한다고 예제에 있는데 참고 사이트와 같이 코드를 작성하면 참조를 추가하라는 dll이 없어서 당황을 했다. 추후 export 기능을 사용할 때 참고를 위해서 기록을 남긴다. https://docs.telerik.com/devtools/winforms/controls/gridview/exporting-data/export-to-csv Export to CSV - WinForms GridView Control | Telerik UI for WinForms Controls / GridView / Exporting Data This method offers excel.. 2022. 6. 27. Telerik RadGridView drag and drop 할 때 row index 확인 방법 Telerik 예제를 보고 GridView의 Drag and drop 테스트 프로그램을 개발하는 중에 drop을 할 때 row index 찾는 방법을 알 수가 없어서 고생을 했다. 검색을 해 보다가 찾은 방법을 기록으로 남긴다. 나중에 또 이용을 할 때 도움이 되길 바라면서 말이다. drop 함수의 코드이다. private void gridPoint_ProcessDragDrop(object sender, RadDropEventArgs e) { SnapshotDragItem draggedSnapshot = e.DragInstance as SnapshotDragItem; if (draggedSnapshot == null) { return; } GridDataRowElement rowElement = drag.. 2022. 6. 27. Telerik GridView Drag and Drop Example Telerik GridView를 사용해서 Drag and drop 기능을 사용할 때 아래 싸이트에 나오는 방식으로 잘 되지 않아서 git에 올라와 있는 예제 소스를 다운 받아 빌드를 해봤다. https://www.telerik.com/blogs/extending-radgridview-to-enable-row-drag-and-drop-functionality Extending RadGridView to Enable Row Drag and Drop Functional Learn how to extend the WinForms RadGridView control to give the users the ability to drag and drop full rows of data between grids. Dow.. 2022. 6. 3. 이전 1 2 3 4 5 6 7 ··· 31 다음