VAPS XT入门教程11:基本数据类型介绍

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

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

基本数据类型

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

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

dd文件

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

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

 	
DOCTYPE dataDescription> 	
<dataDescription name="Float50">
    <field>			
        <name>arrayname>			
        <type>floattype>			
        <cardinality>50cardinality>		
    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文件夹中,就可以在工程中使用了。
VAPS XT入门教程11:基本数据类型介绍_第1张图片

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

vtyp

*.vtyp = v type = data type

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

VAPS XT入门教程11:基本数据类型介绍_第2张图片

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

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

VAPS XT入门教程11:基本数据类型介绍_第3张图片

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



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是不允许的,所有的数据类型在设计完成之后大小、数量就固定了。

你可能感兴趣的:(VAPS,XT入门,VAPSXT,VAPS,XT,Presagis,HMI,人机交互)