CAPL#包含相对路径

CAPL#包含相对路径,c,capl,canoe,C,Capl,Canoe,我试图在CAPL中包含一个*.can文件,但我必须设置绝对路径 C:\Users\myuser\canoe\simulations\projectX\Function Test\playground.can 我想使用相对路径来包含它,但我不确定什么是正确的约定,或者它是否可行。到目前为止,我已经尝试过(我的CAPL在projectX文件夹中): 使用相对路径的正确方法是什么?是的,这是可能的。您需要指定相对于项目CANoe配置(*.cfg)文件的路径。例如: includes { #i

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

C:\Users\myuser\canoe\simulations\projectX\Function Test\playground.can
我想使用相对路径来包含它,但我不确定什么是正确的约定,或者它是否可行。到目前为止,我已经尝试过(我的CAPL在projectX文件夹中):


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

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

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

如果您的独木舟项目位于
C:\Users\myuser\CANoe\simulations\projectX\
中,您可以在事件过程中设置如下路径:

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

是的,这是可能的。您需要指定相对于CAPL文件路径的路径(*.can)。
[带独木舟的受试者11]



如果两个CAPL文件位于同一文件夹中

includes
{
    #include "playground.can"
}

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


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

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

获取任何文件的相对路径的最佳实践是

  • 右键单击CAPL浏览器左侧的“包含”组 (概述)窗口
  • 添加包括
  • 然后选择所需的文件,然后 CAPL浏览器将在编辑器中构造相对路径 CAPL浏览器的一节

  • 使用“包含”时,可以使用工作文件的相对路径,如下所示: #包括“SomeFile.cin”

    如果你需要升一级,你可以写 #包括“./SomeFile.cin”

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

    欢迎使用StackOverflow:如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,然后单击“代码示例”按钮({})在编辑器工具栏上,或者在键盘上使用Ctrl+K来很好地格式化和语法高亮显示它!我发现使用
    *.cin
    而不是
    *.can
    是一种常见的做法,以表明该文件是一种资源,而不是主脚本。这将有助于保持工作区的整洁和可读性。
    includes
    {
        #include "TEST\playground.can"
    }
    
    includes
    {
        #include ".\playground.can"
    }