XQ complier 對於參數要求很難懂 為何不能帶入變數當成參數?

  •   172 
  • 最後發表   對馬戰鬼  2021 七月 13
對馬戰鬼 發文於   2021/07/11

hi 小幫手與先進大大

為何XS 內建函數 FILE 對於參數要求是字串

一個參數很明顯就是 字串, 當我帶入字串變數作為參數卻被拒絕了?   有任何解決辦法嗎?

我不太懂 XQ complier 的運作邏輯,多數的程式語言都能做到。是有任何考量嗎?

我只是想讓我的檔案名稱可以是股票名稱 FILE本身無法提供這樣功能。

 

 

程式碼:

if (symbol="2603.tw" or symbol="2609.tw" or symbol="2615.tw" ) then 

begin

var: filename("");  //是一個字串變數,初始值為"" (空白字串)

filename=text("C:\Users\artchen\Documents\XQ_output\",symbol,symbolname,"_",currentDate);

Print( File(filename), symbolname,"輸出啥都可以","xxx","YYY");  // <<<< 出錯了  Print歷史資料到CSV348函數 File:第 1 個參數應該是 String。

 retVal=1;   // 否則你就會輸出所有的公司 1700多家 這樣檔案太多

 

end;

XQ小幫手 發文於   2021/07/13

Hello 對馬戰鬼,

 

您可以參考 File 函數的說明。

所以只要修改成:

Print( File("C:\Users\artchen\Documents\XQ_output\[symbol][symbolname]_[currentdate].log"), symbolname,"輸出啥都可以","xxx","YYY");

即可有相同的效果。

 

關於字串變數無法作為參數的原因小幫手詢問工程師得到的答案是因為XS編輯器對路徑作一些合法性的檢查,而如果是變數的話在編譯期無法檢查。

感謝。

發表回覆
Close