전체 글(195)
-
VB.NET에서의 Continue For
이게 또 없던게 하나 생겼네. VB.NET이 좋은게 예전 VB6 방식으로 쓰다가 새로운 문법을 하나 발견하면 그걸 적용하면 더 편하게 사용할 수 있다는거다. VB6에서 For문을 돌릴때 조건에 따라 현재 아이템을 건너뛰려면 For문 내부를 통짜로 If문으로 묶거나, 아니면 손쉽게 Goto문을 사용해서 해결하곤 했다. 1. For문 내부를 통짜로 If문으로 묶는 방법 For i = 0 To 10 If i > 5 Then ' 여기는 정상처리 Else ' 여기는 건너뜀 End If Next 2. Goto문을 사용하는 방법 For i = 0 To 10 If i
2022.12.15 -
윈도우 창끌기 기능 끄기
윈도우 10 이후부터 새롭게 추가된 기능중 창끌기 기능이 있다. 창의 제목을 잡고 화면 맨 위로 끌면 최대화되고, 크기조절을 좌우위아래등 모서리로 끌면 그 방향으로만 최대화된다. 그런데 이게 사용하다보면 은근히 불편할때가 있고, 내가 원하지 않는 동작을 해서 지금 끌고 있는 창을 제외한 나머지창이 최소화가 되는등 은근히 불편하다. 그래서 이번 글에서는 윈도우에서 창끌기 기능을 없애는 방법을 알아보자. 윈도우 설정 > 시스템 > 멀티태스킹에 들어가면 아래 화면이 나타난다. 친절하게 창끌기 기능이 있다. 이걸 아예 꺼버리면 된다. 윈도우 설정에 정말 다양한 기능들이 있는데 궁금할때마다 하나씩 적어보도록 하자.
2022.12.12 -
VB.NET WPF Timer 사용하기
이번에 우연찮은 계기로 WPF를 사용해야 하는 프로젝트가 생겨서 본의아니게 삽질중이다. 나름 VB6을 20년이상 사용했고, 아주 성공적이지는 않으나 VB.NET도 어느정도 적응해서 하루하루 버티고 있는데 WPF를 만나니 또 신세계에 무한삽질 반복중이다. 해서 여러 삽질하는 내용을 기록 차원에서 하나하나 기술해보도록 하겠다. Windows Form 프로젝트에서는 타이머가 기본 도구상자가 있어서 아주 손쉽고 유용하게 애용했는데 이 망할 WPF에는 도구상자에 타이머가 없다. 황당~ 검색~ 검색~ 무한 검색의 반복이다. 그런데 희한한게 WPF도 타이머를 제공한단다. 그런데 왜 도구상자에 안넣어주는겨? 뭐... 각설하고 손쉽게 타이머를 사용해보자. 1. 타이머 정의 Imports System.Windows.Thr..
2022.12.10 -
VB.NET에서 컨트롤 배열 만들기
VB6에서는 기본 디자인창에서 컨트롤 배열을 손쉽게 만들 수 있었는데 이게 VB.NET에서는 안된다. 은근히 편리한 기능이라 컨트롤 배열이 없어지니 처음에는 많이 불편했다. 하지만, VB.NET에서도 컨트롤 배열을 만들어서 사용할 수 있다. 디자인창에서 만드는것보다는 많이 번거롭지만 그래도 꼭 필요한 상황이 생기면 어쩔수 없이 만들어서 써야하기에 이번 강좌에서 한번 만들어보자. 버튼부터 텍스트박스나 레이블을 포함해서 모든 컨트롤을 배열로 만들 수 있지만, 이번 강좌에서는 간단하게 타이머 컨트롤을 컨트롤 배열로 만들어보자. 왜냐하면, 타이머는 눈에 보이는 컨트롤이 아니니 위치나 크기를 잡는등의 잡다한 기능을 모두 배제하고 오로지 컨트롤 배열이라는 기능을 설명하는데 충실할 수 있기 때문이다. 우선 타이머 컨..
2022.12.09 -
WinHTTP로 패킷을 요리하자.
예전 VB6에서는 주로 winsock이나 inet을 사용했었는데 VB.NET은 둘다 사용을 못하는듯 하다. 혹은 사용 가능하나 내가 못찾는 것일수도... 이제 웬만한건 다 WinHTTP로 사용하게 됐다. 무엇보다 SSL 연결인 https를 지원하니 다른걸 사용할 의미가 없어져버렸다. 네이버든, 다음이든, 구글이든 타겟이 어디든 그냥 WinHTTP로 싹다 해결된다. 내 프로젝트에 WinHTTP를 사용하기 위해서는 우선 프로젝트 참조에서 참조관리자 > COM > Microsoft WinHTTP Services, version 5.1을 선택하면 된다. 참조관리자는 솔루션탐색기 > 참조에서 마우스 오른쪽버튼 클릭 > 참조 추가... 를 선택하면 된다. WinHTTP는 어느정도 사용법이 정해져있다. 아래 함수를 ..
2022.12.08 -
VB.NET OrderBy, ThenBy를 이용한 리스트 정렬 (역순정렬 포함)
정렬이라는게 어렵지는 않지만 많이 번거롭다. 무엇보다 정렬속도를 신경써야되니 알려진 알고리즘을 사용해서 이진정렬등의 방법으로 정렬을 직접 해줬다. 그런데 List를 사용하면 이 정렬을 간단 단순하게 구현할 수 있다. 무지 편리한 기능이니 잘 적어두자. 일단 리스트를 단순화하는게 좋다. 2차원배열 이상의 차원은 구조체로 리스트를 만들어서 사용하자. 아주 간편하다. 예를 들어서 arr(A, B, C)의 3차원 배열이라 치자. 이걸 정렬하려고 3중 루프를 돌리면서 애쓰지 말자. 그냥 3개의 원소가 들어있는 구조체를 이용해서 하나의 리스트로 만들어주자. Private Structure ABC_TYPE Dim A As Integer Dim B As Integer Dim C As Integer End Structu..
2022.12.05