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

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [問題]關於IF問題 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=2337)


由 sppcsf 在 2005-01-15 18:28 發表:

問題 [問題]關於IF問題

FOR I=1 TO 8 DO
BEGIN
TJ:=FILTER(BACKSET(ISLASTBAR,I*15),I*15);
STICKLINE(TJ ,0,8,0,0),COLORMAGENTA;
END
想劃八條縱線,卻只劃最後一條,有請版主解惑,謝謝


由 cgjj 在 2005-01-17 09:26 發表:

回覆: [問題]關於IF問題

引用:
最初由 sppcsf 發表
FOR I=1 TO 8 DO
BEGIN
TJ:=FILTER(BACKSET(ISLASTBAR,I*15),I*15);
STICKLINE(TJ ,0,8,0,0),COLORMAGENTA;
END
想劃八條縱線,卻只劃最後一條,有請版主解惑,謝謝



這程式是用 4.0 版寫的
對同一變數重複設定只會輸出最後的結果

想想看
迴圈雖然跑8次, 每次帶入的 I 計算出的TJ都不一樣
8次跑完後,TJ只存放最後一次的結果
畫線是以TJ的數值畫, 所以只輸出最後一條

奇狐變數輸出有其獨特的特性
不能用一般程式語言來看待它


由 sppcsf 在 2005-01-18 11:02 發表:

variable:zq[1]:=datacount,
zq[2]:=datacount-15,
zq[3]:=datacount-30;
for i=1 to 3 do
stickline(barpos=zq[i],0,8,0,0);
結果仍是只劃最後一條線
請教版主或高手是否有更簡易的方式?


由 cgjj 在 2005-01-18 11:30 發表:

這是最簡便的寫法
LL:=C*0;
LL[datacount]:=1;
LL[datacount-15]:=1;
LL[datacount-30]:=1;
stickline(LL,0,8,0,0);

原理是設置一個空陣列 (值都為0)
把要劃線的地方標示 (值設為1)
再帶入 stickline 命令即可

另外要麻煩你, 4.0版尚未正式推出前
請先用 來電 或 E-MAIL 存問4.0版問題
暫時先不要於公開論壇詢問
敬請配合, 謝謝!


由 sppcsf 在 2005-01-18 16:23 發表:

謝謝版主的解說
也會遵守版規
再一次謝謝


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


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

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