線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3149
推到 Plurk!
推到 Facebook!

請問如何判別週六在該月是單週或雙週...

答題得分者是:Zard
wwwbbs
初階會員


發表:41
回覆:59
積分:25
註冊:2003-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-01 17:41:32 IP:220.229.xxx.xxx 未訂閱
請問如何判別週六在該月是單週或雙週?也就是所謂的大禮拜或小禮拜。
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-02 01:23:34 IP:61.64.xxx.xxx 未訂閱
大禮拜, 小禮拜, 我從小到大好像沒聽人用過耶 < >, 還是我老了< > 你的意思是不是單數週 = 第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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-02 02:23:24 IP:220.229.xxx.xxx 未訂閱
謝謝Zard< > 至於大禮拜、小禮拜,是用台語翻過來的,國語好像沒聽過這樣說法,但是台語卻常聽到這種說法。例如幫我剪頭髮的那個阿桑就是這麼說的< >
系統時間:2024-06-30 11:30:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!