www.pudn.com > gprs_sms.zip > TestDllDlg1.cpp


// TestDllDlg1.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "SmsdllTest.h" 
#include "TestDllDlg1.h" 
#include "math.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// TestDllDlg1 dialog 
 
 
TestDllDlg1::TestDllDlg1(CWnd* pParent /*=NULL*/) 
	: CDialog(TestDllDlg1::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(TestDllDlg1) 
	m_Hello = -8; 
	m_OutputData = -8.0; 
	m_dInput = -8.0; 
	m_Solution = -1; 
	m_TestResult = -8; 
	m_TestResult_int = -8; 
	m_ContentFromDialog = _T(""); 
	m_NumberFromDialog = _T(""); 
	//}}AFX_DATA_INIT 
} 
 
 
void TestDllDlg1::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(TestDllDlg1) 
	DDX_Text(pDX, IDC_EDIT1, m_Hello); 
	DDX_Text(pDX, IDC_EDIT2, m_OutputData); 
	DDX_Text(pDX, IDC_INPUT, m_dInput); 
	DDV_MinMaxDouble(pDX, m_dInput, 1., 99999999.); 
	DDX_Radio(pDX, IDC_SOLUTION, m_Solution); 
	DDX_Text(pDX, IDC_TestResult, m_TestResult); 
	DDX_Text(pDX, IDC_TestResult_Double, m_TestResult_int); 
	DDX_Text(pDX, IDC_DA_Contend, m_ContentFromDialog); 
	DDX_Text(pDX, IDC_DA_Number, m_NumberFromDialog); 
	DDV_MaxChars(pDX, m_NumberFromDialog, 11); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(TestDllDlg1, CDialog) 
	//{{AFX_MSG_MAP(TestDllDlg1) 
	ON_BN_CLICKED(IDC_COMPUTE, OnCompute) 
	ON_BN_CLICKED(IDC_GRPS_STATUS, OnGrpsStatus) 
	ON_BN_CLICKED(IDC_DA_SEND, OnDaSend) 
	ON_BN_CLICKED(IDC_ReadSms, OnReadSms) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// TestDllDlg1 message handlers 
 
BOOL TestDllDlg1::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
	m_dInput = 10000; 
	m_Solution = 0; 
	UpdateData(FALSE); 
	 
// 动态连接 the following 5 line codes should be add when only dynamically link to sms.dll 
	HINSTANCE hInstance; 
//	VERIFY(hInstance=::LoadLibrary("E:\\backup\\fugle_soft\\Sms\\Sms.dll")); 
	VERIFY(hInstance=::LoadLibrary("Sms.dll")); 
//	VERIFY(hInstance=::LoadLibrary("C:\\winnt\\system32\\Sms.dll")); 
 
	SendShortMessage = (SendShortMessageType*)::GetProcAddress(hInstance,"SendShortMessage"); 
	GetStatus = (GetStatusType*)::GetProcAddress(hInstance,"GetStatus"); 
	ReadSms = (ReadSmsType*)::GetProcAddress(hInstance,"ReadSms"); 
 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
} 
 
void TestDllDlg1::OnCompute()  
{ 
	UpdateData(TRUE); 
	switch(m_Solution){ 
	case 0: 
		m_Hello = sqrt(m_dInput); 
		break; 
	case 1: 
		char* number = "13918256150"; 
	//	char* number = "13971490112"; 
	 
		int NumberLen = strlen(number); 
		char* message = "hello"; 
	//	char* message = "老蔡"; 
 
		int MessageLen = strlen(message); 
// 静态连接 u should copy sms.lib to present directory 
/*		m_OutputData = SendShortMessage(number,NumberLen,message,MessageLen); */ 
// 动态链接 
		m_OutputData=(*SendShortMessage)(number,NumberLen,message,MessageLen);  //call the DLL function 
		break; 
	} 
	UpdateData(FALSE); 
} 
 
void TestDllDlg1::OnGrpsStatus()  
{ 
	UpdateData(TRUE); 
 
// 动态链接  
	m_TestResult_int=(*GetStatus)();  //call the DLL function 
// 静态连接 u should copy sms.lib to present directory 
/*	m_TestResult_int = GetGprsStatus();  */ 
	UpdateData(FALSE); 
} 
 
void TestDllDlg1::OnDaSend()  
{ 
	UpdateData(TRUE); 
//	char* smessage = "have u received my paper? lovemaggic:)"; 
//	int MessageLen = strlen(smessage); 
 
	int NumberLen = m_NumberFromDialog.GetLength(); 
	char *snumber = m_NumberFromDialog.GetBuffer(NumberLen); 
 
	int MessageLen = m_ContentFromDialog.GetLength(); 
	char *smessage = m_ContentFromDialog.GetBuffer(MessageLen); 
 
// 动态链接 
	m_OutputData=(*SendShortMessage)(snumber,NumberLen,smessage,MessageLen);  //call the DLL function 
 
// 静态连接 u should copy sms.lib to present directory 
/*	m_OutputData = SendShortMessage(snumber,NumberLen,smessage,MessageLen); */ 
	 
	UpdateData(FALSE); 
} 
 
 
void TestDllDlg1::OnReadSms()  
{ 
	int sms = ReadSms();	 
}