⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 itestmodel.cpp

📁 在VC环境下
💻 CPP
字号:
// ITestModel.cpp : Implementation of CITestModel

#include "stdafx.h"
#include "ITestModel.h"
#include ".\itestmodel.h"
#include <math.h>
// CITestModel


STDMETHODIMP CTestModel::get_a(FLOAT* pVal)
{
	// TODO: Add your implementation code here
	*pVal=m_fa;
	return S_OK;
}

STDMETHODIMP CTestModel::put_a(FLOAT newVal)
{
	// TODO: Add your implementation code here
	m_fa=newVal;
	return S_OK;
}

STDMETHODIMP CTestModel::get_b(FLOAT* pVal)
{
	// TODO: Add your implementation code here
	*pVal=m_fb;
	return S_OK;
}

STDMETHODIMP CTestModel::put_b(FLOAT newVal)
{
	// TODO: Add your implementation code here
	m_fb=newVal;
	return S_OK;
}

STDMETHODIMP CTestModel::Run(SAFEARRAY **inputValue, FLOAT* pVal)
{
	if (inputValue==NULL)
		return E_POINTER;

	*pVal=0;

	HRESULT hr;
	LONG uBount,lBount;

	hr=SafeArrayGetLBound(*inputValue,1,&lBount);
	hr=SafeArrayGetUBound(*inputValue,1,&uBount);
	ATLASSERT(SUCCEEDED(hr));

	FLOAT *fValue=0;

	hr=SafeArrayAccessData(*inputValue,(void**)&fValue);
	ATLASSERT(SUCCEEDED(hr));

	for (LONG i=0;i<uBount-lBount+1;i++) 
	{
		*pVal+=fValue[i];
	}

	*pVal=fmod(*pVal,4);

	if (*pVal<1.5)
		*pVal=1;

	if (*pVal>=1.5&&*pVal<2.5)
		*pVal=2;

	if(*pVal>=2.5&&*pVal<3.5)
		*pVal=3;

	hr=SafeArrayUnaccessData(*inputValue);

	return S_OK;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -