런타임 중에 컴포넌트 수정..
·
사소한 아이의 소소한 스킬/C#
음.... 런타임 중에 컴포넌트들의 배치, 수정 등이 가능한 샘플을 찾고 있었는데.. 코드 프로젝트에서 딱 맞는 샘플을 발견 http://www.codeproject.com/Articles/787199/Absolute-Dynamic-Form-at-Runtime 런타임중에 버튼 배치, 버튼 크기 수정, 코드 수정 까지 가능. 코드 수정의 경우 보니깐 상용 컴포넌트... 그래서 코드 수정 제외하고 해보니 정상 작동. 코드 보니 하나의 inf파일로 저장하여 프로그램 시작 시 항상 로드되도록 되어 있었으나... 수정하여 inf 여러개 저장하고 선택해서 load되도록 수정!! 이거 토대로 나름 쓸만하게 수정할 수 있을 거 같음..!!
동기, 비동기 차이점
·
사소한 아이의 소소한 스킬/C#
( 출처 : 한빛 미디어 Boost.Asio를 이용한 네트워크 프로그래밍 ) 사진한장으로 끝낸다....
Signal & Slot
·
사소한 아이의 소소한 스킬/QT
안녕하세요.. 이번엔 Signal & Slot 입니다. Signal & Slot이란.. 간단하게 말하면.. 이벤트를 말하는겁니다. WPF를 예로 들면.... Button_Click 이벤트를 받아서 특정 함수를 실행시키는 그런 기능을 실행하기 위해 Signal & Slot이 사용되는것이죠..!! 일단 당당하게 프로젝트 생성! 그후 Form의 ui를 더블클릭하여 QTDesigner 실행..! 그리고 간단하게 버튼을 누르면 Label의 Text가 Hello로 변경되도록 할꺼기에 버튼 하나와 Label 하나를 추가해줍니다. 그 후 Label 이름 수정!!! ( 지난번엔 안했죠.. 하지만 항상 해줘야 하는 변수 작명기술.....제일어려워...) 사진과 같이 Label 변경했으면 Button 이름도 변경..!! 그..
Hello World!
·
사소한 아이의 소소한 스킬/QT
QT 첫번째 코딩 시작.. 시작은 당연히 Hello World지...!! 당당하게 Visual Studio에서 QT 프로젝트를 생성!! ( QT Application으로 만듭니다. ) 프로젝트를 생성하고 나면 아래와 같은 QT Designer가 실행될겁니다.지금확인해보니 안뜨네요... 솔루션 탐색기 FormFiles에서 qt_hello.ui 파일을 더블클릭해주세요! 여기서 C#에서 수정하는거처럼 Form좀 줄이고 왼쪽 위젯상자에서 Label을 드래그앤 드랍 딱 해주면 요런 모습이..!! 여기서 TextLabel을 더블클릭하면 적힌 글귀를 바꿀수 있다. 이러면 Hello World 끝.. 하지만 이렇게 끝내면 너무 허무하기에.. 소스단에서 수정하는 걸로!!! QTDesigner를 종료합니다. ( 당연히 폼..
QT 설치하기
·
사소한 아이의 소소한 스킬/QT
첫번째 포스팅... QT 설치하기 입니다. QT 설치.. 뭐 간단하네요.. 그냥 다운 받아서 설치하고, 또 다운받아서 설치하고 특정 Batch파일 실행시키면 끝...... 일단 저의 컴퓨터 환경은 Window7에 Visual Studio 2010입니다. 자신의 환경에 맞도록 파일을 받아서 설치해야합니다. 일단 다운로드받으러 사이트로 이동합니다. 다운로드 사이트 ( QT-Project ) : https://qt-project.org/downloads QT는 현재 5.3버전까지 나왔습니다.. 저는 4.8 버전.. 자신의 OS와 Visual Studio 버전에 맞추어 파일 받으시면 됩니다. 4.8 버전도 제공해주고 있습니다. 이것은 Visual Studio에 QT라는 메뉴를 제공하여 QT를 Visual Stu..
동적 라이브러리와 고정 라이브러리의 차이..
·
사소한 아이의 소소한 스킬/C#
빌드 시 동적 라이브러리와 고정 라이브러리의 차이.. 부장님이 빌드시에 저 2개의 라이브러리 차이를 물어보신다.. 나는 당연히.........모르쇠.............. 그러니 답답하신 부장님이 설명해주신 말씀..... 빌드를 하면 lib 파일과 dll 파일등이 생긴다...... 여기서 동적 라이브러리의 경우 사용하는 헤더 파일의 함수들이 dll로 저장되어 빌드시에 헤더 파일의 함수를 사용하고자 할떄 dll을 참조하여 사용이 된단다... 하지만 고정 라이브러리의 경우 dll로 저장되는 것이 아니라 lib파일에 모두다 올라온단다...그래서 dll파일이 필요가 없고 lib의 용량이 커진다고........... 기본이 없는 나는 울지요.............
WPF에서의 Console 이용법
·
사소한 아이의 소소한 스킬/C#
WPF에서의 Console 이용법.. 음... 저는 Scaleform을 애초에 사용했었고.... C, C++를 사용하다보니 Console에서 뭔가 값을 확인할때가 많습니다. 뭐 디버깅으로 확인할때가 가장 많지만요.. 근데 WPF에서 하다보니 저도 모르게 MessageBox를 사용했습니다. 근데 MessageBox사용하다보니 계속 확인 눌러줘야하고... 귀찮아서... Console 사용하는 방법이 없을까 고민하다보니 딱 발견!!!!! 그것은 1234 System.Console.WriteLine()System.Diagnostics.Debug.WriteLine()System.Diagnostics.Trace.WriteLine();cs 이 두 함수..!! 이 함수를 사용하면 출력 란에 작성된 것들이 나오네요.....
WPF의 Cross Thread BeginInvoke 방법
·
사소한 아이의 소소한 스킬/C#
Invoke 방식과 별 큰 차이가 없다... Invoke 사용하는 곳에서 단지 BeginInvoke만 사용해 주면 된다.. 하지만 BeginInvoke와 Invoke의 차이는 알고 해야 할 듯 싶다. 내가 기억하는 BeginInvoke와 Invoke의 차이는 바로 동기, 비동기 이다. Invoke는 동기화 함수. 그리하여 Invoke 사용 시 다른 Code가 실행되지 않는다. 즉, 다른 Code들은 다 Block하여 실행하지 않고 해당 Invoke함수가 종료될때까지 프로세스가 기다린다. BeginInvoke는 비동기화 함수. 그리하여 BeginInvoke 사용 시 다른 Code와 동시에 실행된다. 즉 다른 Code들을 Block하지 않아 해당 Invoke 함수가 종료되지 않더라도 프로세스가 계속 진행한다..
WPF의 Cross Thread 문제
·
사소한 아이의 소소한 스킬/C#
Thread를 이용하여 현재 시간을 나타내주는 프로그램. 일단, WPF 응용프로그램 프로젝트를 만든다. 그 후 XAML 코드에 간략하게 보일 TextBox를 하나 만들어 준다. 그 후 아래와 같이 코딩...public partial class Window1 : Window { public delegate void TempDelegate(); public TempDelegate tempDelegate; Timer _timer = null; public Window1() { InitializeComponent(); InitTimer(); } private void InitTimer() { if (_timer != null) return; TimerCallback tcb = new TimerCallback(T..
WPF Window Show, Hide, Close
·
사소한 아이의 소소한 스킬/C#
WPF 사용중에 여러 창을 시현하는 코드가 있습니다. 이전에 Scaleform 사용시에는 UI들이 자주자주사용되는것도 있고.. 제 개인적인 생각으로 사용할때마다 생성하고 지우는거보단 처음에 한번 생성하고 계속 사용하다가 마지막 프로그램 종료시에만 지우는게 맞다고 생각했죠... 그리하여 전역변수의 Window 변수를 하나 가지고 있는 상태에서 초기 프로그램 구동시 Window를 생성하고 마지막 종료 시 Window 변수를 지우는 방법을 사용했습니다. 12345678910111213141516171819202122Window MyWin1; function Initialize(){ MyWin1 = new Window();} function myWindow_Close(){ MyWin1.Hide();} funct..
여러 생성자를 만들때 팁.
·
사소한 아이의 소소한 스킬/C#
여태 멍청했다.. 다음과 같은 클래스의 생성자가 있을때....항상 저렇게 다 만들어줬었는데.... 1234567891011121314151617181920212223242526public class MainViewModel { private int V1; private int V2; private int V3; private int V4; private int V5; public MainViewModel() { V1 = 0; V2 = 0; V3 = 0; V4 = 0; V5 = 0; } public MainViewModel(int p_V1) { V1 = p_V1; V2 = 0; V3 = 0; V4 = 0; V5 = 0; }}Colored by Color Scriptercs그럴필요가 없었다.... 12345..
원하는 달의 일수 찾기
·
사소한 아이의 소소한 스킬/C#
간단한 꼼수......이런 방법도있다는것........ 간단합니다.. 찾는 방법은 DateTime을 이용해서 찾습니다. 2013년 10월의 일수를 찾아보겠습니다. 일단 DateTime으로 2013년 10월로 지정해둡니다. DateTime DT = new DateTime(2013,10,1) 그후 for문을 이용하여 DT에 addDay함수를 이용하여 하루씩을 늘리는겁니다. 그러다보면 언젠가 Month가 11월로 바뀌게 되겠죠...?? 그때의 for값을 찾으면 그것이 해당 달의 일수가 되는거죠...... 간단한 꼼수네요.... 다른 방법도 존재하지만.. 일단 이렇게 생각이드는군요!
간단한 파싱......
·
사소한 아이의 소소한 스킬/C#
파싱 복잡한건 복잡하지만 간단한건 쉽다.예시로 1:2:3:4:5:6 라는 string이 있다고 치자.여기서 우리가 써야 할 데이터는 숫자뿐 ":"는 지워버려야 한다.이럴때 파싱을 하는것. string형 클래스에는 Split이라는 함수가 있다. 이 Split는 특정 단어를 기준으로 하나의 string값을 배열로 나누어서 저장해준다.즉,1:2:3:4:5:6 이라는 string이 있을때 Split(":")를 실행하면string[] string_Array라는 변수에 {1, 2, 3, 4, 5, 6} 라는 값이 들어가는 것이다.. string Key = "1:2";string[] array1 = new string[2];array1 = Key.Split(':'); array1을 찍으면 {1, 2}가 들어가있음....
WPF 기초?
·
사소한 아이의 소소한 스킬/C#
WPF기초라고 네이버 블로그에 올라온 것! http://blog.naver.com/burin/40191737663 http://blog.naver.com/john5297/80116217091
Scaleform..
·
사소한 아이의 소소한 스킬/Scaleform
Scaleform을 한지 2.6년을 지나고............ 게임분야를 떴습니다......... 게임회사도 아닌 좋지 못한 시뮬레이션회사에서 게임을 개발하면서 몸은 상하고......... 사수없이 Scaleform을 개발하다가......... 제 실력도 안늘어나는거같고....... 돈도 적고.......그래서 옮겼네요......... 여기선 c#을 하지만...... 애초에 해보지못한... 그래도 여기는 사수?라고 아니 물어볼사람이라도 있으니 환경은 더 괜찮네요.... 그리고 IT계를 얼마나 할지 모르겠지만............좀 하다가 그만둘수도......................그냥 그렇다구요.............. 참 재밌는 분야였는데.......... 온라인게임 한번 해보고싶었는데.......
WPF
·
사소한 아이의 소소한 스킬/C#
WPF는 기존 C# + XAML 이다. 난 Winform 이랑 WPF 차이를 잘 못느끼겠다.. 근데 Winform보다 WPF가 더 이쁘다고 하고 익숙해지면 더 빨리 UI를 개발할수있단다.. 이것이 XAML이라는 기능떄문인거같은데.. XAML은 XML의 확장판인거같다. HTML처럼 단계가 보이고 기능구현? 이벤트구현? 등의 이벤트를 등록할수있다. 등록된 이벤트들은 다른 C#파일에서 구현할수 있다. 이런말이 있다. WPF는 Windows vista의 새로운 UX(User Experience:사용자 경험)를 제공하기 위해 탄생되었으며 이를 위해 개발자와 디자이너의 협업을 위한 XAML이라는 MarkUp Language로 개발자와 디자이너가 공동으로 작업할 수 있는 환경이 만들어지게 된것 입니다. 이런말들만 읽..
좋은 말
·
사소한 아이의 소소한 스킬
http://wooyaggo.tistory.com/ http://wooyaggo.tistory.com/247
Scaleform 관련 사이트.
·
사소한 아이의 소소한 스킬/Scaleform
http://scaleform.minarto.com/ 잘 정리 되어있는 홈페이지.........본받고싶음........자신이 정리해서 정리한걸 올리는....나도 그래야지 다음에............다음에.........스케일폼말고 다른거.........