본문 바로가기

김탱 개발자

(48)
다국어 지원 관련 함수들 MSDN에서 찾기가 어렵지, 유용한 API들이 많다..다만, 리턴값이나 함수 인자들의 대한 설명이 부족한 느낌..즉 Sample Code가 없으면 바로 적용하기가 힘들다아무리 영어로 되어 있다지만, 구글링 하다보면 "이 함수 어떻게 쓰냐"란 질문이 꽤나 많이 보이는걸로 봐선 MSDN의 설명은 활용적이지 못한것 같다 아무튼 다국어지원을 하다보면 해당 Locale의 맞는 여러 포맷(날짜,통화,숫자,폰트 등등)들을 보여줘야 된다.영어가 만국공용어라지만, 영어권의 날짜까지 m/d/yyyy 를 따라 쓰지는 않는다. (한국은 yyyy-mm-dd) 친절한 프로그램씨를 만들기 위해서 Locale의 포맷들을 가져올 수 있는 함수들이 있다. MSDN - National Language Support Functions (링..
데이터베이스 관련 회사의 클라이언트 DB가 MS Access 의 mdb인데, 여기저기 들리기로는 문제점이 많은 DB라 한다.물론, 네트워크의 연결되어봤자 4~5개 PC정도의 네트워크 공유 수준인데다가, 그리 큰 규모의 데이터복잡성이 없다.(A/S 담당자님의 말로는 DB문제 얘기하면 날을새도 모자란다고....)만약 새 프로젝트를 작업하게 되면은 DB를 교체해볼까해서 정리해본다. 필요와 수준에 맞는 DB를 사용하면 되지만, 멀티플랫폼 세상에서 Local로만 이용하는 클라이언트는 한계가 있을듯 싶다 1. 데이터베이스의 분류와 종류(링크) 2. MS Access (mdb)의 장단점Access vs SQLite(링크)장점- 인터페이스의 편의성(DB관리 용이)- 데이터 엑세스에 대한 접근을 레이어 단위로 분리- 비즈니스 객체에 대한..
유니코드 텍스트 파일 읽기/쓰기 작성중 유니코드로 인코딩된 텍스트파일을 읽을경우 CString 비교가 안되어서 골치아팠는데일반적으로 코딩상에서 CString str=L"김태영" 을 저장하고 str.Compare(L"김태영") 은 되지만CFile로 읽어들여와서 CString에 저장된것을 비교하기위해서는 뒤에 \r\n을 붙여줘야 비교가되더라.. 읽기는 여러방법 중 직접 해본 두가지 방법이 있다. CFile의 Read()로 전체파일 사이즈를 구해서 통으로 읽는방법데이터를 분류하기위해서는 토큰을 써야하지만, 유니코드 데이터는 깔끔하게 들어온다. CFile pFile; if(pFile.Open(m_PathCur+L"파일명",CFile::modeRead | CFile::typeBinary)) { CString str; pFile.Seek(2,CF..
구글, 언어분석 돕는 오픈파서 공개 빅데이터에서 고객의 피드백을 듣는게 중요하다.말그대로 빅데이터에서 모든 피드백들을 사람이 일일히 검사하긴 불가능.이렇게 착하게 공개된 언어분석 알고리즘을 사용하여 수많은 고객들의 니즈를 반영 할 수 있는 제품개발 시대가 오지않을까. 블로터 기사(구글, 언어분석 돕는 오픈파서 공개)http://www.bloter.net/archives/256426
다국어를 지원하는 여러가지 방법 국내에서만 프로그램이 유통된다면 필요없다. 그러나! 그 프로그램은 국내에서밖에 못판다. 무엇보다 국내 소프트웨어 시장은 전세계 시장에서 명함도 못내밀 사이즈..라고 한다.물론, 영어정도는 자체적으로 번역이 가능하겠지만, 일본어,중국어,베트남어,러시아어 등등 각 나라마다 번역해야하는 비용가치를 따져봐야겠다. 우선 다국어를 지원하는 프로그램을 제작하려면 유니코드 개발이 필수!라고 생각하면 되겠다. 멀티바이트 집합 개발 시에는 문제점이라기 보다 유니코드에서는 고려 안해도 될 것들이 몇가지 생기기 때문에 굳이 MBCD 개발로 가야할 이유가 있다면 모를까 그냥 유니코드로 개발하면 좋겠다. 여러 방법들에 대해 나열하자면,1. Resource DLL 을 언어별로 제작하여 배포하는 방법 대표적인 매뉴얼로 구글링하다보면..
윈도우 버전 및 비트 얻어오기 (링크) 윈도우 XP,7,8,10 여러 버전이 있는데 프로그램에서 버전을 얻어오려고 했더니 기존의 GetVersionEx() 함수는 안된단다. 링크참조http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8725&page=1 윈도우 비트(32/64bit) 를 확인 하는 방법 역시 링크한다. 링크참조http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8704
DLL 로딩 시 검색 순서 Visual Studio에서 라이브러리 파일을 링크 및 빌드해놓고 DLL을 제대로 된 경로에 넣어 놓지 않으면, DLL을 찾을수 없다는 에러 메세지가 뜬다.아래와 같은 순서로 해당 경로에 DLL이 없을 경우 에러메세지가 뜨게 되는데 DLL을 아래 경로에 중복해서 넣어놓았을 경우, 버전업데이트 시에 분명 업데이트 버전을 넣었는데 반영이 안되는 경우가 발생 할 수있다. 1. DLL을 호출한 EXE파일이 있는 디렉토리2. 프로세스의 현재 디렉토리3. 윈도우 시스템 디렉토리4. 윈도우 디렉토리5. PATH 환경 변수에 저장된 디렉토리 윈도우쪽 디렉토리로 넘어가게 되면 외부에 다른 DLL파일명과 중복되는 경우(난 ABC.dll을 만들었는데, 다른 프로그램에서도 ABC.dll로 만들 경우)가 생겨 충돌하기 때문에 ..
사각영역 잘라내기 (Image Crop) 어떤 이미지를 불러온다는 것은 이미지를 줄이든 확대하든 파일명 or 확장자를 변경하든 뭔가 필요로 인해서 불러온다.고객 얼굴이미지 or 제품 이미지를 등록해서 관리하는 프로그램에서는 이미지를 DB에 저장하고 다시 보여주기 위해서는사이즈 조정이 필요하다. 이번에 제품을 등록/관리하는 프로그램에서 추가기능 구현을 위해 이미지를 Open하고 원본 사이즈의 이미지가 뜨면 사각영역을 움직이고 키우고(비율유지)해서 저장하는 기능이다. 몇가지 고려할 사항이 있었는데,Image Open 시1. Image가 해상도 보다 클 경우 (Width or Height)2. Image가 해상도 보다 작지만, Dialog영역이 해상도를 벗어나는 경우 Image Save 시 (원본 저장)1. 사각영역(200x250)보다 Image가 ..