Click here to Skip to main content
15,912,329 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I am upgrading a code mentioned below:
what I am trying to do is I have product register for 30 and at 25th day it will remind user to register for year or two it is mentioned in code
Also I want to convert or add new code so that "Purchase Required" turn into "Available" by inserting Product code from Key code generater


Code I mentione is as follow:
C++
// ProductCode.cpp : implementation file
//
#include "stdafx.h"
#include "Parameters.h"
#include "AddaptApp.h"
#include "ProductCode.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
const DWORD CONFUSER = 32767;
/////////////////////////////////////////////////////////////////////////////
// CProductCodeDlg dialog
CProductCodeDlg::CProductCodeDlg(CWnd* pParent) : CDialog(CProductCodeDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CChange)
	m_strAddapt98 = _T("Activation Required");
	m_strSA = _T("Purchase Required");
	m_strViewer = _T("Purchase Required");
	m_dwSerialNum = 0;
    m_dwProductCode = 0;
	//}}AFX_DATA_INIT
}
/////////////////////////////////////////////////////////////////////////////
// CProductCodeDlg dialog
void CProductCodeDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CProductCodeDlg)
	DDX_Text(pDX, IDC_ADDAPT98, m_strAddapt98);
	DDX_Text(pDX, IDC_RTD, m_strSA);
	DDX_Text(pDX, IDC_VIEWER, m_strViewer);
	DDX_Text(pDX, IDC_PRODUCTCODE, m_dwProductCode);
	DDX_Text(pDX, IDC_SERIALNUM, m_dwSerialNum);
	//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CProductCodeDlg, CDialog)
	//{{AFX_MSG_MAP(CProductCodeDlg)
	ON_EN_CHANGE(IDC_PRODUCTCODE, OnProductCodeEntry)
	ON_BN_CLICKED(ID_DONE, OnDone)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CProductCodeDlg message handlers
BOOL CProductCodeDlg::OnInitDialog() 
{
    CDialog::OnInitDialog();
  	CAddaptApp* pAddaptApp = (CAddaptApp*)AfxGetApp();
    m_dwSerialNum = pAddaptApp->m_dwSerialNum;
    m_dwProductCode = pAddaptApp->m_dwProductCode;
    m_dwInitialCode = m_dwProductCode;
    
    BOOL bDisableEntry = FALSE;
    if (pAddaptApp->m_bSA_Available)
        m_strSA = "Available";
    if (pAddaptApp->m_bViewer_Available)
        m_strViewer = "Available";
    if (pAddaptApp->m_bProductCodeFound)
    {
        m_strAddapt98 = "Available";
        if( pAddaptApp->m_bViewer_Available )
            bDisableEntry = TRUE;   // all options are available - good customer
    }                               // dont let anyone screw things up
	 
    else
    {
        if (m_dwProductCode == 0)
            m_strAddapt98 = "Activation Required";
        else
            m_strAddapt98 = "Product Code Invalid";
        m_strSA = "Purchase Required";
        m_strViewer = "Purchase Required";
    }
    CWnd* pWnd = GetDlgItem(IDC_PRODUCTCODE);
    if(bDisableEntry)
       pWnd->EnableWindow(FALSE);
    else
       pWnd->EnableWindow(TRUE);
	UpdateData(FALSE);
	return TRUE;
}
void CProductCodeDlg::OnProductCodeEntry()
{
   UpdateData(TRUE);
}
void CProductCodeDlg::OnOK() 
{	// update controls
	 UpdateData(TRUE);
    CAddaptApp* pApp = (CAddaptApp*)AfxGetApp();
    DWORD num = (m_dwProductCode & 0x02e0);
    
    if( (m_dwProductCode == 0x02e0 && pApp->m_bBeta) ||
        m_dwProductCode != m_dwInitialCode && 
        m_dwProductCode >= ( (m_dwSerialNum  + 1001000) & 0xfff1f) && 
        m_dwProductCode <= ( ((m_dwSerialNum  + 1001000) & 0xfff1f) + 225) )
    {
        CParameters::ProductCode(num);
        pApp->SetAvailability();
        if (pApp->m_bProductCodeFound)
           m_strAddapt98 = "Activation Required";
        if (pApp->m_bSA_Available)
           m_strSA = "Available";
        if (pApp->m_bViewer_Available)
           m_strViewer = "Available";
        UpdateData(FALSE);
    }
}
void CProductCodeDlg::OnDone() 
{
    UpdateData(TRUE);
    //CAddaptApp* pApp = (CAddaptApp*)AfxGetApp();
    DWORD num = (m_dwProductCode & 0x02e0);
    
    /*if( m_dwProductCode != m_dwInitialCode && 
        m_dwProductCode >= ( (m_dwSerialNum  + 1001000) & 0xffc1f) && 
        m_dwProductCode <= ( ((m_dwSerialNum  + 1001000) & 0xffc1f) + 0x02e0))*/
    if( (m_dwProductCode == 0x02e0 ) ||
        m_dwProductCode != m_dwInitialCode && 
        m_dwProductCode >= ( (m_dwSerialNum  + 1001000) & 0xfff1f) && 
        m_dwProductCode <= ( ((m_dwSerialNum  + 1001000) & 0xfff1f) + 225) )
    {
        CParameters::ProductCode(num);
        ((CAddaptApp*)AfxGetApp())->SetAvailability();
    }
	CDialog::OnOK();
}
void CProductCodeDlg::OnCancel() 
{
	CDialog::OnCancel();
}
Posted
Updated 13-Jul-11 2:16am
v2
Comments
Sergey Alexandrovich Kryukov 13-Jul-11 11:56am    
Is there a problem?
--SA
Richard MacCutchan 14-Jul-11 4:59am    
Just add another if clause. What exactly is your difficulty with this?

1 solution

Why are you asking us to do your job, instead of trying to do it yourself ? Post a SNIPPET of code and a precise question that starts with 'I tried to', not 'Give me the code'.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900