2010년 4월 1일 목요일

파일삭제 _unlink를 쓰면서 일어난 문제

_unlink 함수를 이용하여 파일 하나를 삭제하고 싶은데...

"Access is denied"가 자꾸 뜬다...

처음엔.. 내가 삭제하려 하는 파일을 close하지 않아서 그런가 싶어서...

파일을 다시 한번 오픈했다가 fclose(tempfp) 함수까지 삽입하였는데도 여전하다.

 

근데..

프로그램을 종료했다 다시 실행시키고..

_unlink 함수만 딸랑 실행하면 잘만 지워댄다.

 

왜 내가 원하는 방식으론 접근을 못하는걸까??????

 

 if((tempfp=fopen(cTempFilePath, "w"))!=NULL)
  {
   tempfileFlag = 1;
  }
  if(tempfileFlag)
  {
   fclose(tempfp);
   if (_unlink(cTempFilePath))
   {
    switch (errno)
    {
    case EACCES: AfxMessageBox("Access is denied"); break;
    case ENOENT: AfxMessageBox("Could not find"); break;
    default:  AfxMessageBox("Unknown error."); break;
    }
   }
   else
   {
    AfxMessageBox("Deleted");
   }
  }
 

2010년 3월 19일 금요일

0x10을 10으로 만들려면?

0x10을 10으로 만들려면 어떻게 해야할까?

미치겠네

알고나면 허무할것같은데 -_-;

 

지금은 모르겠어...

CString -> int 변환, int -> CString 변환

CString → int
int형 = _ttoi(CString형);


int → CString
CString형.Format( _T("%d"), int형);

2010년 2월 4일 목요일

[VC] List Box Horizontal scroll 왜 안될까?

비쥬얼 C++ 6.0에서 Listbox 같다붙여놓고

 

수평, 수직 스크롤바가 생기도록 체크했는데...

 

수직은 잘 되는데 수평은 안된다... 안돼.

왜???????

스크롤바가 생기지도 않을뿐더러, 억지로 생기게했지만 화면 이동하질 않아...

도대체 왜왜왜왜왜? ㅠㅠ

그 어디에서도 답을 찾을 수 없어.

아 궁금해...

2010년 1월 6일 수요일

[VC] VC++ 6.0으로 그래프 그리기...가 안된다

아.... 미치겠다. 2DPushGraph라는 그래프 클래스를 주워다가 쓰는데 debug와 release로 컴파일 했을때 결과가 다르다. -_-

 

이건 디버그로 컴파일 했을때. 이게 정상이다. 이렇게 나와야 한다. y축 값 나오고, 그래프 영역엔 그리드 나오고.....

 

근데 릴리즈로 컴파일하면 아래처럼 된다.

기능은 제대로 하는데 축 값이랑 그리드 다 어디갔는지 모르겠다. 소스 바뀐거 없고 컴파일 모드만 바꿨을 뿐인데 대체 왜! 왜! 왜!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

어쩐다... -_- 내 맘대로 안되는 이 그지같은 경우... ㅠㅠㅠㅠㅠㅠ

 

아래 첨부파일은 주워다가 쓴 클래스...

2009년 12월 3일 목요일

[VC] ListBox의 ScrollBar 가장 최근에 포커스 주기

 

ListBox의 ScrollBar 가장 최근에 포커스 주는 방법.

엄청 삽질했다. -_-;;

 

시리얼로 데이터가 들어오면 리스트박스에다가 뿌려주는데 정해진 공간을 넘으면 세로로 스크롤바가 생긴다. 근데 이게 맨 첫줄만 계속 보여주지 최근에 들어온 데이터가 들어오는 맽 끝줄은 보이지 않는거다.

 

※ 왼쪽 빨간 박스와 오른쪽 빨간 박스의 차이점을 알겠는가. 사용자가 손으로 긁어 옮긴것이 아니다.

 

젱장.

 

뒤지고, 뒤지고, 또 뒤지고.

 

겔겔거리다가 찾아냈다.

 

오른쪽 Listbox는 control 변수로 m_ctrlCmd02란 이름을 가지고 있고 x는 int형.

 

x = m_ctrlCmd02.GetCount();
m_ctrlCmd02.SetScrollPos(SB_VERT, x);

 

이렇게 해주면 왼다. 카운트 몇개냐? 해서 그 카운트에 스크롤바의 포커스를 옮겨주면 된다.

우여곡절끝에 하긴 했는데 사용하면서 다른 문제가 날지 안날지는 있어봐야 알겠지.

 

훗.

 

 

 

 

+ 덧 +

 

망했다 ㅠㅠㅠㅠㅠㅠ

스크롤바는 내려가는데 화면은 안내려간다 -_-;

뭥미...... 아 어쩐담.

 

 

 

+ 덧 +

다 필요없다.

 

m_ctrlCmd02.SetCurSel(m_ctrlCmd02.AddString(m_strCmd02buff));

 

이거 한 줄이면 처음에 했던 스크롤 어쩌구도 필요없이 포커스까지 갖추면서 스크롤도 함께 내려간다.

굳 乃