亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? map.cpp

?? 這是非常有挑戰性的題目。對于用戶輸入的任意一個平面函數f(x)
?? CPP
字號:
// Map.cpp : Implementation of CMap

#include "stdafx.h"
#include "FunMap.h"
#include "Map.h"
#include <math.h>

/////////////////////////////////////////////////////////////////////////////
// CMap

STDMETHODIMP CMap::get_MaxX(double *pVal)
{	//取得屬性,X 半軸的最大值
	*pVal = m_xMax;

	return S_OK;
}

STDMETHODIMP CMap::put_MaxX(double newVal)
{	//設置屬性,X 半軸的最大值
	m_xMax = fabs( newVal );
	FireViewChange();

	return S_OK;
}

STDMETHODIMP CMap::get_MaxY(double *pVal)
{	//取得屬性,Y 半軸的最大值
	*pVal = m_yMax;

	return S_OK;
}

STDMETHODIMP CMap::put_MaxY(double newVal)
{	//設置屬性,Y 半軸的最大值
	m_yMax = fabs( newVal );
	FireViewChange();

	return S_OK;
}

STDMETHODIMP CMap::get_Expression(BSTR *pVal)
{	//取得屬性,函數式
	*pVal = m_sExpression.Copy();

	return S_OK;
}

STDMETHODIMP CMap::put_Expression(BSTR newVal)
{	//設置屬性,函數式
	m_sExpression = newVal;

	if(Calc())
	{
		FireViewChange();
		return S_OK;
	}
	else	return E_INVALIDARG;
}

BOOL CMap::Calc()
{	//根據函數式,計算函數曲線的坐標點
	CComQIPtr< IActiveScript > pAS;
	pAS.CoCreateInstance( L"VBScript" );
	if( !pAS )
	{
		Fire_ScriptErr( CComBSTR( _T("加載 VBScript 引擎失敗")) );
		return FALSE;
	}

	CComQIPtr< IActiveScriptParse > pASP(pAS);
	if( !pASP )
	{
		Fire_ScriptErr( CComBSTR( _T("查詢解析接口失敗")) );
		return FALSE;
	}
	pAS->SetScriptSite( this );

	HRESULT hr = pASP->InitNew();
	if( FAILED(hr) )
	{
		Fire_ScriptErr( CComBSTR( _T("解析接口初始化失敗")) );
		pAS->Close();	return FALSE;
	}
   
	hr = pAS->AddNamedItem(L"MyObject", SCRIPTITEM_ISVISIBLE | SCRIPTITEM_ISSOURCE);
	if( FAILED(hr) )
	{
		Fire_ScriptErr( CComBSTR( _T("添加腳本命名錯誤")) );
		pAS->Close();	return FALSE;
	}

	::memset( m_xVal, 0, sizeof(double) * nPointCount );
	::memset( m_yVal, 0, sizeof(double) * nPointCount );

	USES_CONVERSION;
	for(int i=0; i<nPointCount; i++)
	{
		TCHAR szScript[1000];
		double x=i*(2*m_xMax)/nPointCount-m_xMax;	//求得自變量的值

		char strX[20];		::_gcvt(x,7,strX);

		::wsprintf( szScript,
			_T("i=%d\r\nx=%s\r\ny=%s\r\ncall Result(i,x,y)"),
			i,A2CT(strX),OLE2CT(m_sExpression));
//		::MessageBox(NULL,szScript,_T("生成的腳本程序"),MB_OK);
/*****************************************************************
 生成 VBScript 的樣式為: 

 i = 0		'當前正在計算的點的序號(0 ~ 199)
 x = -4.0	'自變量的值(根據序號、窗口范圍和X軸坐標范圍計算得到)
 y = sin(x)	'用戶輸入的函數式f(x)
 call Result( i, x, y )		'調用自身對象的函數,保存坐標點

******************************************************************/
		EXCEPINFO ei;
		hr = pASP->ParseScriptText( CComBSTR( szScript ), L"MyObject",
			NULL, NULL, 0, 0, 0, NULL, &ei);
		if( FAILED( hr ) )	continue;

		hr = pAS->SetScriptState( SCRIPTSTATE_CONNECTED );
		if( FAILED( hr ) )	continue;
	}

	pAS->Close();
	return TRUE;
}

// IActiveScriptSite
STDMETHODIMP CMap::GetLCID(/*[out]*/ LCID *plcid)
{	// 取得當前使用的語言環境
	return E_NOTIMPL;	//使用默認的語言
}

