블로그 이미지
일상을 살아가면서 겪게되는 얘기들, IT에 관한 얕은 지식을 일상의 얘기와 함께 풀어갑니다.
하트바다

공지사항

최근에 올라온 글

최근에 달린 댓글

글 보관함

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

PDA용 로또번호 발생기 수정버전

2009. 2. 4. 15:31 | Posted by 하트바다
조그만 수정을 가했기에 그냥 1.0.1 이라고 파일 내부에 적어 놓았다.

바뀐거는 별로 없다.  일단 스샷


일단 위의 그림처럼 위로 조금 올렸다.
이유는 간단히 말하자면
먼저 landscape 모드 지원을 위해서다.
원래는 PDA용 function 중에 AfxEnableDRA(TRUE); 라는 함수가 있어서 화면이 바뀌는 것을 인식하기는 했는데 이상스레 이 함수를 통해 만들어지는 인스턴스가 서로 매칭이 안되는 경우가 발생해서 그냥 어차피 단순한 프로그램이라 위로 좀 올려서 정렬을 맞추어 주었다.
옆의 그림에서 보면 알수 있듯이 landscape 모드에서 아슬아슬하게 걸치는 것을 볼 수 있다. 하지만, 이건 나의 PDA가 맑은고딕을 기본으로 지정하였기에 이렇게나오는 것이고 일반 폰트에서는 조금 더 깨끗하게 보일 것이다.

두번째 수정은 SaveData 의 폴더 위치 부분을 프로그램 폴더 쪽으로 수정해 두었다.
원래 PDA의 경우는 경로가 상대적인 지정이 안되어서 무조건 루트폴더에서 시작이어서 현재 실행되는 프로그램의 위치 찾기가 좀 그래서 그냥 냅두려 했으나, Blue'nLive 님이 GetModuleFileName() 함수를 찾아주었다.
그래서 아래의 코드와 같이 수정을 해서 현재 프로그램 위치의 아랫부분에 오도록 수정하였다.
CString    strFile;
TCHAR    mdir[MAX_PATH];

GetModuleFileName(NULL, mdir, sizeof mdir);    // 현재 모듈의 위치를 받기.                                                // 이때, 파일명칭도 같이 넘어온다. strFile = mdir;        // 계산을 편하게 하기위해 일단 CString 으로 복사 int iFind = strFile.ReverseFind(_T('\\'));    // 제일 끝 \\의 위치를 찾는다. strFile.Truncate(iFind);    // iFind 뒤로 잘라낸다. strFile.AppendFormat(_T("\\SaveData\\"));    // 현재 폴더 뒤에 SaveData 폴더 만들기. CreateDirectory (strFile,0);

일단 현재의 위치만 가져오면 나머지는 알아서 재주껏~ 그냥 폴더를 만들어주고 거기에 저장을 하면 된다.
결과물은 아래의 파일을 다운 받으면 된다. 물론 다른 버전들도 같이 수정해 주었으니 해당 버전에 맞는 프로그램을 그냥 복사해서 사용하시면 되겠다.!!!