自动化 Kanzi Studio 任务

您可以通过命令行界面运行脚本,以执行 Kanzi Studio 命令。这样您就可以自动化 Kanzi Studio 中的重复任务或者必须在大量 Kanzi Studio 工程中执行的 Kanzi Studio 任务。例如,考虑编写脚本更新在许多 Kanzi Studio 工程中使用 Kanzi Engine 插件,或者从 Kanzi Studio 工程导出 kzb 文件。

有关可用命令的完整列表,请参阅 Kanzi Studio command reference

要自动化 Kanzi Studio 任务:

  1. 在文本编辑器中创建一个脚本,在其中定义要让 Kanzi Studio 运行的命令。
    例如,在这一步添加命令到脚本中,并将脚本保存为 MyScript.txt
    1. 打开 Kanzi Studio 工程。
      #打开名为 MyProject 的工程。
      LoadProject "C:\KanziWorkspace\Projects\MyProject\Tool_project\MyProject.kzproj"
    2. 添加自动化 Kanzi Studio 任务的命令。
      例如,您可以自动执行以下命令:要查看可用命令的完整列表,请参阅 Kanzi Studio command reference
    3. 保存和关闭工程。
      # 保存工程。
      # 第二个参数设置 Kanzi Studio 是否继续在您打开工程的目录中工作。
      # 当保存工程到不同的位置时,将第二个参数设置为 false。
      #例如,SaveProject "C:\KanziWorkspace\Projects\MyOtherProject\Tool_project\MyOtherProject.kzproj" false
      SaveProject "C:\KanziWorkspace\Projects\MyProject\Tool_project\MyProject.kzproj" true
      
      #关闭 Kanzi Studio。
      #要关闭工程但继续使用 Kanzi Studio,请使用 CloseProject 函数。
      ExitApplication
      
  2. 打开 <KanziInstallation>/Studio/Bin 目录中的命令行界面,并使用指向您在上一步中创建的脚本的 /Script 标志运行 KanziStudio.exe 文件。
    例如,在命令行界面运行
    KanziStudio.exe /Script="C:\Users\username\Documents\MyScript.txt"

使用脚本导出 kzb 文件

Kzb 文件包含 Kanzi Studio 工程的内容。要在设备上运行 Kanzi 应用程序,需要将其导出为 kzb 文件。请参阅 使用 kzb 文件

要使用脚本导出 kzb 文件,请使用 ExportBinary 命令:

#将 kzb 文件导出到 二进制导出目录 (Binary Export Directory) 属性 工程 (Project) > 属性 (Properties) 中设定的位置。
#要将 kzb 文件导出到其他位置,使用: ExportBinary "Path\to\directory\MyProjectBinary.kzb"
ExportBinary

ExportBinary 命令有这些可选参数:

例如,要导出主题和地区资源到单独的 kzb 文件和 kza 文件:

# 导出主题和地区资源,以及 kza 文件。
ExportBinary true true

使用脚本为 Android 构建 Kanzi 应用程序

要使用脚本构建适用于 Android 设备的 Kanzi 应用程序,请使用 ExportApk 命令:

#生成 APK 文件前,设置是否在您的 Android 设置上安装此 APK 文件并启动应用程序。
# 在素材库 (Library) > 应用程序 (Applications) > MyProject 中禁用 安装至设备 (Install to Device) 属性。
SetProperty "/Resource Files/Applications/MyProject" BuildConfigurationInstallToDevice false
# 在素材库 (Library) > 应用程序 (Applications) > MyProject 中禁用启动应用程序 (Launch Application) 属性。
SetProperty "/Resource Files/Applications/MyProject" BuildConfigurationRunApplication false

# 使用素材库 (Library) > 应用程序 (Applications) > MyProject 应用程序配置构建 APK 文件。
# 如果工程包含使用纹理压缩的图像,
# 第二个参数设置 Kanzi Studio 是否压缩这些图像。
ExportApk "/Resource Files/Applications/MyProject" true

使用脚本导入和更新 Kanzi Engine 插件

Kanzi Engine 插件扩展 Kanzi Engine 的功能。Kanzi Engine 在目标平台上执行这些插件。请参阅 Kanzi Engine 插件

您可以使用脚本导入和更新 Kanzi Engine 插件:

使用脚本导入 Kanzi Engine 插件

如要在 Kanzi Studio 工程中使用 Kanzi Engine 插件,您必须将 Kanzi Engine 插件导入到 Kanzi Studio 工程中。

要使用脚本导入 Kanzi Engine 插件,请使用 ImportEnginePlugin 命令:

#导入 Kanzi Engine 插件 DLL MyPluginProject\Application\lib\Win32\GL_vs2015_Debug_DLL\MyPluginProject.dll。
# Kanzi Studio素材库 (Library) > Kanzi Engine 插件 (Kanzi Engine Plugins) 添加您导入的 Kanzi Engine 插件 DLL 的引用。
ImportEnginePlugin "C:\KanziWorkspace\Projects\MyPluginProject\Application\lib\Win32\GL_vs2015_Debug_DLL\MyPluginProject.dll"

使用脚本更新 Kanzi Engine 插件

您想使用您在 Kanzi Studio 工程中使用的新版本 Kanzi Engine 插件时,您必须更新 Kanzi Studio工程中的 Kanzi Engine 插件。

要使用脚本更新 Kanzi Engine 插件,请使用 ImportEnginePlugin 命令:

#更新工程中的 XML_data_source Kanzi Engine 插件。
# 因为不导入新插件到工程中,将第一个参数留空。
ImportEnginePlugin "" "/Kanzi Engine Plugins/XML_data_source"

使用脚本更新工程或解决方案中的所有 Kanzi Engine 插件