STDMETHODIMP CMap::GetItemInfo(/*[in]*/ LPCOLESTR pstrName,
							   /*[in]*/ DWORD dwReturnMask,
							   /*[out]*/ IUnknown **ppunkItem,
							   /*[out]*/ ITypeInfo **ppTypeInfo)
{
	if(ppTypeInfo)
	{	//取得類型信息庫,供 VBScript 進行函數解析用
		*ppTypeInfo = NULL;

		if(dwReturnMask & SCRIPTINFO_ITYPEINFO)
		{
			CComPtr< ITypeLib > sptLib;
			::LoadTypeLib( L"FunMap.tlb", &sptLib );	//裝載自身的類型庫
			if( sptLib )
				sptLib->GetTypeInfo( 0, ppTypeInfo );
		}
	}

	if(ppunkItem)
	{	//取得 IUnknown 指針,供 VBScript 將來的函數調用
		*ppunkItem = NULL;

		if(dwReturnMask & SCRIPTINFO_IUNKNOWN)
		{
			if ( 0 == _wcsicmp( L"MyObject", pstrName ) )
			{
				ControlQueryInterface( IID_IUnknown, (LPVOID *)ppunkItem );
			}
		}
	}

	return S_OK;
}

STDMETHODIMP CMap::GetDocVersionString(/*[out]*/ BSTR *pbstrVersionString)
{
	return E_NOTIMPL;
}

STDMETHODIMP CMap::OnScriptTerminate(/*[in]*/ const VARIANT *pvarResult, /*[in]*/ const EXCEPINFO *pexcepinfo)
{
	return S_OK;
}

STDMETHODIMP CMap::OnStateChange(/*[in]*/ SCRIPTSTATE ssScriptState)
{
	return S_OK;
}

STDMETHODIMP CMap::OnScriptError(/*[in]*/ IActiveScriptError *pase)
{	// 當用戶輸入了不正確的函數式,或腳本執行的時候出錯
	CComBSTR err,msg;
	HRESULT hr = pase->GetSourceLineText( &err );
	if( FAILED(hr) || !err.Length() )
		msg = _T("執行錯誤");
	else
	{
		msg = _T("語法錯誤: ");
		msg.AppendBSTR( err );
	}

	Fire_ScriptErr( msg );

	return S_OK;
}

STDMETHODIMP CMap::OnEnterScript(void)
{
	return S_OK;
}

STDMETHODIMP CMap::OnLeaveScript(void)
{
	return S_OK;
}

STDMETHODIMP CMap::Result(long i, double x, double y)
{	// 動態生成的腳本調用該函數,用來保存函數曲線的坐標
	if( ( i >= 0 ) && ( i < nPointCount ) )
	{
		m_xVal[i] = x;
		m_yVal[i] = y;
	}

	return S_OK;
}

STDMETHODIMP CMap::get_Pi(double *pVal)
{	// 取得屬性 PI
	*pVal = 3.1415926;

	return S_OK;
}

