2016-03-02 81 views
2

首先:我使用UC4 - 對話框版本9.00A Build 234-162。Automic UC4腳本:將用戶輸入存儲到數組中

我試圖讀取可變數量輸入字段(通過:READ),並希望它們的值存儲到一個數組:

:DEFINE &FILE#, string, 10 
:PUBLISH &FILE#[], , "WORKFLOW" 

:BEGINREAD "Files" 
: READ &CNT#, , "Number of files", "3" 
:ENDREAD 

:SET &IDX# = 1 
:BEGINREAD "Files" 
: WHILE &IDX# LE &CNT# 
: SET &IDX# = ADD(&IDX#, 1) 
: READ &FILE#[&IDX#], ,"???" 
: ENDWHILE 
:ENDREAD 

問題是:現在,我發現了錯誤消息U0020310告訴我第一個參數:READ必須是一個變量。

問題:我錯過了什麼?是否不可能使用:用數組讀取?如果是這樣的話:我該如何解決這個問題?

回答

0

& CNT#必須是一個Variable對象(一個VARA對象)。所以你會把所有東西都讀入靜態的VARA對象中。

這可能比通過PREP_PROCESS命令循環。

+0

我不知道這個VARA對象如何幫助我創建一個具有動態數量輸入行的公式。這就是BEGINREAD塊中的WHILE循環所要做的。 所以......你願意給我一個例子嗎? 正如我所看到的,UC4不喜歡它不知道BEGINREAD塊開始處的每個READ命令的EXACT存儲位置的事實嗎? ,因爲:READ&FILE#[1],,「???」 工程就像一個魅力 - 但它不是我想要的... –

+0

請準確描述你想達到什麼,可能有一個更簡單的方法來做到這一點。 – Gambrinus

+0

是的,你說得對,以任何方式「動態」 - 如動態文件處理和動態迭代次數在運行時不起作用。 – Gambrinus

相關問題