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

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 求助寫法 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=13067)


由 chair6408141785 在 2010-02-07 07:59 發表:

求助寫法

DE:=DATE; TE:=hour*60+minute;

DESP:=BARSSINCE(DE=ref(DE,1));
if lbound(DESP)>0 then begin
KTimeSP:=TE-ref(TE,1);
KTimeSP:=KTimeSP[datacount-DESP[datacount]];
end else begin
KTimeSP:=-1;
exit;
end;
if KTimeSP =1 then Begin //1 - 4 MIN
N1:=10; N2:=20;N3:=30; N4:=40;
end else if KTimeSP = 2then begin
N1:=10; N2:=20;N3:=30; N4:=40;
end else if KTimeSP = 3then begin
N1:=10; N2:=20;N3:=30; N4:=40;
end else if KTimeSP = 4then begin
N1:=10; N2:=20;N3:=30; N4:=40;

end else if KTimeSP = 5 then begin //5 -20 MIN
N1:=20; N2:=30;N3:=40; N4:=50;
end else if KTimeSP = 6 then begin
N1:=20; N2:=30;N3:=40; N4:=50;
end else if KTimeSP = 7then begin
N1:=20; N2:=30;N3:=40; N4:=50;
end else if KTimeSP = 8then begin
N1:=20; N2:=30;N3:=40; N4:=50;
end else begin
N1:=0; N2:=0;N3:=0; N4:=0;
end;

VA:MA(C,N1),COLORFFFF00; VB:MA(C,N2),COLORFF9933; VC:MA(C,N3),COLORFFFFFF; VD:MA(C,N4),COLOR3366CC;

可以簡化嗎


由 cgjj 在 2010-02-07 16:31 發表:

回覆: 求助寫法

引用:
最初由 chair6408141785 發表
DE:=DATE; TE:=hour*60+minute;

DESP:=BARSSINCE(DE=ref(DE,1));
if lbound(DESP)>0 then begin
KTimeSP:=TE-ref(TE,1);
KTimeSP:=KTimeSP[datacount-DESP[datacount]];
end else begin
KTimeSP:=-1;
exit;
end;
if KTimeSP =1 then Begin //1 - 4 MIN
N1:=10; N2:=20;N3:=30; N4:=40;
end else if KTimeSP = 2then begin
N1:=10; N2:=20;N3:=30; N4:=40;
end else if KTimeSP = 3then begin
N1:=10; N2:=20;N3:=30; N4:=40;
end else if KTimeSP = 4then begin
N1:=10; N2:=20;N3:=30; N4:=40;

end else if KTimeSP = 5 then begin //5 -20 MIN
N1:=20; N2:=30;N3:=40; N4:=50;
end else if KTimeSP = 6 then begin
N1:=20; N2:=30;N3:=40; N4:=50;
end else if KTimeSP = 7then begin
N1:=20; N2:=30;N3:=40; N4:=50;
end else if KTimeSP = 8then begin
N1:=20; N2:=30;N3:=40; N4:=50;
end else begin
N1:=0; N2:=0;N3:=0; N4:=0;
end;

VA:MA(C,N1),COLORFFFF00; VB:MA(C,N2),COLORFF9933; VC:MA(C,N3),COLORFFFFFF; VD:MA(C,N4),COLOR3366CC;

可以簡化嗎



中間部份可簡化為
原碼:

if KTimeSP>=and KTimeSP<=4 then Begin
  N1
:=10N2:=20;N3:=30N4:=40
end else if KTimeSP>=and KTimeSP<=8 then begin
  N1
:=20N2:=30;N3:=40N4:=50
end else begin
  N1
:=0N2:=0;N3:=0N4:=0
end;


由 chair6408141785 在 2010-02-07 19:09 發表:

回覆: 回覆: 求助寫法

引用:
最初由 cgjj 發表
中間部份可簡化為
原碼:

if KTimeSP>=and KTimeSP<=4 then Begin
  N1
:=10N2:=20;N3:=30N4:=40
end else if KTimeSP>=and KTimeSP<=8 then begin
  N1
:=20N2:=30;N3:=40N4:=50
end else begin
  N1
:=0N2:=0;N3:=0N4:=0
end;




謝謝指導


由 chair6408141785 在 2010-02-08 10:27 發表:

回覆: 回覆: 回覆: 求助寫法

引用:
最初由 chair6408141785 發表
謝謝指導

DE:=DATE; TE:=hour*60+minute;

DESP:=BARSSINCE(DE=ref(DE,1));

if lbound(DESP)>0 then begin
KTimeSP:=TE-ref(TE,1);
KTimeSP:=KTimeSP[datacount-DESP[datacount]];
end else begin
KTimeSP:=-1;
exit;
end;

if KTimeSP>=1 and KTimeSP<=4 then Begin
N1:=50; N2:=100;N3:=200; N4:=300; //KTimeSP>=1 and KTimeSP<=4

end else if KTimeSP>=5 and KTimeSP<=30 then begin
N1:=15; N2:=30N3:=45 N4:=60; //

end else if KTimeSP>=31 and KTimeSP<=100 then begin
N1:=10; N2:=20;N3:=30; N4:=40; //

end else if KTimeSP>=101 and KTimeSP<=300 then begin
N1:=5; N2:=10;N3:=20; N4:=30; //

end else if datatype = 6 then Begin
N1:=5; N2:=10;N3:=20; N4:=30; //日

end else if datatype = 7 then Begin
N1:=3; N2:=6;N3:=15 N4:=20; //週

end else if datatype = 8 then Begin
N1:=2; N2:=4;N3:=7; N4:=10; //月

end else begin
N1:=0; N2:=0;N3:=0; N4:=0; //其它週期
end;

是那裡有錯
請求指導


由 cgjj 在 2010-02-08 11:59 發表:

end else if KTimeSP>=5 and KTimeSP<=30 then begin
N1:=15; N2:=30N3:=45 N4:=60; //
改為
end else if KTimeSP>=5 and KTimeSP<=30 then begin
N1:=15; N2:=30;N3:=45; N4:=60; //


end else if datatype = 7 then Begin
N1:=3; N2:=6;N3:=15 N4:=20; //週
改為
end else if datatype = 7 then Begin
N1:=3; N2:=6;N3:=15; N4:=20; //週


由 chair6408141785 在 2010-02-08 13:45 發表:

引用:
最初由 cgjj 發表
end else if KTimeSP>=5 and KTimeSP<=30 then begin
N1:=15; N2:=30N3:=45 N4:=60; //
改為
end else if KTimeSP>=5 and KTimeSP<=30 then begin
N1:=15; N2:=30;N3:=45; N4:=60; //


end else if datatype = 7 then Begin
N1:=3; N2:=6;N3:=15 N4:=20; //週
改為
end else if datatype = 7 then Begin
N1:=3; N2:=6;N3:=15; N4:=20; //週



我沒有眼花吧
怎麼沒改到吧


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


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

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