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));

 

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

굳 乃

2009년 10월 27일 화요일

[AVR] MCU Control Register

MCU Control Register – MCUCR

 

Bit

7

6

5

4

3

2

1

0

 

SRE

SRW10

SE

SM1

SM0

SM2

IVSEL

IVCE

Read/Write

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Initial Value

0

0

0

0

0

0

0

0

 

Bit 7 – SRE: External SRAM/XMEM Enable

Writing SRE to one enables the External Memory Interface.The pin functions AD7:0,

A15:8, ALE, WR, and RD are activated as the alternate pin functions. The SRE bit overrides

any pin direction settings in the respective data direction registers. Writing SRE to

zero, disables the External Memory Interface and the normal pin and data direction settings

are used.

 

Bit 6 – SRW10: Wait-state Select Bit

For a detailed description in non-ATmega103 compatibility mode, see common description

for the SRWn bits below (XMCRA description). In ATmega103 compatibility mode,

writing SRW10 to one enables the wait-state and one extra cycle is added during

read/write strobe as shown in Figure 14.

 

 

2009년 10월 26일 월요일

내 포스팅 검색엔진에 노출시키기

내 포스팅이 검색엔진에 노출되도록 하기 위한 rss 등록 page

 

Naver : http://help.naver.com/service/exMailQuestion.jsp?question_gubn=service&TBID=TBOX20071231000001&sub_tb_id=TBOX20071231000011

 

Daum : http://cs.daum.net/mail/form/15.html

 

Yahoo : http://kr.helpboard.yahoo.com/helpfeedback/s_center.html?p_isblog=Y&p_qtype=1

 

Nate : http://add.nate.com/

 

Paran : http://add.paran.com/

[IAR컴파일러] 인터럽트 서비스 루틴 사용

인터럽트 서비스 루틴

 

#pragma로 인터럽트 주소 지정. ISR 함수명 앞에 “__interrupt” 키워드 추가.

 

Ex) #pragma vector=0x0b

__interrupt void timer0_isr (void)

[AVR] ATmega64와 ATmega128의 차이

 

ATmega64

ATmega128A

Flash (Kbytes)

64

128

EEPROM (Kbytes)

2

4

SRAM (Bytes)

4096

4096

Max I/O Pins

54

53

F.max (MHz)

16

16

Vcc (V)

2.7 – 5.5

2.7 – 5.5

10-bit A/D Channels

8

8

Analog Comparator

Yes

Yes

16-bit Timers

2

2

8-bit Timer

2

2

Brown Out Detector

Yes

Yes

Ext Interrupts

8

8

Hardware Multiplier

Yes

Yes

Interrupts

34

34

ISP

Yes

Yes

On Chip Oscillator

Yes

Yes

PWM Channels

8

8

RTC

Yes

Yes

Self Program Memory

Yes

Yes

SPI

1

1

TWI

Yes

Yes

UART

2

2

Watchdog

Yes

Yes

Pb-Free Packages

MLF (VQFN) 64

TQFP 64

MLF (VQFN) 64

TQFP 64

 

결론적으로는 메모리 차이인거다.

2009년 10월 21일 수요일

[MPLAB IDE 설치] Error 1324. 해결하는 방법

MPLAB IDE 8.30을 설치하려 하는데 시작도 하기 전에

 

Error 1324. The path ?? contains an invalid character.

 

라는 메시지가 떴다.

뭐지? 해서 다음 버전을 받아 보았지만 역시 마찬가지.

 

아무래도 그 컴퓨터 언어가 일본어로 되어있어서 그런 것 같은데 확신은 없는 상황.

 

그래서 그냥 무작정 한국어로 바꿔보기로 결정했다. 결론적으론 해결되었고.

 

 

 

1. 제어판 -> 날짜, 시간, 언어 및 국가별 옵션에 들어간다.

 

 

 

2. 국가 및 언어 옵션에 들어간다.

 

 

 

3. 국가별 옵션 탭에서 한국어를 선택한다.

여기까지 하고 재부팅을 했는데 그래도 똑같은 상황이었다. 결론은 4번. 4번이 가장 중요했다.

 

 

 

4. 고급 탭에 들어가 한국어로 바꿔준다.

이렇게 하고 재부팅 해줬더니 깔끔하게 설치완료. 에휴, 별게 다 말썽이다.