jiuhtsair 發表於 12-5-21 20:59

有關日期的寫法

想請教各位大大:
       小弟想寫一個程式,架構如下:
       if Var0=三天前日期 then begin
      ...........
       end;
      
      if Var0=兩天前日期 then begin
      .......
      end;

       if Var0=昨天日期 then begin
      .......
      end;

       if Var0=今天日期 then begin
      .......
      end;

      請問...這些日期要如何寫進去?
      感恩!
   

mewmi 發表於 12-5-21 21:18

基本上.. 要取前一個變數的資料用.. 前兩個用..
所以..
今天日期 Date
昨天日期 Date
前二日    Date
前三日    Date...
但這有個問題.. 就是以上的取Date方式只能用在日K..
因為變數是每根K都會更新一次.. 所以當你放在小於日K上時.. Date 可能就只是前一根K的日期..
所以 Date 要有用.. 就必須在每天開盤的第一根K 做處理記錄下來... 或是在當時做你要做的事..
以你的 if 條件看來.. 一次應該只會有一個條件成立.. 而且都是判斷var0.. 那我建議可以用 switch case 來寫..
如下..

Var:
      Var0(0),
      VarDay(0);

if Date <> Date then begin
      VarDay = Day;

      switch (Var0) begin
                case VarDay: begin
                end;

                case VarDay: begin
                end;

                case VarDay: begin
                end;

                case VarDay: begin
                end;
      end;
end;

希望如你所須.. {:4_196:}

jiuhtsair 發表於 12-5-21 21:22

本帖最後由 jiuhtsair 於 12-5-21 21:28 編輯

感恩!太感恩了!{:4_161:}
原先一直在For 裡面打轉...轉不出來....{:4_155:}

mewmi 發表於 12-5-21 21:34

ㄟ.. 不過我不確定case target可不可以用變數.. 你試試看吧..

jiuhtsair 發表於 12-5-21 22:07

mewmi 發表於 12-5-21 21:34 static/image/common/back.gif
ㄟ.. 不過我不確定case target可不可以用變數.. 你試試看吧..

感謝大大!
我把程式編譯後,有一些小錯誤:
1.day似乎不對..沒有這指令..只有Date..
2.在Switch中似乎不能用var0...小弟查了指令
      Switch(數值表達式或字串表達式)
      begin
      case數值或字串;
      陳述式;
      ....
   end;

還是感謝!{:4_199:}


jo5918 發表於 12-5-21 22:58

jiuhtsair 發表於 12-5-21 21:22 static/image/common/back.gif
感恩!太感恩了!
原先一直在For 裡面打轉...轉不出來....

coco裡頭 高手如雲
而且熱心者不在少數
您 有福啦
{:4_153:}

自戀橘子熊 發表於 12-5-21 23:22

M大好強你是程式設計師媽
{:4_176:}

mewmi 發表於 12-5-22 08:50

jiuhtsair 發表於 12-5-21 22:07 static/image/common/back.gif
感謝大大!
我把程式編譯後,有一些小錯誤:
1.day似乎不對..沒有這指令..只有Date..


不好意思.. 不是Day 是 Date沒錯..
Var0 一定可以用的.. 我不知道你是如何用的..
不好意思所以我也不知道你的狀況是如何.. {:4_120:}

mewmi 發表於 12-5-22 08:51

自戀橘子熊 發表於 12-5-21 23:22 static/image/common/back.gif
M大好強你是程式設計師媽

我不強.. 只是會寫程式而已.. {:4_90:}

mewmi 發表於 12-5-22 09:01

jiuhtsair 發表於 12-5-21 22:07 static/image/common/back.gif
感謝大大!
我把程式編譯後,有一些小錯誤:
1.day似乎不對..沒有這指令..只有Date..


不好意思.. 我想問題應該是出在 case VarDay: begin
應該不能這樣用..
這樣我們還是可以用一個比較複雜但一定可行的方法..
就是用 dayofyear dayofmonth dayofweek 等含數取出第幾日..
然後與今日相減就知道是哪一天了..
有空盤後我在寫看看.. {:4_160:}


jiuhtsair 發表於 12-5-22 09:02

mewmi 發表於 12-5-22 08:50 static/image/common/back.gif
不好意思.. 不是Day 是 Date沒錯..
Var0 一定可以用的.. 我不知道你是如何用的..
不好意思所以我也不知道 ...

想請教大大...
"    switch (Var0) begin"的意思是什ㄇ?

小弟在編譯過程中,出現

------ 編譯時產生錯誤: ------
is not recognized
errLine 12, errColumn 16, errLineEnd 12, errColumnEnd 20
編譯錯誤:(函數)
游標停在var0這個變數上...

感謝!{:4_199:}


自戀橘子熊 發表於 12-5-22 09:04

mewmi 發表於 12-5-22 08:51 static/image/common/back.gif
我不強.. 只是會寫程式而已..

會寫程式已經夠人羨慕的了{:4_82:}
不知道可不可以教一下

jiuhtsair 發表於 12-5-22 09:05

mewmi 發表於 12-5-22 09:01 static/image/common/back.gif
不好意思.. 我想問題應該是出在 case VarDay: begin
應該不能這樣用..
這樣我們還是可以用一個比較複 ...

感謝大大!感謝!{:4_160:}

mewmi 發表於 12-5-22 14:10

jiuhtsair 發表於 12-5-22 09:05 static/image/common/back.gif
感謝大大!感謝!

Var0 是依你的問題所用的..
因為你寫 if Var0 = 今天日期..
所以我就用 switch (Var0) 來做成你if 的架構..
因此你在 if 之前應該就會設定 Var0.. 才能做比較..

我不知道你這個東西是.. 函數, 指標, 訊號.. 的哪一個..
資訊有限.. 很抱歉我也不知道要用哪種做法才適合.. {:4_155:}

mewmi 發表於 12-5-22 14:12

自戀橘子熊 發表於 12-5-22 09:04 static/image/common/back.gif
會寫程式已經夠人羨慕的了
不知道可不可以教一下

會不會寫程式不重要.. 重要的是會把錢從市場上賺回來.. {:4_89:}
你想學什麼樣的程式呢? {:4_144:}
頁: [1] 2 3
查看完整版本: 有關日期的寫法