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

📄 cellormatrixvc.cpp

📁 cell_or_matrix 数据转换及数组格式标志使用
💻 CPP
字号:
// cellormatrixvc.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <afxdisp.h>
#include "windows.h"
//#include "comutil.h"
//#include "mwutil.h"
#include "mwcomutil.h"
#import "D:\MATLAB6p5p1\bin\win32\mwcomutil.dll" raw_interfaces_only
#include "testcellormatrix_1_0.h"
#include "COMDEF.H"


int main(int argc, char* argv[])
{
	// Initialize COM
    if ((FAILED(CoInitialize(NULL))))
    {
        printf("CoInitialize failed.\n");
        exit(1);
    }

	SAFEARRAY * pa;
	pa=SafeArrayCreateVector(VT_VARIANT,0,3);
	COleVariant var1="a";
	COleVariant var2="d";
	COleVariant var3="g";
	VARIANT varIn;
	VariantInit(&varIn);
    varIn.vt=VT_VARIANT|VT_ARRAY;
	VARIANT * data;
	HRESULT hr;
	hr=SafeArrayAccessData(pa,(void**)&data);
	if(FAILED(hr))
	{
		return 0;
	}
	data[0]=var1;
	data[1]=var2;
	data[2]=var3;
	SafeArrayUnaccessData(pa);
	data=NULL;

	varIn.parray=pa;

	Itestcellormatrix * pCellOrMatrix=NULL;
	hr=CoCreateInstance(CLSID_testcellormatrix,NULL,CLSCTX_ALL,IID_Itestcellormatrix,(void**)&pCellOrMatrix);
	if(FAILED(hr))
	{
		return 0;
	}
    
	printf("*********************Default Data Transformation***************************\n");
	printf("The InputArrayFormat is mwArrayFormatMatrix\n");
	pCellOrMatrix->displayinput(varIn);	

	MWComUtil::IMWFlagsPtr pFlags=NULL;
	MWComUtil::IMWArrayFormatFlagsPtr pArrayFormatFlags=NULL;
	pFlags.CreateInstance(__uuidof(MWComUtil::MWFlags));
	pFlags->get_ArrayFormatFlags(&pArrayFormatFlags);	

	mwArrayFormat arrayFormat;
	//arrayFormat=mwArrayFormatMatrix;
	arrayFormat=mwArrayFormatAsIs;

	pArrayFormatFlags->put_InputArrayFormat(arrayFormat);	

	IMWFlags * pIFlags=NULL;
	pFlags->QueryInterface(&pIFlags);

	pCellOrMatrix->put_MWFlags(pIFlags);

	printf("*********************Changed Data Transformation***************************\n");
	printf("The InputArrayFormat is mwArrayFormatAsIs\n");
	pCellOrMatrix->displayinput(varIn);	


	pCellOrMatrix->Release();
	//pCellOrMatrix=NULL;	

	//VariantInit(&varIn);
	varIn.vt=VT_EMPTY;
	varIn.parray=NULL;
	//SafeArrayDestroyData(pa);
	pa=NULL;
	//pa=NULL;
	//data=NULL;	
	pArrayFormatFlags=NULL;
	pFlags=NULL;	
	CoUninitialize();
	return 0;
}

/*
	mwDateFormatNumeric
*/

⌨️ 快捷键说明

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