CAPL #include 相对路径

CAPL #include relative path

我想在 CAPL 中包含一个 *.can 文件,但我必须设置绝对路径

C:\Users\myuser\canoe\simulations\projectX\Function Test\playground.can

我想使用相对路径来包含它,但我不确定什么是正确的约定或者它是否可行。到目前为止我已经试过了(我的 CAPL 在 projectX 文件夹中):

"C:\...\Function Test\playground.can

"Function Test\playground.can"

"/Function Test/playground.can"

"\Function Test \playground.can"

相对路径的正确使用方法是什么?

是的,这是可能的。您需要指定相对于项目 CANoe 配置 (*.cfg) 文件的路径。例如:

includes
{
    #include "Function Test\playground.can"
}

如果您的 CANoe 项目在 C:\Users\myuser\canoe\simulations\projectX\

你可以这样设置事件过程中的路径:

on key 'a'
{
   setFilePath("C:\data file directory", 1);
   .... 
   //Write your Code here
}

是的,这是可能的。您需要指定相对于 CAPL 文件 (*.can).
路径的路径 [使用 CANoe 11 进行测试]



如果两个 CAPL 文件在同一个文件夹中

includes
{
    #include "playground.can"
}

如果应包含的 CAPL 文件在子文件夹中 ("TEST")

includes
{
    #include "TEST\playground.can"
}

如果应该包含的 CAPL 文件位于顶级文件夹中

includes
{
    #include ".\playground.can"
}

我获取任何文件的相对路径的最佳做法是

  1. 右键单击 CAPL 浏览器左侧的 Includes 组 (概述)window、
  2. 添加包括...
  3. 然后select想要的文件,然后 CAPL 浏览器将在编辑器中构建相对路径 CAPL 浏览器部分。

使用 include 时,您可以像这样使用工作文件的相对路径: #include “SomeFile.cin”

如果你需要更上一层楼,你写 #include "../SomeFile.cin"

如果您需要找到工作文件夹的绝对路径,您可以使用第一个参数为空的 CAPL 函数“getAbsFilePath”。 这将 return 一个包含“配置”文件夹完整路径的字符串,您可以使用该文件夹为更具体的操作创建完整路径字符串