728x90

전체 글 637

C#] 리스트뷰 항목(아이템) 더블 클릭 시 항목 읽어오기

C#] 리스트뷰 항목 더블클릭 시 항목 읽어오기 리스트뷰에 있는 항목들에 대해서 더블클릭을 하면그 항목의 정보들에 대해서 조회가 필요한 경우가 있다. 기본적으로 다룰 수 있는 여러 가지 이벤트를 이용하는 방법들이 많다.MouseDown이나 다른 여러 가지 이벤트를 사용하는 꼼수들이 존재하지만내가 원하던 것에 가장 근접한 방식은MouseDoubleClick 이벤트를 이용하는 것이었다. 이벤트 자체는 마우스를 이용해 더블 클릭을 하면 발생하지만,문제는 리스트뷰의 특정 항목에서만 작동하는 게 아니라,리스트뷰에 대한 더블클릭으로 간주되는 것이라서 항목 조회가 되는 건 아니다.(MouseDown이나 Hit를 사용하는 것도 이 때문이지만 구현이 복잡해진다.) 여기서 조금의 꼼수를 부릴 필요가 있다.어떤 항목에 대한..

파일 정리 프로그램 - DirectoryCleaner Ver 1.0

DirectoryCleaner Ver 1.0 디렉토리 클리너, 폴더 클리너, 폴더 청소기, 폴더 정리 프로그램, 파일 정리 프로그램...이 프로그램을 뭐라고 설명해야 될지 나도 잘 모르겠다.그냥 정리한다기 보다는 오래된 파일을 치워버리는 청소 느낌이라서Directory Cleaner라고 했는데 글쎄... 평소에 파일 정리를 잘하고,폴더 정리를 잘해주는 사람은 주기적으로 관리도 하는 편이라서절대 사용하지 않는 파일들이 남아 있는 경우가 드문 편이다. 필자도 나름의 정리 방법으로 정리를 하긴 하지만,가끔씩 내가 사용하는 파일인지 아닌지, 중복된 파일인지,사용한지 꽤 지난 상태에서 다시 사용한 적이 없는 파일인지 아닌지에 대한 정보가 전무해하나 하나 찾아가면서 삭제를 해야 한다. 2000년대 초중반이면,기껏해..

C#] 하위 디렉토리 내용 검색하기

C#] 하위 디렉토리 내용 검색하기 어떤 디렉토리가 있으면 그 디렉토리 내의 하위 디렉토리를 포함한모든 파일 정보나 디렉토리 정보까지 검색하여 사용해야 하는 일이 있다. 흔히 파일 정보 검색은 Directory클래스나 DirectoryInfo 클래스에서 정의된GetFiles나 GetDirectories를 등을 사용하는데어떤 속성값도 없이 경로만 지정해준 상태에서 목록을 반환하게 하면,선택한 경로 내의 하위 디렉토리에는 접근하지 않는 문제가 발생한다. 모든 하위 디렉토리의 파일 혹은 디렉토리 목록을 조회하는 것이 목적이면메서드의 파라미터에 검색 옵션을 추가해주면 된다. 12Di = new DirectoryInfo(searchPath);FileInfo[] file = Di.GetFiles("*",Search..

Arduino] LED 도트 매트릭스

Arduino] LED 도트 매트릭스 사용하기 LED 도트매트릭스라고 이야기를 하면아예 무지한 사람들은 전혀 감을 잡지 못한다.그냥 도심에서 크게 보이는 전광판이나,대형식당 등에서 간간히 보이는 LED 전광판이라고 생각하면 편하다. 통상적으로 베이직 키트 등의 세트에 포함된 도트 매트릭스는5X8형태의 매트릭스가 많고,널리 사용되는 만큼 이를 사용하는 방법에 대해서 많이 알려져 있어네이버에 검색만 해도 쏟아져 나올 법하지만,그래도 필자가 지난날 과제를 수행하면서 정리하였던 도트 매트릭스와 관한 내용과경험을 되짚어 보면서 이야기를 하고자 이렇게 글을 끄적여본다. LED 도트 매트릭스 단어 자체를 보면,LED를 여러 개 배열하여 이를 매트릭스(행렬) 구조로 만들어놓은 소자임을 알 수 있다. 보는 것처럼 이런 ..

메이플스토리] 현재 임시 차단된 IP를 통해서 접속하였습니다.

메이플스토리] 현재 임시 차단된 IP를 통해서 접속하였습니다. 어처구니가 없는 일이었다.즐겁게 메이플스토리를 하면서 플레이 일지를네이버 블로그에 포스팅을 하고 있던 내게갑자기 날아온 이 메세지는,기숙사라는 제한적인 환경에서 게임을 즐기는나한테는 사실상 게임 이용 제한 조치나 다름이 없었고,나를 작업장으로 간주했던 시스템에 대한 불만을 갖게 하기에 충분했다. 그냥 한 문장으로 완벽한 해결 방법은 없고 시간이 약이며,게임 이용 환경을 아예 탈출하는 것이 답이다. 각설하고, 이 '현재 임시 차단된 IP를 통해서 접속하였습니다.'라는 문구가 뜨면즉시 접속을 종료하고, 차단된 네트워크 환경에서다시 접속을 시도하지 않는 것이 중요하다.접속을 다시 시도하는 경우 차단 기간이 늘어날 수 있기 때문이다. 이 시스템 자체..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 5

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 5 C언어로 쉽게 풀어쓴 자료구조8장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 12345678910111213141516171819202122#ifndef __HEAP_TREE_H__#define __HEAP_TREE_H__ #define MAX_ELEMENT 200 typedef struct { int key;} element;typedef struct { element heap[MAX_ELEMENT]; int size;} HeapType; void Init(H..

Algorithm] Knapsack(배낭 문제) - 동적계획법

Algorithm] Knapsack(배낭 문제) - 동적계획법 처음 내가 알고리즘 문제를 접했을 때 처음으로 배낭 문제를 접근했던 방식은 그리디였다.그리디는 다들 알고 있듯, 선택에 대한 번복도 없고, 근시안적인 선택으로 인해서경우에 따라서는 최적해를 보장하지 못하는 문제가 발생한다. 모든 배낭 문제에 대해서 그리디가 유효한 방법이 될 수 없는 건 아니고,물건을 임의로 쪼개어 담을 수 있는(용량을 정할 수 있는) 배낭 문제라면,무게 당 가격을 계산해서 적당히 담는 걸 고려하여 최적해를 구할 수 있기 때문에그리디 알고리즘으로는 해결이 가능하며 이를 부분 배낭(Fractional Knapsack)문제라고 한다.그러나, 일반적인 배낭 문제에서는 물건을 쪼개서 담을 수 없어서 다른 방식을 고려해야 한다. 이 때..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 4

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 4 C언어로 쉽게 풀어쓴 자료구조8장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 19. 우선순위 큐 추상 자료형의 연산들 중에서find 연산, is_empty 연산, is_full 연산을 구현하여보라.우선순위 큐가 히프로 구현되었다고 가정한다. 12345678910111213141516171819202122#ifndef __HEAP_PQ_H__#define __HEAP_PQ_H__ #define MAX_ELEMENT 200 typedef struct { int ke..

Algorithm] 작업 스케줄링(Task Scheduling)

Algorithm] 작업 스케줄링(Task Scheduling) 기계에서 수행하는 n개의 작업(T1, T2, T3, ... , Tn)이 있고,각 작업에 시작 시간과 종료 시간이 존재한다고 할 때 최소한의 기계를 배치하면서모든 작업을 수행하도록 하는 문제를 작업 스케줄링이라고 한다.이 때 수행 시간이 중복되지 않게 모든 작업을가장 적은 수의 기계에 배정하는 최적해를 구하는 문제라는 것에 초점을 두자. 작업 스케줄링 문제에서 우리가 다룰 수 있는 변수와알 수 있는 정보에 대해서 조금 생각해보도록 하자. 작업의 수 n과, 각 작업들의 시작 시간과 종료 시간이 기본적으로 입력값으로 들어올 것이다.이건 입력값을 통해서 우리가 알 수 있는 정보고문제를 살펴봤을 때 우리가 알 수 있는 정보가 하나 더 있다.그 어떠한..

C++] Vector를 이용한 이중 배열

C++] Vector를 이용한 이중 배열 동적 할당에 대해서 익숙해지면배열을 정적으로 할당하는 경우가 줄어들게 되고거의 대부분 동적으로 할당하게 된다.그렇지 않은 사람들도 있겠지만,나는 변수 사이즈에 따라 배열 크기가 바뀌는 경우 반드시 동적할당을 통해서배열의 크기를 결정 짓는다. 그러다가 STL의 vector라는 걸 알게 되면,동적 할당도 잘 사용하지 않게 된다.구조체가 필요하고 안에 들어가는 변수 관리가 까다로운 경우가 아니면,거의 대부분의 경우 vector를 사용하게 된다.물론, vector에 임의의 구조체를 넣지 못하는 건 아니고그건 순전히 사용하는 나의 숙련도 문제에서 기인한 것이라고 생각된다. Topcoder나 비정기적 혹은 정기적으로 개최되는 코딩 대회에 참가하거나,그곳에서 나온 문제들을 풀..

728x90