奇狐社區論壇
在這個頁面顯示本主題全部的 5 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=25)
-- 救命ㄚ (http://www.chiefox.com.tw/bbs/showthread.php?threadid=5677)


由 dick414 在 2006-07-26 08:42 發表:

救命ㄚ

我也是升級後 原本用好好的東西 秀不出來了
我的公式也只有加加減減 只有這幾行用到 if
K:=If(F>0,If(J<20,1,Ref(K,1)),If(J>80,-1,Ref(K,1)));
NewK:=if(K=0,Ref(K,BARSLAST(K<>0)),K);
請問什麼叫用到無效數據ㄚ


由 cgjj 在 2006-07-26 09:05 發表:

公式不全, 請提供完整公式
若只有這幾行是不會出錯的

無效數據
若一個數列有效範圍是 10到100
若去存取位置 5 或 102 都會超過有效範圍
超過有效範圍的數據即無效數據


由 dick414 在 2006-07-26 09:12 發表:

再問

如果公式 按編譯公式 是通過的 為何還會出錯


由 cgjj 在 2006-07-26 09:17 發表:

因為編譯並無法檢查出執行時期的錯


由 cgjj 在 2006-07-26 13:16 發表:

您的問題在此

J:=(I/G)*100;
K:=If(F>0,If(J<20,1,Ref(K,1)),If(J>80,-1,Ref(K,1)));

先前程式未定義 K
故 K 為無效變數
導致後續結果均變無效變數, 所以才不會輸出
加入紅色這行後就正常嚕

J:=(I/G)*100;
K:=0;
K:=If(F>0,If(J<20,1,Ref(K,1)),If(J>80,-1,Ref(K,1)));


全部時間均為台灣時間, 現在時間為10:03
在這個頁面顯示本主題全部的 5 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.