본문 바로가기

프로그래밍 언어

단어로 문자열을 자르기 할 경우 일반적으로 Split 함수를 사용할 경우는 특정 캐릭터를 기준으로 문자열을 자를 때 많이 사용한다. 하지만, 단어를 입력해서 문자열을 자를 경우 아래와 같이 사용하면 된다. splited_string = total_string.Split(new string [] { "word" }, StringSplitOptions.None); 더보기
Control Name으로 속성을 변경하고자 하는 경우 UI에 Control들을 배치 하다 보면, 동일한 이름에 Index만 변경되는 Label, TextBox, Button등을 가져다 놓을 수 있다. 이럴 경우 하나 하나 이름을 변경해 주는 것이 엄청 힘든 작업 중에 하나이다. Control들을 배치 할 때, 이름 순서대로 놓은 다음, 아래와 같은 형태의 코드를 사용하면 간단하게 Control들의 속성을 변경할 수 있다. 아래 예제는 Button을 찾아서 Enable/Disable을 변경하고, Text를 변경하는 예제이다. public void Set_Enable__bt_name(String sbt_name, Boolean flag, String sbt_text) { Int32 idx0; Int32 idx1; Boolean cont = true; for(i.. 더보기
함수명을 String으로 호출하기 함수가 Index만 변경되고, 여러 개의 함수들을 호출해야 하는 경우가 있다. 아래와 같은 예제 코드처럼 하면 함수명을 String으로 호출이 가능하다. using System.Reflection; using System; void Function_Invoke() { String func_name = "Func__Call_Me"; Test_Class test_class = new Test_Class(); Type test_type = test_class.GetType(); MethodInfo func_test__call_me = type.GetMethod(func_name, BindingFlags.Instance | BindingFlags.Public); //이제 Invoke를 하면 해당함수의 본문을 실.. 더보기
TextBox 컨트롤 배열 생성 및 Event 구문 등록 방법 일정 수 이상의 컨트롤들을 배치 하거나, 값을 넣거나 할 경우 배열로 선언해서 처리하면, 조금이나마 보기도 좋고, 값을 넣기도 편하다 우선 아래와 같이 전역 변수를 먼저 선언한다. public TextBox[] txtBox; // 컨트롤 배열로 사용할 TextBox 전역변수 선언 public const int txtBox_num = 10; // 생성할 텍스트 박스 갯수 설정 실제로 TextBox를 생성하는 함수를 아래와 같이 코딩한다. private void create__txtBox() { Int32 idx; txtBox = new TextBox[txtBox_num]; for (idx = 0; idx < txtBox.Length; idx++) { // 새 인스턴스 생성 txtBox[idx] = new .. 더보기
ListBox, ListView, TextBox에서 항상 포커스를 제일 아래로 자동 옮기기 ListBox, ListView, TextBox에서 아래와 같이 포커스가 자동으로 제일 아래쪽으로 이동 되게 설정하지 않으면, 새로운 Text가 Append될 때 자동으로 Scroll Bar만 생성되고, 자동으로 스크롤되지 않아 불편하다. 따라서 아래와 같이 설정 해 두면 자동으로 스크롤 되면서, 가장 최근에 Append된 Text를 볼 수 있도록 된다. ListBox의 경우 listBox1.SelectedIndex = listBox1.Items.Count - 1; ListView의 경우 listView1.Items[listView1.Items.Count -1].EnsureVisible(); TextBox의 경우 tbMessage.SelectionStart = tbMessage.Text.Length; t.. 더보기
DOS를 활용해서 공인 인증서를 풀고, 2분 이후에 자동 삭제 하도록 만들기 어짜피 압축 해 놔도 털리는 것은 마찬가지지만,.... 필요할 때, 공인 인증서가 있는 폴더에 압축을 풀어 주고, 2분 후에 자동으로 해당 폴더를 삭제 해 주는 DOS 명령이다. 배치 파일로 만들어 두고, 바탕 화면에서 더블 클릭하면 된다. @echo off if exist C:\Users\TEST_USER\AppData\LocalLow\NPKI\ ( rmdir C:\Users\TEST_USER\AppData\LocalLow\NPKI\ /s /q echo ---------------------------------------------------------- echo NPKI 폴더를 삭제했습니다. echo -------------------------------------------------------.. 더보기
바이트 배열을 정수로 변환 변환된 형식 Method bool ToBoolean(Byte, Int32) char ToChar(Byte, Int32) double ToDouble(Byte, Int32) short ToInt16(Byte, Int32) int ToInt32(Byte, Int32) long ToInt64(Byte, Int32) float ToSingle(Byte, Int32) ushort ToUInt16(Byte, Int32) uint ToUInt32(Byte, Int32) ulong ToUInt64(Byte, Int32) 더보기
문자열을 숫자로 변환하는 방법 숫자 형식 Method decimal ToDecimal(String) float ToDecimal(String) double ToDouble(String) short ToInt16(String) int ToInt32(String) long ToInt64(String) ushort ToUInt16(String) uint ToUInt32(String) ulong ToUInt64(String) 더보기
Registry Key 만드는 방법 현재 사용자의 레지스트리에 있는 "Names" 키 아래에 "Name"과 "Test_Reg_Value" 값 쌍을 추가하는 방법 Microsoft.Win32.RegistryKey key; key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names"); key.SetValue("Name", "Test_Reg_Value"); key.Close(); 더보기
왜 Basic 인가? 나는 왜 Basic 언어를 선택해서 PC용 프로그램을 짤까? 지금까지 많은 사람들이 물어 보더라... 왜 Basic이냐고... "그러는 넌 뭐 쓰냐?" 라고 했더니 되돌아 오는 대답은.... ㅋㅋㅋ 뭐랄까... 그냥 쉽다... 다르게 이야기 해서 인수 인계 하기 편하다... 인수 인계? 아니다... 그 만큼 빠르게 프로토타이핑 할 수 있다는 의미이다. 난 PC용 프로그램을 짜는 전문 프로그래머가 아니다. 내가 만드는 Hardware System을 Debugging하고, Control하고 소프트웨어 엔지니어가 완성도 높은 프로그램을 짜기 위한 중간단계로, 그리고 Hardware 엔지니어가 제대로 설계를 하고 만들었는지 확인할 수 있는 그런 게 필요했다. 즉, 우리 나라에는 없는 Middle-ware Eng.. 더보기