VAPS XT开发入门教程10:基本数据类型介绍

发布于:2022-11-28 ⋅ 阅读:(518) ⋅ 点赞:(0)

本文首发于:VAPS XT开发入门教程10:基本数据类型介绍

VAPS XT提供了最基本的数据类型和可扩展的数据类型。

基本数据类型

byte/signed byte/string/utf16string/int16/int32/uint16/uint32/float32/float64

可以在基本数据类型的基础上扩展出自己的数据结构

dd文件

*.dd格式的文件是VAPS XT的扩展数据类型文件。其内部为标准的XML格式。

以下是VAPS XT新建工程自带的Float50数据格式。

<?xml version="1.0" encoding="UTF-8"?> 	
<!DOCTYPE dataDescription> 	
<dataDescription name="Float50">
    <field>			
        <name>array</name>			
        <type>float</type>			
        <cardinality>50</cardinality>		
    </field> 	
</dataDescription>
  • dataDescription name字段需要和文件名一样
  • field字段可以有多个
  • field name字段任意英文命名
  • field type字段的值只能是byte/signed byte/string/utf16string/int16/int32/uint16/uint32/float32/float64。如果是其他值,在打开工程时会报错。
  • field cardinality表示数量,50个表示array这个变量,是一个有50个float类型数据的数组。
  • 此dd文件只能手动编辑,添加、删除、修改

将设计好的数据结构添加、导入、拖拽到工程的DataIO文件夹中,就可以在工程中使用了。
在这里插入图片描述

蓝色的即为我们设计的数据结构

vtyp

*.vtyp = v type = data type

(只能)用于定义对象(Objects)的属性(Property)

在这里插入图片描述

在Type字段直接选择我们的类型就可以了。

VAPS XT官方提供的类型位于工程的StandardElements->Data->DataTypes中

在这里插入图片描述

下面是一个自定义数据类型

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE type_decl PUBLIC "-//PresagisCanada//DTD VapsXT 18.0" "file:///C:/VAPSXTDTD/VapsXT_18.dtd">

<type_decl name="UInteger" cpp_class="vxtTypUInteger" c_struct="vxtCTypUInteger" build_output_location="VAPSXT_Install">
  <struct_type>
    <sfield name="Data" type="UInt"/>
  </struct_type>
</type_decl>

类型为UInteger即无符号整型,内部实现是是UInt,变量名为Data,相当于对UInt进行了一次封装。

说明

VAPS XT是用于航天仪表的软件,不允许动态分配内存,也就是说new是不允许的,所有的数据类型在设计完成之后大小、数量就固定了。

如果你有问题,如果是简单的问题可以发邮件给免费解惑,如果涉及难问题或者需要提供附加的服务(比如授权、大工程集成编译、多分区相关,或者作为中间商联系Presagis)可以联系上海亥伯智能科技有限公司 邮箱