您想使用您在 Kanzi Studio 工程中使用的新版本 Kanzi Engine 插件时,您必须更新 Kanzi Studio工程中的 Kanzi Engine 插件。

您可以使用插件更新 Kanzi Studio 工程中的所有 Kanzi Engine 插件。如果 Kanzi Studio 工程包含工程引用,您可以更新解决方案中的所有 Kanzi Engine 插件,其中包括工程和所有引用工程。请参阅 组合Kanzi Studio 工程到Kanzi 应用程序

要使用脚本更新某一工程或解决方案中的所有 Kanzi Engine 插件,请使用 UpdateProjectEnginePluginsUpdateSolutionEnginePlugins 命令:

#更新工程中的所有 Kanzi Engine 插件。
# 要更新该工程和所有引用工程中的 Kanzi Engine 插件,使用 UpdateSolutionEnginePlugins。
UpdateProjectEnginePlugins

使用脚本创建和更新数据源

使用数据源将用户界面与应用程序数据分开,并移除 Kanzi Studio 工程与定义 Kanzi 应用程序的代码之间的相关性。请参阅 数据源

您可以使用脚本创建和更新数据源:

使用脚本创建数据源

如要在 Kanzi Studio 工程中使用 Kanzi Engine 数据源插件,您必须在 Kanzi Studio 工程中创建数据源。

要使用脚本创建数据源,首先导入 Kanzi Engine 数据源插件,然后创建并更新此数据源:

# 导入 Kanzi Engine 数据源插件 DLL MyDataSource\Application\lib\Win32\GL_vs2015_Release_DLL\MyDataSource.dll.
# MyDataSource 插件定义 CustomDataSourceType 数据源类型。
# Kanzi Studio素材库 (Library) > Kanzi Engine 插件 (Kanzi Engine Plugins) 添加您导入的 Kanzi Engine 数据源插件 DLL 的引用。
ImportEnginePlugin "C:\KanziWorkspace\Projects\MyDataSource\Application\lib\Win32\GL_vs2015_Release_DLL\MyDataSource.dll"

# 创建 CustomDataSourceType 类型、名为 Cluster 的数据源。
CreateDataSource "Cluster" "CustomDataSourceType"
# 要从 Cluster 数据源创建数据对象,更新该数据源。
UpdateDataSourceContents "/Data Sources/Cluster/"

使用脚本更新数据源

如果用于定义数据源的 Kanzi Engine 插件不更新您的数据源,您可以使用脚本更新数据源。

要使用脚本更新数据源,请使用 UpdateDataSourceContents 命令:

#更新工程中的 Cluster 数据源。
UpdateDataSourceContents "/Data Sources/Cluster/"

使用脚本更新工程或解决方案中的所有数据源

如果用于定义数据源的 Kanzi Engine 插件不更新您的数据源,您可以使用脚本更新数据源。如果 Kanzi Studio 工程包含工程引用,您可以更新解决方案中的所有数据源,其中包括工程和所有引用工程。请参阅 组合Kanzi Studio 工程到Kanzi 应用程序

要使用脚本更新某一工程或解决方案中的所有数据源,请使用 UpdateProjectDataSourcesUpdateSolutionDataSources 命令:

#更新工程中的所有数据源。
# 要更新该工程和所有引用工程中的数据源,使用 UpdateSolutionDataSources。
UpdateProjectDataSources

使用脚本创建节点

您可以使用脚本创建节点。例如:

使用脚本编辑属性

属性提供了指定和检查节点的状态、外观和行为的手段。例如,属性可以定义颜色,指示按钮是否按下或指定项的对齐方式。请参阅 属性类型

您可以使用脚本编辑属性:

使用脚本添加属性

要使用脚本添加属性,请使用 AddProperty 命令。

例如,要为 RootPage 节点添加 描述 (Description) 属性:

# 在 RootPage 节点中添加 描述 (Description) 属性。
AddProperty "MyProject/Screens/Screen/RootPage" Description

使用脚本移除属性

要使用脚本移除属性,请使用 RemovePropertyFromItem 命令:

例如,要从RootPage 节点移除背景笔刷 (Background Brush) 属性:

#从 RootPage 节点中移除 背景笔刷 (Background Brush) 属性。
#使用将鼠标指针悬停在属性名上时在 Kanzi Studio 中看到的 Kanzi Engine 属性名。
RemovePropertyFromItem "MyProject/Screens/Screen/RootPage" Node2D.BackgroundBrush

使用脚本设置属性值

要使用脚本设置属性值,请使用 SetProperty 命令。

例如,要将 屏幕 (Screen) 节点的大小设置为 1200x720 像素:

#在“屏幕”节点中将 指标类型 (Metrics Type) 属性设置为 绝对 (Absolute)。
SetProperty "/Screens/Screen" Window.MetricsType Absolute
# 在屏幕 (Screen) 节点中设置宽度 (Width) 属性为 1200。
SetProperty "/Screens/Screen" WindowAbsoluteWidth 1200
# 在屏幕 (Screen) 节点中设置高度 (Height) 属性为 720。
SetProperty "/Screens/Screen" WindowAbsoluteHeight 720

用脚本记录无效工程项

Kanzi Studio 使用红色类型标记 工程 (Project)素材库 (Library) 中的无效项。
例如:

请参阅 查找无效的工程项

要使用脚本记录 Kanzi Studio 工程中的无效工程项,请使用 PrintDiagnosticReport 命令:

#打印无效工程项列表到 日志 (Log) 窗口和 KanziStudio.log 文件。
PrintDiagnosticReport MyProject

另请参阅

Kanzi Studio command reference

使用 kzb 文件

部署 Kanzi 应用程序到 Android

Kanzi Engine 插件

组合Kanzi Studio 工程到Kanzi 应用程序

数据源

属性类型

查找无效的工程项