목록코딩 (12)
JY Tech
먼저 db에 다음과 같은 데이터가 있다고 가정해보자 Name Date Kg 홍길동 2024-01-12 77.3 홍길동 2024-01-15 77.5 String dateVal="2024-01-12" DataBaseHelper dbHelper = new DataBaseHelper(context); SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.rawQuery("SELECT Kg FROM weight WHERE Date=dateVal", null); 그리고 자바(안드로이드)에서 위와 같은 코드로 데이터를 가져온다고 가정하자 아마 오류가 생길 것이다. sql에 직접적으로 값을 전달하려고 해서 그렇다. 여러가지 방법이 있겠지만 ?를 ..

오늘은 조금 멍청한 실수...를 하는과정에서 알게 된 사실이다. 복약과 관련된 프로그램을 만들어보려고 의약품안전나라에서 제공하는 의약품 낱알식별 파일을 받았다 이런식으로 표가 구성 돼 있고 F열의 사진을 저장하고 B열의 이름을 적용하는 작업을 하는데 for index, row in df.iterrows(): link = row['F'] # F 열에 있는 링크 image_name = row['B'] # B 열에 있는 이미지 이름 이런식으로 코드를 짰다. 그랬더니 raise KeyError(key) from err KeyError: 'F' 이런 오류가 떴다. 해당 오류의 원인은 F열에 대한 키를 찾을 수 없어서 발생하는 것인데 한마디로 열 이름이 잘못됐다는 소리다. 아무리 생각해도 B열과 F열에 대한 값인데..
엑셀에 있는 링크를 타고 들어가 이미지를 다운받으려고 아래와 같은 코드를 작성했다 import os import pandas as pd import requests excel_file_path = '파일명.xlsx' df = pd.read_excel(excel_file_path) download_folder = '목록' os.makedirs(download_folder, exist_ok=True) 중략... print('다운로드 및 저장 완료') 그런데 Missing optional dependency 'xlrd'. Install xlrd 이런 오류가 떴다. 파이썬을 하다가 install~~가 나오면 대부분은 pip를 통해 설치하면 해결된다. pip사용법은 간단하다. 1. cmd에 들어가서 2. 'pip..

이번시간에 UI를 수정하고 (중요)윈폼으로 만든 프로그램을 exe 형태의 배포파일로 만드는 과정을 배우면서 해당 포스팅은 끝이다. 사실 UI라고 할것도 없는게 이미 프로그래밍을 하면서 UI도 구성을 완료해서 첫화면만 구성하면 된다. 필자의 경우 위와 같이 구성했다. (사용법의 경우 본 포스팅에서 다루지 않았는데 폼을 하나 띄우고 사용법에 대해 간단하게 적어놓으면 된다. 해당 부분은 딱히 프로그래밍을 하며 배울 점이 없기 때문에 따로 추가하지 않았다) 우측 하단에 ⓒ 2022. 본인이름 All rights reserved. 와 같이 저작권 표시를 해주는 것도 좋다. 또한 pictureBox로 gif를 넣어줬다 pictureBox는 사진과 gif등을 넣을 때 사용하는 도구이다. 파란색으로 칠해진 곳의 우측에..

이번 시간에는 dataGridView에 입력한 내용들을 엑셀로 저장하는 기능을 구현할 것이다. 윈폼에서 엑셀을 연동하기 위해서는 패키지를 설치해야 한다. 화면 우측의 [참조]를 우클릭하고 [NuGet 패키지 관리] 를 클릭한다 찾아보기 에서 excel을 검색하고 이걸 설치하면 된다. ProMode의 엑셀로저장 버튼을 클릭 해 이벤트를 만들어주고 다음과 같이 코드가 구성되도록 한다 private void button2_Click(object sender, EventArgs e) { ExportToExcel(); //클릭 이벤트에 있어야 하는 코드 } 이제 ExportToExcel()을 만들어준면 된다. private void ExportToExcel() { bool IsExport = false; // C..

이번에는 UserControl8을 추가 해 주관식 응답을 관리 해 보자 필자는 이런식으로 label과 textBox를 넣었다. 주관식 영역에서는 '엔터'키를 한 명의 응답으로 인식한다. 예시는 아래 사진과 같다. 애초에 해당 포스팅 자체가 필자가 실제로 만들었어서 사용중인 프로그램을 다시 하나하나 설명하는 것이기 때문에 이미 구상해 뒀던 UI를 그대로 구현중인데 다르게 하고 싶다면 예시와 달라도 상관없다 이제 엔터키를 누르면 줄바꿈과 동시에 '-'를 넣어주는 코드를 넣어보자 먼저 첫 문장에는 무조건 -가 들어가야하기 때문에 UserControl8_Load에 다음 코드를 넣어주자 textBox1.AppendText("- "); Append는 추가하라는 뜻이다. 윈폼 뿐만이 아니라 파이썬에서도 유사하게 응용..

윈폼으로 사용자 정의 컨트롤을 만들고 추가하고 폼에서 사용하려면 내가 만든 컨트롤을 헤당 폼에 드래그 앤 드롭을 해야하는 경우가 있다. 그리고 아마 이런식의 오류가 뜰 수도 있는데 디버그 하지 않고 시작을 눌러 한번 프로그램을 실행시킨 후 다시 드래그 앤 드롭 하면 정상작동된다. MiniProject 포스팅을 하면서 나도 헤맸었던 부분인데 까먹지 않기 위해 메모용으로 남겨놓는다.

이제 ▲, ▼, ◀, ▶ 버튼에 기능을 넣어주자. 이 부분은 기본 알고리즘은 동일하고 앞서 만들었던 다수의 사용자 정의 컨트롤에 기능을 넣어주는 것이기 때문에 코드의 길이만 길 뿐 어렵지도 않고 설명할 부분도 없다. 먼저 ▲에 기능을 넣어주자. 행의 개수를 줄이는 버튼이다 DialogResult dr = MessageBox.Show("행을 삭제할 경우 기존 입력 내용이 초기화 됩니다\n마지막 행을 삭제할까요?", "경고!", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { if (line > 2) { if (ans == "1") { flowLayoutPanel1.Controls.Remove(btn21[line - 1]); line -= 1; DataTa..