/***************************************************************************
w**
**    $Header$
**
**    $Log$
** 
****************************************************************************/

#ifndef _MEMPAGE_H_
#define _MEMPAGE_H_

#include "address.h"
// mempage.h : header file
//

int GetTokenNum(char* string);

BOOL GetAddrRange(CWnd* pWnd, WORD wIDStartAddr, WORD wIDEndMode, 
					WORD wIDEndAddr, ADDRESS& startAddr, ADDRESS& endAddr);

BOOL GetAddr(CWnd* pWnd, WORD wIDAddr, ADDRESS& Addr, BOOL islength=FALSE);

BOOL GetPattern(CWnd* pWnd, WORD wIDPattern, char* pBuf, int& count);
BOOL StrtoVal(char* pStr, char& Val);

void PatternErr(CWnd* pWnd, WORD wIDPattern);
void DisplayError(long lErrorID);
void DisplayAddrError(ADDR_RETCODE  retCode);


/////////////////////////////////////////////////////////////////////////////
// CMemSearchPage dialog
//
class CMemSearchPage : public CPropertyPage
{
private:
	void  DoSearch();

// Construction
public:
	CMemSearchPage();  // standard constructor
	virtual void   OnOK();        // Process the defaut button
	virtual void   OnCancel();        // Process the defaut button

// Dialog Data
	//{{AFX_DATA(CMemSearchPage)
	enum { IDD = IDD_MEMSEARCG_PAGE };
	CListBox	m_ctrlList;
	BOOL	m_bCase;
	//}}AFX_DATA

// Implementation
protected:
	virtual void DoDataExchange(CDataExchange* pDX);   // DDX/DDV support

	// Generated message map functions
	//{{AFX_MSG(CMemSearchPage)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////
// CMemComparePage dialog
//
class CMemComparePage : public CPropertyPage
{
private:
	void  DoCompare();
   
// Construction
public:
	CMemComparePage(); // standard constructor
	virtual void   OnOK();        // Process the defaut button
	virtual void   OnCancel();        // Process the defaut button

// Dialog Data
	//{{AFX_DATA(CMemComparePage)
	enum { IDD = IDD_MEMCOMP_PAGE };
	CListBox	m_ctrlList;
	BOOL  m_bCompCheckStop;
	//}}AFX_DATA

// Implementation
protected:
   virtual void DoDataExchange(CDataExchange* pDX);   // DDX/DDV support

	// Generated message map functions
	//{{AFX_MSG(CMemComparePage)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//////////////////////////////////////////////////////////////////////////////
// CMemChecksumPage dialog
//
class CMemChecksumPage : public CPropertyPage
{
private:
	void  DoChecksum();

// Construction
public:
	CMemChecksumPage();   // standard constructor
	virtual void   OnOK();        // Process the defaut button
	virtual void   OnCancel();        // Process the defaut button

// Dialog Data
	//{{AFX_DATA(CMemChecksumPage)
	enum { IDD = IDD_MEMCHECKSUM_PAGE };
	//}}AFX_DATA

// Implementation
protected:
	virtual void DoDataExchange(CDataExchange* pDX);   // DDX/DDV support

	// Generated message map functions
	//{{AFX_MSG(CMemChecksumPage)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////
// CMemCopyPage dialog
//
class CMemCopyPage : public CPropertyPage
{
private:
	void  DoCopy();
   
// Construction
public:
	CMemCopyPage(); // standard constructor
	virtual void   OnOK();        // Process the defaut button
	virtual void   OnCancel();        // Process the defaut button
   
// Dialog Data
	//{{AFX_DATA(CMemCopyPage)
	enum { IDD = IDD_MEMCOPY_PAGE };
	//}}AFX_DATA

// Implementation
protected:
   virtual void DoDataExchange(CDataExchange* pDX);   // DDX/DDV support

	// Generated message map functions
	//{{AFX_MSG(CMemCopyPage)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
}; 


/////////////////////////////////////////////////////////////////////////////
// CMemFillPage dialog
//
class CMemFillPage : public CPropertyPage
{
private:
	void  DoFill();

// Construction
public:
	CMemFillPage(); // standard constructor
	virtual void   OnOK();        // Process the defaut button
	virtual void   OnCancel();        // Process the defaut button

// Dialog Data
	//{{AFX_DATA(CMemFillPage)
	enum { IDD = IDD_MEMFILL_PAGE };
	//}}AFX_DATA

// Implementation
protected:
	virtual void DoDataExchange(CDataExchange* pDX);   // DDX/DDV support

	// Generated message map functions
	//{{AFX_MSG(CMemFillPage)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};


/////////////////////////////////////////////////////////////////////////////
// CMemTestPage dialog
//
class CMemTestPage : public CPropertyPage
{
private:
	void  DoTest();

// Construction
public:
	CMemTestPage(); // standard constructor
	virtual void   OnOK();        // Process the defaut button
	virtual void   OnCancel();        // Process the defaut button

// Dialog Data
	//{{AFX_DATA(CMemTestPage)
	enum { IDD = IDD_MEMTEST_PAGE };
	//}}AFX_DATA

// Implementation
protected:
	virtual void DoDataExchange(CDataExchange* pDX);   // DDX/DDV support

	// Generated message map functions
	//{{AFX_MSG(CMemTestPage)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////(EOF of MEMPAGE.H)////////////////////////////

#endif
