如何用陣列/迴圈 輸入input?

  •   174 
  • 最後發表   Rayxq  2024 四月 18
Rayxq 發文於   2024/04/18

以下是contract1~5 內容是上週選擇權的履約價
會先這樣input是會在之後的跨商品帶入數值//GetSymbolField(contract1, "收盤價" )

contract1("TXON04C20200.TF")為例
我希望只取出他的履約價 也就是"20200" 作為數值計算
用變數時可以正常帶入

contractPrice01=MidStr(contract01,8,5);  //擷取履約價文字"20200"

contractNum01=strtoNum(contractPrice01); //將文字轉為"數值20200"
但是input數量多時程式碼長很眼花
因此想用for迴圈處理

但是在for迴圈 時 用 text("contract",j)
陣列會被存為"文字" 且 MidStr(contract1,8,5) 會變成 "t1"//"contract1"沒有被作為input帶入
又將陣列存成"數值"時  MidStr錯誤(參數1不是文字)

還請小幫手協助

inputs:

contract1("TXON04C20200.TF"),

contract2("TXON04C20150.TF"),

contract3("TXON04C20100.TF"),

contract4("TXON04C20050.TF"),

contract5("TXON04C20000.TF"),

 

arrays:contName[5](""),contNum[5](0);

var:i(1),j(1);

for j = 1 to 2

contName[j]=(text("contract",j);

end;

for i = 1 to 2

begin

contNum[i]=strtoNum(MidStr(contName[j],8,5));

排序方式: 標準 | 最新
XS小編 發文於   2024/04/18

 Hello Rayxq,

 

就小編所知無法直接用 input 宣告陣列,但可以使用陣列來保存 input 宣告的值。

可參考 input、陣列與for 這篇文章。

但需注意的是這樣作的話 GetSymbolField 還是要傳入 input 的參數而不能使用陣列裡面保存的值。

  • 按讚來自於
  • zasx0929
Rayxq 發文於   2024/04/18

了解 
input值不能用陣列的值代入有點可惜 我再努力看看

發表回覆
Close