掛號日期的問題,解決方案?? |
答題得分者是:領航天使
|
c905165
中階會員 ![]() ![]() ![]() 發表:50 回覆:120 積分:54 註冊:2002-09-29 發送簡訊給我 |
這是一個問題喔! 因為站上搜尋文章找不到相關解決的方法,所以來問站長,我相信這個問題一定難不倒站長(因為我看過站長的簡介)< >。如果有其他的網友有任何意見,我都很樂意接受。謝謝大家。 < > 因為我想試著改良一些對日期的算法和處理方式,如果能力夠的話。
------
有困難就是能力不足,有麻煩就是方法不對... 劣者總是遇到困難,也時常出現麻煩 |
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 這是一個問題喔! 因為站上搜尋文章找不到相關解決的方法,所以來問站長,我相信這個問題一定難不倒站長(因為我看過站長的簡介)< >。如果有其他的網友有任何意見,我都很樂意接受。謝謝大家。 < > 因為我想試著改良一些對日期的算法和處理方式,如果能力夠的話。c905165兄,感謝看得起站長, 您說:相信這個問題一定難不倒站長, 這樣站長也不好意思不回覆啦, 哈哈! 我的做法不同啦, 我是在掛號時去查看醫師排班表, 該日有醫師的班才可以掛該診間, 若當日當時段都無診間開診, 當然就不可以掛號! 1.先算出diagdate的dayofweek DecodeDate 得到Year,Month,Day,Week 從week去seek欄位dayofweek-1 從Month,Day去seek欄位month,dayofmonth 從Year,Month,Day去seek欄位date 以上三點若找到一點符合就不可掛號 2.用now()得到今天的datetime, 如:Today:TDateTime; Today:=now(); for i:=1 to 50 do begin // 檢查ToDay是否符合第一點的條件,才列出ToDay的日期 Today:=Today 1; end; ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
c905165
中階會員 ![]() ![]() ![]() 發表:50 回覆:120 積分:54 註冊:2002-09-29 發送簡訊給我 |
站長您好
站長言重了,只是我看到站長簡介裡就擺著掛號的系統,所以不要投石問路,直接來問有經驗的人...< >
(呵呵呵,不要聽到我這麼一講,趕快把畫面拿掉)< > 1.站長的方法是屬於偏向「窮舉法」,再利用窮舉出來的這一些條件,一個一個逐一做檢查。這的確是一個好的方法。而且又可以考慮到是否有排到醫師看診的問題。
2.其實我當初的思考掉進了一個死胡同,我想要直接利用select 和一些 and or 等等的邏輯運算就能夠挑出我要的列表。再用 delphi 來做一些後續的動作。
我現在明白了,應該利用程式來運算。感謝指點迷津。
以下是思考出來的一些心得而已,沒有什麼重點:
利用mysql的select current_date,就可以選出今天的日期,
date_add(current_date,interval n day)就可以挑出 n 天後的日期,
month(current_date)就可以挑出月份,
monthofday(current_date)就可以挑出「日」來,
其實光用 mysql 的 select 配合上邏輯運算就可以算出來答案。
只不過因為我也使用 delphi 在寫程式,發現站長提供的思考方向,果然讓我跳出了這個死胡同。
好了,我先來寫寫程式!!!
------
有困難就是能力不足,有麻煩就是方法不對... 劣者總是遇到困難,也時常出現麻煩 |
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 站長您好 站長言重了,只是我看到站長簡介裡就擺著掛號的系統,所以不要投石問路,直接來問有經驗的人...< > (呵呵呵,不要聽到我這麼一講,趕快把畫面拿掉)< > 1.站長的方法是屬於偏向「窮舉法」,再利用窮舉出來的這一些條件,一個一個逐一做檢查。這的確是一個好的方法。而且又可以考慮到是否有排到醫師看診的問題。 2.其實我當初的思考掉進了一個死胡同,我想要直接利用select 和一些 and or 等等的邏輯運算就能夠挑出我要的列表。再用 delphi 來做一些後續的動作。 我現在明白了,應該利用程式來運算。感謝指點迷津。 以下是思考出來的一些心得而已,沒有什麼重點: 利用mysql的select current_date,就可以選出今天的日期, date_add(current_date,interval n day)就可以挑出 n 天後的日期, month(current_date)就可以挑出月份, monthofday(current_date)就可以挑出「日」來, 其實光用 mysql 的 select 配合上邏輯運算就可以算出來答案。 只不過因為我也使用 delphi 在寫程式,發現站長提供的思考方向,果然讓我跳出了這個死胡同。 好了,我先來寫寫程式!!!您的方法也不錯喔! 不過站長比較傾向於各種資料庫都可以使用的情況下去寫軟體, 這樣程式才不會被資料庫綁住, 所以盡量都用標準指令, 也程式會比較累一點啦! 以上屬個人見解! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
懷舊的人
高階會員 ![]() ![]() ![]() ![]() 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |