如何判定國定假日 |
尚未結案
|
tea15
初階會員 ![]() ![]() 發表:64 回覆:72 積分:27 註冊:2005-06-15 發送簡訊給我 |
你們好..
由這個程式,我還加一個判斷點,就是判斷國定假日的..
條件一樣,但我必須在往前一天或往後一天再加上一個判斷是否為國定假日…
然後跳過國定假日,當然還是要判斷是否為週末.
以下是我的程式碼 private
{ Private declarations }
d:integer;
e,f:string;
a:word;
Function MyWorkDate(InDate : TDate) : TDate;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin datetimepicker1.Date:=EncodeDate(strtoint(copy(edit1.Text,1,4)),strtoint(copy(edit1.Text,5,2)),strtoint(copy(edit1.Text,7,2)));
Edit2.Text:=DateToStr(MyWorkDate(DateTimePicker1.Date));
e:=datetostr(datetimepicker1.Date);
f:=copy(e,5,4);
end;
Function Tform1.MyWorkDate(InDate : TDate) : TDate;
var
DOW :word;
R : TDate;
begin
d:=1;
R := InDate;
DOW := DayOfTheWeek(R);
if RadioButton1.Checked then
if (f='0101') or (f='0102')or (f='0228') then
R := InDate-d;
begin
Case DOW of
6 : R := InDate -1; //變成本周星期五
7 : R := InDate -2; //變成本周星期五
1 : R := InDate -3; //變成本周星期五
else
R := InDate-d; //都向後推一天
end;
Case DOW of
6 : R := InDate -1; //變成本周星期五
7 : R := InDate -2; //變成本周星期五
1 : R := InDate -3; //變成本周星期五
else
R := InDate-d; //都向後推一天
end;
end;
label1.caption := '星期' IntToStr(DayOfTheWeek(R));
Result := R;
end;
|
chris_shieh
高階會員 ![]() ![]() ![]() ![]() 發表:46 回覆:308 積分:240 註冊:2004-04-26 發送簡訊給我 |
您的意思不太清楚
不過MyWorkDate這一段有點問題 ,我猜你是要寫成這樣
function Tform1.MyWorkDate(InDate: TDate): TDate; var DOW: word; R: TDate; begin d := 1; R := InDate; if RadioButton1.Checked then begin if (f = '0101') or (f = '0102') or (f = '0228') then R := InDate - d; DOW := DayOfTheWeek(R); case DOW of 6: R := InDate - 1; //變成本周星期五 7: R := InDate - 2; //變成本周星期五 1: R := InDate - 3; //變成本周星期五 else R := InDate - d; //都向後推一天 end; end; label1.caption := '星期' IntToStr(DayOfTheWeek(R)); Result := R; end;@瞭解越多.懂得越少@ |
tea15
初階會員 ![]() ![]() 發表:64 回覆:72 積分:27 註冊:2005-06-15 發送簡訊給我 |
|
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi tea15, Hope helpful !! http://delphi.ktop.com.tw/loadfile.php?TOPICID=24424968&CC=546252
------
Fishman |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |