我有一个脚本可以保存给定位置的一些文件。它工作正常,但当我将此代码发送给其他人时,他必须更改代码中的路径。对于那些不知道该代码中的内容并且每次都要在何处以及如何更改代码时进行解释的人来说,这是不舒服的。
我想在一个变量中获取此路径,该变量将从配置文件中获取。因此,每个人都可以更轻松地更改此配置文件,而不是我的代码中的任何内容。但我以前从未这样做过,也无法找到有关我如何在互联网上做到这一点的任何信息。
PS:我没有任何代码,我问的是一个终极解决方案,但在互联网上找到关于dxl的好东西真的很难,特别是因为我是新手。也许有人已经这样做了,或者知道如何做到这一点?答案 0 :(得分:1)
DXL有一个perm来将文件的完整上下文读入变量:string readFile(string)(或Buffer readFile(string))
您可以通过\ n拆分输出,然后使用正则表达式查找与该模式匹配的所有行
^\s*([^;#].*)\s*=\s*(.*)\s*$
(即key = value - 注释行以;或#)
但在DOORS中,我更喜欢使用DOORS模块作为配置模块。对象标题可以是键,对象文本可以是值。 将配置模块的全名硬编码到DXL文件中,用户可以修改应用程序的行为。 与文件相比,优势在于您无需假设配置文件存储在文件系统中的位置。
答案 1 :(得分:0)
这实际上取决于你的情况。您将需要更具体地了解“他们需要更改代码中的路径”的含义。这些途径是什么?它们是DOORS模块路径,它们是本地/网络文件的路径,还是完全不同的东西?
与user3329561一样,您可以使用DOORS模块作为配置文件。我不推荐它,因为那不是DOORS模块的设计目的。 DOORS完全能够一次读取一行中的系统文件,但我不能推荐该选项,直到我知道您要加载哪种类型的路径以及为什么。
我怀疑有一个更好的解决方案可以解决您的问题,一旦提供更多信息就会出现。
答案 2 :(得分:0)
我遇到了同样的问题,我需要指定 dxl脚本中使用的配置文件的路径。
我解决了这个问题,将目录路径作为参数传递给DOORS.exe,如下所示:
"...\DOORS\9.3\bin\doors.exe" -dxl "string myVar = \"Hello Word\"
然后在我的dxl脚本中,变量myVar是全局变量。