您可以通过命令行界面运行脚本,以执行 Kanzi Studio 命令。这样您就可以自动化 Kanzi Studio 中的重复任务或者必须在大量 Kanzi Studio 工程中执行的 Kanzi Studio 任务。例如,考虑编写脚本更新在许多 Kanzi Studio 工程中使用 Kanzi Engine 插件,或者从 Kanzi Studio 工程导出 kzb 文件。
有关可用命令的完整列表,请参阅 Kanzi Studio command reference。
要自动化 Kanzi Studio 任务:
MyScript.txt
。#打开名为 MyProject 的工程。 LoadProject "C:\KanziWorkspace\Projects\MyProject\Tool_project\MyProject.kzproj"
# 保存工程。 # 第二个参数设置 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
/Script
标志运行 KanziStudio.exe 文件。KanziStudio.exe /Script="C:\Users\username\Documents\MyScript.txt"
Kzb 文件包含 Kanzi Studio 工程的内容。要在设备上运行 Kanzi 应用程序,需要将其导出为 kzb 文件。请参阅 使用 kzb 文件。
要使用脚本导出 kzb 文件,请使用 ExportBinary 命令:
#将 kzb 文件导出到 二进制导出目录 (Binary Export Directory) 属性 > 中设定的位置。 #要将 kzb 文件导出到其他位置,使用: ExportBinary "Path\to\directory\MyProjectBinary.kzb" ExportBinary
ExportBinary
命令有这些可选参数:
例如,要导出主题和地区资源到单独的 kzb 文件和 kza 文件:
# 导出主题和地区资源,以及 kza 文件。 ExportBinary true true
要使用脚本构建适用于 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 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 Studio 工程中使用的新版本 Kanzi Engine 插件时,您必须更新 Kanzi Studio工程中的 Kanzi Engine 插件。
要使用脚本更新 Kanzi Engine 插件,请使用 ImportEnginePlugin 命令:
#更新工程中的 XML_data_source Kanzi Engine 插件。 # 因为不导入新插件到工程中,将第一个参数留空。 ImportEnginePlugin "" "/Kanzi Engine Plugins/XML_data_source"
您想使用您在 Kanzi Studio 工程中使用的新版本 Kanzi Engine 插件时,您必须更新 Kanzi Studio工程中的 Kanzi Engine 插件。
您可以使用插件更新 Kanzi Studio 工程中的所有 Kanzi Engine 插件。如果 Kanzi Studio 工程包含工程引用,您可以更新解决方案中的所有 Kanzi Engine 插件,其中包括工程和所有引用工程。请参阅 组合Kanzi Studio 工程到Kanzi 应用程序。
要使用脚本更新某一工程或解决方案中的所有 Kanzi Engine 插件,请使用 UpdateProjectEnginePlugins 或 UpdateSolutionEnginePlugins 命令:
#更新工程中的所有 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 应用程序。
要使用脚本更新某一工程或解决方案中的所有数据源,请使用 UpdateProjectDataSources 或 UpdateSolutionDataSources 命令:
#更新工程中的所有数据源。 # 要更新该工程和所有引用工程中的数据源,使用 UpdateSolutionDataSources。 UpdateProjectDataSources
您可以使用脚本创建节点。例如:
#在 RootPage 节点中,创建一个名为“My Page”的 页面 (Page) 节点。 # 最后一个参数设置 Kanzi Studio 是否选择您创建的节点。 CreatePage "/Screens/Screen/RootPage" "My Page" true
#在 RootPage 节点中,创建一个名为“My Button”的 2D 按钮 (Button 2D) 节点。 # 最后一个参数设置 Kanzi Studio 是否选择您创建的节点。 CreateButton2D "/Screens/Screen/RootPage" "My Button" true
#在 RootPage > 2D 视口 (Viewport 2D) > 场景 (Scene) 节点中,创建一个名为“My Grid List Box”的 3D 网格列表框 (Grid List Box 3D) 节点。 CreateComponentNode "/Screens/Screen/RootPage/Viewport 2D/Scene" "My Grid List Box" Kanzi.GridListBox3D
属性提供了指定和检查节点的状态、外观和行为的手段。例如,属性可以定义颜色,指示按钮是否按下或指定项的对齐方式。请参阅 属性类型。
您可以使用脚本编辑属性:
要使用脚本添加属性,请使用 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