1

我试图在 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"

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

4

5 回答 5

1

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



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

includes
{
    #include "playground.can"
}

如果应该包含的 CAPL 文件位于子文件夹(“TEST”)中

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

如果 CAPL 文件应该包含在顶级文件夹中

includes
{
    #include ".\playground.can"
}
于 2018-09-19T12:21:21.903 回答
1

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

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

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

于 2017-09-04T08:43:47.450 回答
1

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

  1. 右键单击CAPL 浏览器左侧(概述)窗口中 的Includes 组,
  2. 添加包括...
  3. 然后选择需要的文件,CAPL 浏览器会在 CAPL 浏览器的编辑器部分构建相对路径。
于 2018-09-21T14:37:58.547 回答
0

您可以像这样在事件过程中设置路径:

on key 'a'
{
   setFilePath("C:\\data file directory", 1);
   .... 
   //Write your Code here
}
于 2017-12-19T08:10:13.210 回答
0

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

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

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

于 2020-07-15T06:09:36.143 回答