본문 바로가기
반응형

전체 글1095

Visual Studio 2022 확장팩, Viasfora 무지개 괄호 VS Code에서도 사용하는 무지개 괄호 기능을 VS2022에서도 사용해봅니다. 확장 - 확장 관리 메뉴를 선택하고 검색을 하거나 도구 - 코딩에있는 Viasfora 팩을 선택하고 다운로드 버튼을 누릅니다. 또는 아래 페이지에서 내려받을 수 있습니다. Viasfora - Visual Studio Marketplace Viasfora - Visual Studio Marketplace Extension for Visual Studio - Add color to your Visual Studio Text Editor! marketplace.visualstudio.com VS를 재시작하면 설치가 진행됩니다. 2023. 5. 18.
Visual Studio의 리팩터링 방법이 바뀌다 (2023년) VS2022 16.x 버전대에서 F2 키를 눌러서 rename 기능을 사용할 때 심각한 문제점이 하나 있었다. (VS2019도 마찬가지였으며 2019년부터 증상이 보고 되었음) 바로, 한글 입력이 정상적으로 지원되지 않는 것. 정확히는 깨져버리는 현상인데, 예를들면, 어떤 개체 이름에 커서를 두고 F2 키를 눌러서 rename 창에서 바꿀 대상에 '한글'을 입력하면 ㅎ하한ㄱ그글 이렇게 초성, 중성, 종성이 나눠져서 입력돼버리는 증상이 나타난 것이었다. 처음 증상이 나타났을 때에는 고쳐지겠거니 하고 불편한 대로 사용했지만, 기능 버전업이 계속되면서도 한글 문제는 고쳐지지 않았다. 비슷한 문제로 보고된 기록을 보면 사람이 답변한 것은 찾아볼 수 없었고, 봇이 자동 응답한 것뿐이었다. 결국, 나도 마이크로소프.. 2023. 5. 5.
C#, ForEach 확장 메서드 사용하기 e(item) => { e.Width = lookUpEdit.Height / 2; } 어떤 Object가 가지고 있는 Collection의 배열 값을 한 줄로 수정하기 위와 같은 DevExpress ~Edit에 ButtonEdit를 사용했을 때, 버튼의 폭을 변경하려면 Width 값을 버튼마다 적용해야 한다. 1. foreach 반복문은 직접 수정이 안 되므로, 새 개체의 인스턴스를 만들고 새로운 값으로 할당하고 원래 개체에 대입하고 여러 줄을 사용하므로 지저분하다. 2. Select 등의 LINQ도 값을 변경 후 다시 대입해야 한다. 3. ConvertAll은 ToList로 변환해야 한다. 간편하게 한 줄로 처리하고 싶다. 일단 아래처럼 확장 메서드를 만들고 아무 파일 이름으로 저장한다. namespa.. 2023. 5. 4.
🛒 4채널 433MHz 무선 송수신기 모듈 테스트 알리익스프레스 주문 품목 리모컨(+수신기 4개) + 송신기 5개 가격: $9.50 + $4.76 - 할인 = 총 $15.42 (₩20,783), 배송: 9일만에 도착. 리모컨(+릴레이 수신기), 릴레이 수신기 가격: $8.77 + $4.90 - 할인 = 총 $13.26 (₩17,991), 배송: 7일만에 도착. 1채널 리모컨 4개 가격: $10.83 (₩14,605), 배송 16일만에 도착. 🤬 기준 환율: 약 1331~1340 상품 페이지: https://s.click.aliexpress.com/e/_DcunGjn 3.0US $ 50% OFF|Qiachip 433mhz Universal Wireless Remote Control 2 - 433mhz Universal Wireless - Aliexpres.. 2023. 5. 4.
SQLite Primary Key 컬럼의 정수형 값을 사용시 오류 발생 SQLite3의 rowID는 Int64, Long 형식을 사용한다. DevExpress의 LookUpEdit 데이터 바인딩을 SQLite DataTable로 연결했을 때, lookUpEdit.EditValue에 정수값을 대입하면 Null이 유지되거나, ThrowExceptionOnInvalidLookUpEditValueType 옵션이 True일 때 형식이 다르다는 예외가 발생한다. 해결하려면, 대입하려는 값을 Int64(또는 long) 형식으로 바꾸면 된다. lookUpEdit.EditValue = 1; // 오류 lookUpEdit.EditValue = (long)1; // 정상 lookUpEdit.EditValue = ConvertToInt64(1); // 정상 2023. 5. 3.
C# DevExpress, ComboBoxEdit Item에 배경색 지정하기 C# 가계부에서 거래별로 색상을 지정하는 기능은 거래를 등록할 때 설정할 수 있다. 버튼으로 색상을 선택하는 방법도 있지만, 8가지만 사용하게 되어있으므로 콤보박스를 사용해본다. void Form_Load(object sender, EventArgs e) { comboBoxEdit1.Properties.Items.Clear(); comboBoxEdit1.Properties.Items.AddRange(new string[] { " ", " ", " ", " ", " ", " ", " ", " " }); } private void comboBoxEdit1_DrawItem(object sender, ListBoxDrawItemEventArgs e) { Color userColor = e.Index switch.. 2023. 5. 1.
C# DevExpress Grid 행 색상 지정 MMEX의 거래 테이블에서 색상 지정된 레코드는 행의 배경을 색으로 보여준다. 이렇게 보여주는 것을 C# DevExpress Grid에서 따라해보자. GridView 에서 RowStyle 이벤트를 사용한다. private void gridView1_RowStyle(object sender, RowStyleEventArgs e) { GridView view = sender as GridView; if(e.RowHandle >= 0) { int followUpID = view.GetRowCellDisplayText(e.RowHandle, view.Columns["FOLLOWUPID"]).ToInt(); Color userColor = followUpID switch { 1 => Color.FromArgb(2.. 2023. 5. 1.
SQLite Triggers 사용하기 거래 시점 날짜가 기록되는 TRANSDATE 필드가 문자열이다. 🤬 날짜 형식은 yyyy-MM-dd인데 시간도 기록하고 싶어서 트리거 기능을 사용하였다. 그 옆의 필드도 datetime 형식이 아니라 문자열이다. 내용은 datetime 양식이지만... 일일이 코딩하는게 귀찮아서 DB한테 떠넘길 때 사용한다. 명령어를 모르면 SQLite 편집기를 사용한다. (DB 편집기에서 레코드를 등록해도 트리거가 동작한다) SQLite Maestro에서 트리거 생성 테이블 또는 Triggers 메뉴에서 Create New Trigger...를 선택한다. 기준 테이블을 선택하고, 이름을 입력한다. 레코드를 삽입할 때는 어차피 트리거를 실행해줘야 하니 조건은 없어도 되고, 레코드를 수정할 때는 수정할 때마다 트리거를 당겨.. 2023. 5. 1.
가계부 개발 MMEX DB용으로 분기 초기 DB 구조, 오피스 연동 때문에 AccessDB를 사용하다가 쓸만한 금융 관리 소프트웨어인 MMEX(Money Manager EX)를 접하고 DB를 연동하기로 하였다. MMEX 1.6.3 버전에는 없고, 필요한 기능이 내가 개발중인 C# 가계부에 있었기 때문에 DB를 새로 연결했다. (원래는 여러 DB를 연결할 수 있도록 개발 중이었지만 보류) 미리보기 MMEX에는 8가지 색상 지정 컬럼이 있어서 적용해보았다. 행을 색으로 표시하는 기능. 색상 지정은 일정 관리에서 사용하는 기능이다. MMEX에는 없고 C# 가계부에 있는 기능 중 하나가 자주쓰는 거래 선택 기능이다. (이지데이, 온블러 등 한국 가계부에서 자주 쓰는 기능) 내용 입력 항목 때문에 사용하는 것인데, 미리 양식을 지정해놓고 목록에서 선.. 2023. 5. 1.
반응형