ZW3D二次开发_文件用户属性的增删改查

新增用户属性

    //新增用户属性
    const char* fileName = NULL;//文件名,NULL表示当前文件
	const char* rootName = NULL;//根对象名,NULL表示当前对象

	//添加用户属性
	const int number = 5;
	svxAttribute userAttrs[number] = { 0 };

	strcpy_s(userAttrs[0].label, "字符串");
	userAttrs[0].type = VX_ATTR_STRING;//字符串类型
	strcpy_s(userAttrs[0].data, "字符串用户属性值");

	strcpy_s(userAttrs[1].label, "布尔");
	userAttrs[1].type = VX_ATTR_BOOL;//布尔类型
	userAttrs[1].dValue = TRUE;//布尔值
	
	strcpy_s(userAttrs[2].label, "整数");
	userAttrs[2].type = VX_ATTR_INT;//整数类型
	userAttrs[2].dValue = 666;//整数值
	
	strcpy_s(userAttrs[3].label, "数字");
	userAttrs[3].type = VX_ATTR_REAL;//数字类型(实数)(常量、无单位)
	userAttrs[3].sub_type = VX_UNDEF;//常量
	userAttrs[3].dValue = 1000.66;//值

	strcpy_s(userAttrs[4].label, "质量");
	userAttrs[4].type = VX_ATTR_REAL; //数字类型(实数)(非常量、有单位)
	userAttrs[4].sub_type = VX_MASS;//质量
	userAttrs[4].unit = VX_UNIT_KG;//质量单位
	userAttrs[4].dValue = 1000.66;//值
	int delOrgAt = FALSE;//不删除原有的所有用户属性
	ZF_CALL(cvxPartUserAtSet(fileName, rootName, delOrgAt, number, userAttrs));

删除用户属性

    //删除用户属性
	vxLongName deleteItemlabel = "质量";
	ZF_CALL(cvxPartAtItemDel(evxAtItemId::VX_AT_USER, deleteItemlabel));
	WriteMessage("已删除用户属性:[%s]", deleteItemlabel);

查询单个用户属性

    //获取特定名称的用户属性 | Get the user attribute for a specific name
	svxAttribute attr;
	strcpy_s(attr.label, "字符串");
	ZF_CALL(cvxPartAtItemGetInFile(fileName, rootName, evxAtItemId::VX_AT_USER, &attr));
	WriteMessage("用户属性[%s] = %s", attr.label, attr.strValue);

修改单个用户属性

    //设置特定名称的用户属性
    svxAttribute attr;
	strcpy_s(attr.label, "字符串");
	strcpy_s(attr.data, "新字符串值");
	ZF_CALL(cvxPartAtItemSetInFile(fileName, rootName, evxAtItemId::VX_AT_USER, &attr));

获取所有用户属性

    //获取所有用户属性 | Get all user attributes
	int userAttributeListCount = 0;
	svxAttribute* pUserAttributeList = NULL;
	ZF_CALL(cvxPartUserAtGet(fileName, rootName, &userAttributeListCount, &pUserAttributeList));
	WriteMessage("共读到了[%d]个用户属性", userAttributeListCount);
	for (int i = 0; i < userAttributeListCount; i++) {
		WriteMessage("用户属性[%d] = [%s]", i, pUserAttributeList[i].label);
	}
	ZF_VOID(cvxMemFree((void**)&pUserAttributeList));

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值