윈도우계열
메서드 인수 이름 입력
메서드 인수 이름 입력
2018.06.12Swift를 하면서 정말 유용한 문법이 두가지가 있었습니다. 첫번째는 호출시 매개변수의 이름을 제어하는 문법입니다. Swift의 기본적인 함수 구조를 보자면 이렇습니다. //선언 및 정의 func myFunc(paramOut paramIn: String) -> Void{//Void는 생략 가능 print(paramIn) } //호출 myFunc(paramOut: "안녕하세요") 이런식으로 사용이 가능합니다. 변수명을 보시면, 앞쪽 paramOut은, 호출시 사용되는 명칭이며, 뒤쪽 paramIn은 내부에서 사용되는 명칭입니다. 이렇게 외부에서 인수 이름을 입력하면, 같은 타입의 매개변수가 여러가지가 필요할때 상당히 편리해 집니다. 예를들어, 학생의 성적을 입력받아, 평균치를 출력하는 함수를 사용할때를 보..
텍스트파일 인코딩 확인 후 다르면 변경하기
텍스트파일 인코딩 확인 후 다르면 변경하기
2018.05.15현재 회사에서 제가 개발하는 프로그램이 MFC로 제작된 프로그램인데, 텍스트파일을 읽는데 유니코드로 되어있으면 에러를 뿜고 프로그램이 다운되는 상태가 발생되었습니다. 텍스트파일은 서버에서 MFC 클라이언트로 전송을 하기에 서버에 올릴 텍스트파일의 인코딩을 확인해서euc-kr이 아닐때 euc-kr로 바꿔줘야 했습니다. 그래서 두가지를 찾아보았습니다. 1. 텍스트파일의 인코딩 확인 2. euc-kr이 아닐때, euc-kr로 변환 먼저 텍스트파일인코딩 확인은 아래처럼 하면 됩니다. private static Encoding GetTextEncodingInfo(string path) { Encoding enc; using (StreamReader sr = new StreamReader(path, true)) {..
[MFC] 다수의 컨트롤들을 관리하고자 할때
[MFC] 다수의 컨트롤들을 관리하고자 할때
2017.12.07네이버 지식인 활동을 하다가 괜찮은 질문을 발견했습니다. "mfc 체크박스를 에디트컨트롤로 입력받은 수만큼 체크하고 나머지를 비활성화시키고 싶은데어떻게 코딩해야 할까요?" 그래서 답변을 다음과같이 달아드렸습니다. "여러가지 방법이 있겠습니다만 이렇게 해보세요 우선 에디트컨트롤의 값을 숫자로 바꿔서 클래스의 멤버 변수에 저장시키세요. 이 값을 maxCheckCount라고 하겠습니다. 그리고 제한을 하고싶으시니 현재 체크되어있는 수를 변수로 둬야겠죠? 그 값을 checkCount라고 하겠습니다.(이 값은 0으로 초기화가 되어있어야 하겠죠?) 마지막으로 maxCheckCount에 도달하게되면, 나머지를 비활성화 시키고 싶다고하셨으니 그것들을 일괄적으로 활성화/비활성화 시키는 함수가 필요하겠네요. 그 함수는 C..
범위 연산자
범위 연산자
2017.09.13범위 연산자, 스코프 연산자라고도 합니다. 보통 네임스페이스(이름공간)안에 있는 연산,객체를 찾을때 이용하는 문법인데요, 며칠전에 MFC 개발을 하다가 모르고 있던 부분을 발견했습니다. 메세지박스를 다이얼로그에 상속받아 새로 구현해서 이것저것 컨트롤들을 추가하던 도중, 뭔가 송수신할때 프로그레스바가 필요하겠다 싶어서 넣었습니다. 물론 메세지박스가 대기가 필요할때만 보여지고 그 외에는 안보여지게 하기 위해서(즉, 버튼이 있을때는 숨기는것입니다) 해당 컨트롤의 ShowWindow연산을 이용했습니다. 문제는 상속하여 새로 구현한 메세지박스는 필요할때만 생성하고 없애햐기때문에, 동적으로생성해야하는데, 이때 해당 컨트롤변수에 ShowWindow연산을 이용하면 생성 오류가 났던것이었습니다. 제가 추측하건데, MFC..
[HTTP] JSON POST 데이터가 덜 전달되던 현상
[HTTP] JSON POST 데이터가 덜 전달되던 현상
2017.09.08얼마전에 제가 정성태의 닷넷(http:// www.sysnet.pe.kr)의 운영자분께 올렸던 질문입니다. 개인적으로 상당히 유익한것 같아서 이렇게 퍼옵니다. Q: 다른게아니라, 오늘 HTTPWebRequest의 POST 방식으로 자료를 전송하다가 궁금점이 생겨서 이렇게 질문글을 올립니다. 개발 환경은 Windows CE Visual Studio2008입니다. 약 200만바이트의 JSON양식에 맞춘 값을 윈도우서버 PHP로 받아 그걸 텍스트로 변환해주는 서버와 클라이언트를 제작했습니다. AllowWriteStreamBuffering는 꺼두고 SendChunked는 켜두고, 열심히 구글에서 찾아보고 스트림라이터로 전송을 했습니다. 반환값(response)은 아직 구현을 안해놔서 당연히 안썼습니다. 그런데 ..
[C++11] 균일초기화의 모호성.
[C++11] 균일초기화의 모호성.
2017.09.08새 블로그에 첫 글이네요. 이제부터 공부하면서 배워간 지식들을 조금씩 올려보려 합니다. C++11 부터는 auto라는 키워드가 생기면서 파이썬같이 컴파일러가 자료형을 추론할수가 있습니다. (예 : auto num1=10; 123456 auto names={ "석삼","너구리" }; for (auto i : names) { cout 이건 위처럼 정수배열로 추론되는게 맞습니다.auto num5 = {1,2,3}; -> 이것도 정수배열로 추론되는게 맞습니다. 하지만 4번째만을 놓고봤을때는 정수배열이 생기는게 맞지만, 2번째의 경우도 고려를 하면 모호해집니다..(코드를 쓰는사람이야 본인의 생각에 따라 만들겠지만, 컴파일러는 도통 단일변수인지 배열인지 알아먹을수가 없으니 말입니다) 그래서 위의 블로그의 내용을 읽..