請問如何判別週六在該月是單週或雙週... |
答題得分者是:Zard
|
wwwbbs
初階會員 ![]() ![]() 發表:41 回覆:59 積分:25 註冊:2003-05-23 發送簡訊給我 |
|
Zard
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
大禮拜, 小禮拜, 我從小到大好像沒聽人用過耶 < >, 還是我老了< >
你的意思是不是單數週 = 第1, 3個禮拜, 雙數週 = 第2, 4個禮拜...
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Memo2: TMemo; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; // 不考慮潤年下每個月的天數. DaysOfMonth: array[1..12] of Integer = ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ); implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var iDayOfWeek, iYear, iMonth, iDay, n, i: Integer; begin iYear := 2005; iMonth := StrToInt(Edit1.Text); // DayOfWeek的回傳值星期日 = 1, 星期一 = 2.....星期六 = 7. // 計算某年某月的一號是星期幾 iDayOfWeek := DayOfWeek(StrToDate(Format('%d/%d/1', [iYear, iMonth]))); if iDayOfWeek = 7 then begin // 該月1號是星斯六 // 該月1, 8, 15 ,22, 29 為星期六, 其中1, 15, 29號為單週, // 8, 22為雙週 Memo1.Lines.Clear; Memo1.Lines.Add('本月單週星期六'); Memo1.Lines.Add('1號'); Memo1.Lines.Add('15號'); Memo1.Lines.Add('29號'); Memo2.Lines.Clear; Memo2.Lines.Add('本月雙週星期六'); Memo2.Lines.Add('8號'); Memo2.Lines.Add('22號'); end else begin // 第一個星期六為 n = 1 (7 - iDayOfWeek) // 接下來的星期六為 n 7, n 14, n 21...... // // 例如, 2005年2月1日是星期二, iDayOfWeek = 3, // 該月第一個星期六為 1 (7 - 3) = 5號, 接下來的 // 星期六為 12, 19, 26號, 其中5, 19號為單週, 12, 26為雙週. n := 1 (7 - iDayOfWeek); i := 0; Memo1.Lines.Clear; Memo1.Lines.Add('本月單週星期六'); Memo2.Lines.Clear; Memo2.Lines.Add('本月雙週星期六'); for i := 0 to 4 do begin iDay := n (7 * i); if iDay > DaysOfMonth[iMonth] then break; if i mod 2 = 1 then begin // 本月雙週星期六 Memo2.Lines.Add(IntToStr(iDay) '號'); end else begin // 本月單週星期六 Memo1.Lines.Add(IntToStr(iDay) '號'); end; end; end; end; end. |
wwwbbs
初階會員 ![]() ![]() 發表:41 回覆:59 積分:25 註冊:2003-05-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |