즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

전체 글 271

[2022.07] 재귀 호출을 이용한 폴더 크기 구하는 함수

OS에서 제공하는 한 무한 하위폴더를 포함한 폴더의 크기를 구합니다. 아래 Fcount함수는 하우투뱅크에서 퍼왔으나 출처를 보면 알다시피 프랑스의 한 개발자분이 API없이 해당폴더의 파일들 사이즈를 구하는 함수입니다. 그외 다른 기능도 있죠? 아래 함수는 FCount함수를 이용해서 재귀호출을 사용해 하위폴더의 파일들 사이즈를 구하는 함수를 만들어보았습니다. 아래 두 함수를 모듈에 넣고 Ex) GetDIRSize("C:\Windows") 처럼 하시면 됩니다. 윈도우 탐색기보단 느립니다. 재귀호출 사용하는 부분이 느린건지... Private Function FCount(ByVal FichiersRecherches As String, _ Optional ByVal Filtres As Integer = vbNo..

[2022.07] 디빅도리2

디빅도리2 소스입니다. 2002년도에 만든 소스라 허접할 수 있습니다. 디비는 MS-Access로 자동생성됩니다. 스킨은 제로보드 게시판 스킨을 그대로 차용하였습니다. 색상도 3가지 던가 조절이 가능합니다. 이때부터 서서히 제가 끄적끄적 포토샵으로 스킨을 만들기 시작하죠. 딱봐도 게시판 같은 분위기.... 항목을 더블 클릭하면 위와 같이 보여줍니다. 코드 내부에 HTML을 생성하여 보여주는 방식입니다. 수정을 눌러봅시다. 인쇄미리보기는 IE 미리보기를 그대로 가져다 씁니다. 바로 오른쪽 무비스트 화면이 뜨지 않습니다. 영화검색버튼을 누르면 제목으로 무비스트에서 찾아 바로 영화정보를 보여줍니다. 가져다 복사하라구요... 본 프로그램은 2000년 초 당시 영화CD 모으기 작전 중인데 관리 프로그램은 없고 해..

[2022.07] 프로그램 리소스 파일들 압축기법 예제소스

스킨이나 여러가지 리소스 파일들이 들어갈 경우 비베에서 제공하는 리소스를 쓸수도 있겠지만 쓰기가 힘들어서 하우투뱅크의 지상현님의 팩제너레이터 소스를 가지고 함 써볼라구 만들어봤습니다. 이 소스는 그냥 파일럿 삼아 만든 것이므로 참고만 하세요.. 흠.. 소스가 큰 이유는 제가 이미지 400k짜리를 넣어서 그렇습니다. ※ 주) 하우투뱅크는 20년 전 국내 개발 커뮤니티 사이트 중 하나입니다. 활용적인 측면. 스킨이나 기타 음원, 이미지 파일들이 필요로 할때 프로그램 파일 폴더나 그 이하 폴더에 쌓아놓고 패키지를 만들었을 경우가 있습니다. (저의 경우 ㅡㅡ;) 이미지 하나라도 분실되면 프로그램이 맛이 가겠죠.. 그래서 생각난게 리소스 활용이랑 요넘입니다. 리소스는 대체 어캐 하는지 몰라서 때려치고.. 요넘을 ..

[2022.07] Clipboard 객체

프린터 객체처럼 클립보드도 하나의 객체로 쓸 수 있습니다. 비주얼 베이직을 실행하신 후, 맨땅에 clipboard 하고 . 을 찍어보세요 해당 메서드들이 나오는 그것으로 웬만한거 구상해서 몇가지 잼난것을 할 수 있을 듯 하네요.. 다음은 그 메서드들 설명입니다. Clear 메서드 {Clipboard.Clear} : 말 그대로 클립보드의 내용을 지웁니다. Getdata 메서드 {Clipboard.Getdata (format)} : Clipboard 개체에서 그래픽을 반환합니다. format은 아래 상수값을 사용합 니다. 상수 값 설명 -------------------------------------------- vbCFBitmap 2 비트맵(.bmp 파일) vbCFMetafile 3 메타 파일(.wmf ..

[2022.07] Listv의 칼럼을 데이터의 길이에 맞게 자동으로 맞추기

안녕하세요. 구 엔조이데브에서 퍼오고 있는 비주얼베이직 6.0 팁입니다. 과연 아직도 이 언어를 사용하는 곳이 있을까요? 데이터값이 변할 때 마다(리프레쉬 하며는) 컬럼 길이가 바뀝니다. 리스트뷰 콘트롤과 커맨드 버튼 콘트롤 만 있으면 됩니다. 이것 가지고 응용하면 재미난 거 만들 수 있겠져. Option Explicit Private Declare Function SendMessage Lib "user32.dll" _ Alias "SendMessageA" (ByVal hWnd As Long, _ ByVal Msg As Long, ByVal wParam As Long, _ ByVal lParam As Long) As Long Private Const LVM_FIRST = &H1000 Private Con..

[2022.07] 개발자 로드맵

안녕하세요. 개발자 로드맵이라는 페이지가 있어서 소개합니다. C#이 없는게 흠이지만 웹/앱 개발자 관점에서 자기가 어떤 개발자인지 혹은 이런 개발자라면 어떤 로드맵으로 학습을 지향해나갈지에 대한 것을 담고 있는 페이지입니다. Developer Roadmaps Developer Roadmaps Community driven roadmaps, articles, guides, quizzes, tips and resources for developers to learn from, identify their career paths, know what they don't know, find out the knowledge gaps, learn and improve. roadmap.sh 이 페이지가 루트 페이지이고,..

개발 2022.07.20

[2022.06] Devexpress ImageComboboxEdit 사용법

Devexpress 버전: 21.2.6 Visual Studio : 2019 안녕하세요. 오랜만에 Devexpress 아이템을 가져왔습니다. 이미지 콤보가 필요해서 이미지 컬렉션을 연계해 추가했더니 Select가 안되는 문제가 발생하여 글을 올립니다. 이미지 컬렉션을 이용해도 되고, C# 기본 컴포넌트인 ImageList를 사용해도 상관은 없습니다. Properties.SmallImages 속성에 추가된 이미지컬렉션을 선택하면, 위 Properties.Items 속성에서 아이템을 추가하고 이미지 인덱스를 선택할 수 있습니다. 이 상태로 실행하면 마지막 아이템이 선택된 상태에서 선택이 되지 않죠. Value 속성에 Int32로 인덱스와 동일한 수를 설정하면 Combobox처럼 자유롭게 설정이 가능합니다. ..

[2022.03] Devexpress XtraGrid에서 Record가 아닌 공백에서 클릭 처리하지 않게 하기

안녕하세요!! 간단하지만 사용자가 요청했을 때 맨붕에 빠지게 할만한 꺼리를 위해 글은 적어봅니다. 레코드들이 표시되고, 레코드를 선택도 하지 않았는데 공백에서 더블클릭했더니 어떤 행위가 일어나요. 왜 그렇죠? 우선 XtraGrid에서 데이터소스를 통해 바인딩된 데이터가 있는 경우 기본적으로 0번째 레코드(첫번째 줄)를 선택합니다. 흑~ T_T 그럴때는 MouseDown, DoubleClick, Click 이벤트에 다음 코드를 맨 위에 추가해주면 만사 OK ^^ GridView gv = sender as GridView; if (!gv.CalcHitInfo(Cursor.Position).InDataRow) return; 그리드 뷰에서 커서의 위치를 이용해 Row데이터에 위치해있는가를 Boolean으로 리턴..

[2022.02] MSMQ를 이용해 프로세스 간 메시지 송/수신 처리하기

안녕하세요! 오랜만에 글을 작성해봅니다. 올해 처음인가봐요 ㅡㅡ; (다행히 아닙니다. ㅎㅎ) MSMQ는 윈도우 OS에서 제공하는 Microsoft Message Queue 입니다. 이를 사용하기 위해서는 제어판 > 윈도우 기능 켜기/끄기에서 활성화 해주셔야 합니다. 본 글에서 테스트 한 메시지 형태는 클래스 형태로 만들어 상호 교환되는 것을 확인하는 소스입니다. XML방식을 직렬화 및 역직렬화를 하는데 속도가 느리다는 글이 있네요. 그래서 아래 참조 글 중 JSON방식의 포맷터를 사용한 테스트 코드를 올려봅니다. 다음 두 개의 클래스를 추가합니다. public class Order { public long orderId; public DateTime orderTime; }; public class EnD..

개발/C# 2022.02.22