일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 델파이
- HTML
- GIT
- declare
- github
- Django
- delphi 10.3
- python3
- advColumnGrid
- COMMIT
- Visual Studio
- get_object_or_404
- 백준
- Push
- pyhcarm
- 중복제거
- blog
- queryset
- anaconda3
- pythonanywhere
- Delphi
- PyCharm
- rank
- c#
- templates
- python 3.7
- TMS
- hackerrank
- MSSQL
- dbadvgrid
- Today
- Total
목록분류 전체보기 (60)
DevHyun
// Row clear dataGridView1.Rows.Clear(); // 컬럼 갯수 지정 this.dataGridView1.ColumnCount = 4; // 컬럼 너비 지정 this.dataGridView1.Columns[0].Width = 20; // 이미지 컬럼 추가 DataGridViewImageColumn iconColumn = new DataGridViewImageColumn(); dataGridView1.Columns.Insert(3, iconColumn); // 리소스 파일의 test_img 참조 Image tempImg = Properties.Resources.test_img; // 지정한 컬럼 갯수 만큼 해당 Row에 add dataGridView1.Rows.Add(value, v..
// dictionary 선언 // CurrentCultureIgnoreCase : 대소문자 구분무시 static Dictionary TestDic= new Dictionary(StringComparer.CurrentCultureIgnoreCase); // dictionary에 직접 key, value 값 추가 TestDic.Add(Key, Value); private void form1_MouseDown(object sender, MouseEventArgs e) { // 기존에 하드코딩했던 dictionary 복제용 변수 var dicOrg = new Dictionary(StringComparer.CurrentCultureIgnoreCase); // 기존 dictionary에서 내부 검색 dicOrg ..
public partial class Form1: Form { public Form1 ( ) { } // form2에서 참조하기 위한 public 메소드 생성 public void testMethod(){ } } public partial class Form2: Form { public Form2 ( Form1, form1 ) { // form1 메소드 참조용 변수 f1 선언 var f1 = Application.OpenForms.OfType().Single(); f1. testMethod(); } }
private Point point = new Point(); // mousedown 이벤트 private void panel2_MouseDown(object sender, MouseEventArgs e) { // 클릭후 드래그로 폼 이동시 사용 point = new Point(e.X, e.Y); } // mousemove 이벤트 // mouseup 이벤트에서 사용시 버벅거림 현상이 생김 private void panel2_MouseMove(object sender, MouseEventArgs e) { // 클릭후 드래그로 폼 이동시 사용 if ((e.Button & MouseButtons.Left) == MouseButtons.Left) { this.Location = new Point(this.Lef..
// filePath 변수생성 및 초기값 지정 const string filePath = @"C:\"; // filePath에 만들고자 하는 파일이 없을때 if (File.Exists(filePath) == false) { try { // 디렉토리 부터 생성 DirectoryInfo di = new DirectoryInfo(DirPath); if (di.Exists == false) { try { di.Create(); } catch { MessageBox.Show("디렉토리 생성 실패"); } } } catch { //MessageBox.Show(""); }
1. dll 활용 // dll 선언 [DllImport("kernel32.dll")] private static extern uint GetPrivateProfileString(string section, string key, string defaultValue, StringBuilder returnedString, uint size, string filePath); [DllImport("kernel32.dll")] private static extern bool WritePrivateProfileString(string section, string key, string value, string filePath); // 사용 // ini파일 구성 // [section] // key : value stri..
1. kill private static void killps(string processName) { // 프로세스 kill 메소드 Process[] process = Process.GetProcessesByName(processName); Process currentProcess = Process.GetCurrentProcess(); foreach (Process p in process) { if (p.Id != currentProcess.Id) p.Kill(); } } processName은 보통 fom 이름일 경우가 많기 때문에 사용은 아래와 같이 하면 됨. killps(this.Text); 2. sendmessage // dll 참조 선언 [DllImportAttribute("User32.dll"..
[Delphi에서의 thread] 1) thread의 begin ~ end 블록 사이에서 UI를 조작(변경, 수정, 삭제등)할때는 Syncronize를 이용한다. 2) 다른 thread와 동시에 같은 자원(변수, 클래스등)을 공유(동시에 읽거나 쓰는 행위, 포인터를 참조하는 행위)하지 않는다. 3) thread와 유사한 형식인 델파이 기본 타이머의 경우 윈도우 이벤트 방식으로 구현되므로 정확도가 떨어지고(윈도우컨디션에 따라 100~500ms 이하 작동 불규칙) 메인UI(메인쓰레드)가 멈추지 않고 작업 불가능 하다 [Suspend와 Resume] -> Thread를 잠시 멈추고 다시 시작함 -> TThread는 Thread 강제종료 기능을 제공하고 있지 않음 -> Suspend가 호출되는 순간 Thread..
원래 일자별 재고는 쿼리로 입/출고량을 출력하고 프로그램에서 반복문을 통해 구해주는 형식이었는데 이번 기회에 쿼리로 다 조회해 버리자! 라는 생각을 하게됨. '수불현황' 테이블 DATE,IN_QTY,OUT_QTY * 2021-09-01~2021-09-02 '1234' 약품에 대한 일자별 재고 현황 출력 예시 일자 입고 출고 재고량 2021-09-01 5 0 10(이월 재고 5) 2021-09-02 3 2 11 *'1234' 약품의 2021-09-01 이전까지 재고는 5개여서 2021-09-01에 입고 5개 까지 해서 총 재고량은 10개. -- @STOCK 변수 선언 DECLARE @STOCK int -- '1234' 약품의 이월 재고를 SELECT 하면서 @STOCK 변수에 입력 SELECT TOP 1 ..
Microsoft SQL Server Native Client 11.0 error '80040e31' Query timeout expired /functions.asp, line 476 번역하면 쿼리 제한시간을 초과하였습니다.라는 오류 ASP 페이지를 수정 할까 했으나로컬에서 쿼리를 조회 했을때 쿼리 조회 시간이 왔다 갔다 하는 것이 확인됨. 단순 SELECT 쿼리였고 조건이 길지 않았음에도 불구하고0초였다가 18초였다가 10초였다가 왔다갔다 하는 것을 확인. 처음에는 DB 서버가 문제거나 WEB 서버가 문제일 것이라고 생각했다.왜냐하면 ASP 페이지를 변경한적이 없으니.. 정작 테이블 구조를 살펴보니 인덱스가 없었고쿼리 조건절에서 사용되는 컬럼들을 인덱스로 잡았다. 결과는 해결!인덱스의 필요성을 느낀 ..