Search

'2011/12'에 해당되는 글 2건

  1. 2011.12.07 KBCard
  2. 2011.12.01 MFC CInternetSession클래스 사용시_유의점

KBCard

Knowledge General 2011. 12. 7. 14:53 Posted by HisPark

1. 굿데이 카드
  (30이상)
- 주유 업종 60원/ℓ 할인 (한도20만)
- 통신 업종 10% 할인(한도5만)
- 대중교통 업종 10% 할인 (한도5만)

  (60이상사용)
- 주유 업종 60원/ℓ 할인 (한도40만)
- 음식점,커피전문점,편의점,약국 업종 10% 할인

  (120이상사용)
- 학원 피트니스 10% (한도20만)

2. CJ카드

- 빕스,한쿡,헤프터더레인,씨푸드오션,카페소반,콜드스톤크리머리,차이나팩토리,더플레이스,피셔스마켓 이용시 20%할인 + 2%(CJ)적립 1일 1회, 할인전 이용금액 20만원 이내

-  투썸플레이스, 뚜레쥬르 이용시 10% 할인백화점 및 할인점 내 입점 매장 제외

- 올리브영 이용시 10% 할인 + 1%(CJ포인트)적립
- 영화할인 : CGV 8500원 결제시 6천원 청구할인(8500원 미만 결제시 3천원 청구할인)  1일 1회, 연간 12회 직전 3개월 월 평균 결제금액 30만원 이상시 적용

- 연회비 약정기간 내에 CJ오쇼핑에서 1건 이상 사용시 면제 3%적립 + 2-3개월 무이자할부  VIPS,아웃백,TGI,커피 전문점 10%적립


3. 마이원 카드

- 영화할인 : CGV, 매가박스, 프리머스, 씨너스에서 영화결제시 승인 건당 4000원 청구할인 승인월 직전 3개월 평균결제금액 10만원 이상 월 2회, 연 8회

- 스타벅스 10% 청구 할인 : 승인월 직전 3개월 평균 10만원 고객 대상

- 아웃백, TGI,마르쉐,베니건스,시즐러 10% 청구할인 : 1일 1회, 일 20만원

- 마이원 적립 : CGV,프리머스,씨너스,마르쉐,씨즐러 10%적립,교보,보디가드,예스,섹시쿠키,러쉬 5%적립 핫트렉스 5% 할인-누적구매금액20만원부터 ,  레드망고 100원당 1망고, 반디앤루디스 3%적립


4. 포인트리 라임 카드

- 주유 : GS 리터당 50원 적립 - 월 30만원 이용분까지 적립 [ LPG제외]

- 쇼핑 : 5대백화점,4대할인점 3%적립(월30만까지-무실적),

- 영화 : 티켓링크의 영화,공연예매 10%적립, 퍼플회원가입 20%할인(퍼플회원:공연 10~50% 할인)

- 패밀리레스토랑 : 베니건스 10%적립 + 5% 현장 할인, VIPS,아웃백,TGIF 10%적립 (월20만까지)

- 커피전문점 : 10% 적립 (월10만까지)

- 스포츠/레저 5% 적립

'Knowledge General' 카테고리의 다른 글

손연재 에어컨 모델별 구별법  (0) 2012.10.09
Hennesy 알아보기  (0) 2012.01.09
공채할인 계산  (0) 2011.09.05
자동차 등록 인터넷  (0) 2011.09.05
경조사비?!  (0) 2011.07.25
MFC의 CInternetSession 클래스를 사용하면 간편하게 웹페이지를 읽어올 수 있죠..

일단 웹페이지를 열기위해 OpenURL() 멤버 함수를 호출합니다..

CStdioFile* OpenURL(" LPCTSTR pstrURL, DWORD dwContext = 1, DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII, LPCTSTR pstrHeaders = NULL, DWORD dwHeadersLength = 0 );
Throw ( CInternetException );

요놈은 CStdioFile(pstrURL에 연결해서 가지고 온 내용이 담긴 파일) 포인터를 리턴값으로 가지고 있읍죠.

페이지 pstrURL 형식에 따라 원하는 클래스로 캐스팅이 가능합니다.

URL type Returns
file:// CStdioFile*
http:// CHttpFile*
gopher:// CGopherFile*
ftp:// CInternetFile*

제가 MSDN Library January 2001를 설치해서 보는데요..
이 함수 정보에서 Remarks나 Return Value란을 뒤져봐도

"리턴값으로 넘어온 파일 포인터를 어떻게 처리해야 한다"라는 언급은 전혀 없어서
그냥 썼었습니다.. 그랬더니 무지막지한 메모리 릭이..(무한루프 속에서 호출하였음..)

제가 무식해서 첨엔 메모리 새는 원인을 찾지못하고 헤매다가 이 함수가 왠지 걸쩍지근해서..

소스파일인 inet.cpp 파일을 직접 훓어보았더니..

리턴값이 CInternetSession의 멤버변수(CStdioFile)를 포인터로 돌려주는게 아니라 new로 생성된거 였더군요..

즉 리턴값에 대해 delete 처리가 반드시 필요하다는 거죠..(왜 멤버변수라고 단정 지었던 것인지 ㅡㅡ;)

덧붙여.. TRY-CATCH를 반드시 써주셔야 합니다.. 안그럼 프로그램 언제 종료될지 모릅니다... -_-;

고로 이 클래스를 이용하시는 분들은 다음과 같이 써주시면 안전(?)하겠습니당..

CInternetSession* pSession = NULL;
CStdioFile* pFile = NULL;
TCHAR szError[1024] = {0};

TRY
{
pSession = new CInternetSession;
pFile = pSession->OpenURL("http://www.devpia.com");
}
CATCH (CInternetException, pEx)
{
pEx->GetErrorMessage(szError, 1024);
}

END_CATCH

if (pFile != NULL)
{
//여기서 웹페이지 내용을 가지고 처리
//HTTP를 호출했을 시
CHttpFile* pHttpFile = (CHttpFile*)pFile;
delete pHttpFile;
pHttpFile = NULL;
pFile = NULL;
}

if (pSession != NULL)
{
//pSession->Close(); //CInternetSession 소멸자가 알아서 호출함
delete pSession;
pSession = NULL;
}