STDMETHODIMP CMap::Log10(double dbVal, double *pdbVal)
{	// 計算 10 為底的對數
	*pdbVal = ::log10( dbVal );

	return S_OK;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色欧美乱欧美15图片| 亚洲电影第三页| 欧美成人福利视频| 欧美一区二区三区在线看| 制服丝袜亚洲播放| 日韩一级黄色片| 久久婷婷久久一区二区三区| 久久免费电影网| 国产日产欧美精品一区二区三区| 久久九九久精品国产免费直播| 精品欧美一区二区久久| 国产亚洲综合在线| 亚洲日本在线天堂| 午夜久久久久久久久| 精品一区中文字幕| 成人国产一区二区三区精品| 色一区在线观看| 日韩一区二区免费视频| 久久精品视频一区| 亚洲乱码国产乱码精品精可以看| 亚洲一区二区三区四区五区中文| 日韩成人免费电影| 国产成人超碰人人澡人人澡| 在线观看一区二区视频| 欧美一区在线视频| 国产女同互慰高潮91漫画| 一区二区三区美女| 美女视频第一区二区三区免费观看网站| 韩国三级中文字幕hd久久精品| 福利电影一区二区三区| 欧美三级韩国三级日本一级| 日韩精品一区二区在线观看| 亚洲女同ⅹxx女同tv| 奇米影视在线99精品| 成人h精品动漫一区二区三区| 在线不卡中文字幕| 国产精品午夜在线观看| 日韩av一区二区三区四区| 99久久er热在这里只有精品66| 欧美日韩国产在线观看| 国产日韩欧美精品在线| 天天色天天爱天天射综合| 高清国产一区二区| 欧美变态凌虐bdsm| 亚洲国产人成综合网站| caoporn国产一区二区| 日韩欧美一区二区视频| 亚洲成a人片综合在线| 99综合电影在线视频| 欧美本精品男人aⅴ天堂| 一区二区视频在线看| 国产精品一区一区三区| 欧美精品亚洲二区| 一区二区三区在线免费观看| 国产成人a级片| 久久美女高清视频| 久久99热99| 日韩美女一区二区三区| 91麻豆精品国产91久久久久久| 日本一区二区视频在线| 亚洲超丰满肉感bbw| 99久久婷婷国产综合精品| 欧美精品一区二区久久婷婷| 婷婷开心激情综合| 在线一区二区三区| 亚洲三级在线免费| jizzjizzjizz欧美| 亚洲视频在线一区观看| 成人av电影在线播放| 中文字幕免费不卡| a级精品国产片在线观看| 国产日韩一级二级三级| 国产激情偷乱视频一区二区三区| 欧美大片一区二区三区| 国内精品嫩模私拍在线| 久久久精品国产免费观看同学| 国产一区二区久久| 久久嫩草精品久久久精品| 成人黄色在线网站| 韩国午夜理伦三级不卡影院| 欧美日韩美少妇| 亚洲v中文字幕| 欧美午夜一区二区三区| 亚洲国产欧美在线| 日韩一区二区三区四区 | 日韩激情视频网站| 在线亚洲高清视频| 日本欧洲一区二区| 亚洲精品一区二区三区香蕉 | 国产精品乱码一区二区三区软件| 亚洲成人久久影院| 日韩欧美成人激情| 国产一区二区三区黄视频 | 五月天网站亚洲| 欧美伦理视频网站| 精品亚洲免费视频| 中文字幕一区在线观看视频| 91色.com| 精品一区二区免费看| 欧美韩国一区二区| 欧美视频一区二区三区| 久久国产精品色| 亚洲三级理论片| 日韩免费高清视频| av激情成人网| 亚洲蜜臀av乱码久久精品| 99re热这里只有精品视频| 亚洲成人先锋电影| www激情久久| 91丨九色porny丨蝌蚪| 日韩高清中文字幕一区| 国产日韩欧美精品电影三级在线| 在线免费观看成人短视频| 久久精品久久99精品久久| 中文字幕中文乱码欧美一区二区 | 欧美videos大乳护士334| 成人午夜在线视频| 日韩精品亚洲专区| 久久久综合视频| 欧美疯狂做受xxxx富婆| 成人av一区二区三区| 免费观看久久久4p| 一区二区三区欧美在线观看| 精品sm捆绑视频| 欧美日韩免费不卡视频一区二区三区| 另类人妖一区二区av| 久草这里只有精品视频| 国产亚洲一二三区| 欧美精品日日鲁夜夜添| 99久久99精品久久久久久| 麻豆国产精品777777在线| 亚洲一区二区综合| 国产精品久久久久一区二区三区共| 欧美挠脚心视频网站| 成人福利在线看| 国产成人综合网站| 久久91精品国产91久久小草| 日韩高清在线不卡| 一区二区三区**美女毛片| 国产精品久久久久久妇女6080 | 色www精品视频在线观看| 国产a级毛片一区| 国内精品视频666| 国产在线看一区| 极品销魂美女一区二区三区| 日本在线播放一区二区三区| 午夜影院久久久| 亚洲综合丝袜美腿| 亚洲一区二区三区四区在线| 一区二区在线看| 性欧美大战久久久久久久久| 亚洲与欧洲av电影| 亚洲国产中文字幕| 婷婷综合在线观看| 麻豆国产精品官网| 国产在线播放一区| 国产成人精品免费在线| 不卡一区二区三区四区| 99re这里都是精品| 欧美午夜电影网| 91精品国产免费| 亚洲精品一区二区在线观看| 欧美国产一区在线| 亚洲欧美精品午睡沙发| 五月婷婷综合激情| 韩国理伦片一区二区三区在线播放| 国产最新精品精品你懂的| 波多野结衣中文一区| 在线观看国产91| 日韩一级黄色片| 国产精品亲子乱子伦xxxx裸| 亚洲欧美日韩一区二区| 亚洲成人动漫在线免费观看| 老司机午夜精品| 99热在这里有精品免费| 欧美片在线播放| 国产偷v国产偷v亚洲高清| 日韩毛片高清在线播放| 亚洲自拍欧美精品| 久久99久久99| 色婷婷久久久久swag精品| 日韩三级免费观看| 国产精品美女久久久久久| 天天综合天天做天天综合| 国产99久久久国产精品潘金 | 亚洲一区二区不卡免费| 久久超碰97中文字幕| 99天天综合性| 日韩你懂的在线播放| 成人欧美一区二区三区在线播放| 天天影视涩香欲综合网| av不卡免费电影| 精品国产3级a| 亚洲综合在线视频| 国产成人欧美日韩在线电影| 欧美无乱码久久久免费午夜一区| 欧美高清精品3d| 亚洲国产高清aⅴ视频| 视频一区二区欧美| 色94色欧美sute亚洲13|