求一简单函数(100)

  • 主题发起人 主题发起人 siking
  • 开始时间 开始时间
S

siking

Unregistered / Unconfirmed
GUEST, unregistred user!
求某个月共有几个星期6,如2009年3月就有4个
 
先算出该月第一天是星期几(好像是Dayofweek吧)然后算出这个月有多少天~ (下个月1号减去这月1号)~ 试试~
 
兄弟,瑞星报有病毒啊http://viruslist.rising.com.cn/viruslist.asp?id=1311334&lan=0936
 
function Get(YM:Integer
Week:Integer):Integer;Const Data :array [1..7] of Integer=(2,3,4,5,6,0,1);var D1,d2:TDate
I:Integer;begin Result:=0
D1:= EncodeDate(YM Div 100, YM Mod 100, 1)
D2:= IncMonth(D1,1)-1
I:= Trunc(D1)
While I<=Trunc(D2) Do Begin if (I Mod 7)= Data[Week] then begin Inc(Result)
Inc(I,7)
end else Inc(I, (Data[Week]+7 - (I Mod 7))Mod 7)
End;end;或者function Get(YM:Integer
Week:Integer):Integer;Const Data :array [1..7] of Integer=(2,3,4,5,6,0,1);var D1:TDate
First:Integer;begin D1:= EncodeDate(YM Div 100, YM Mod 100, 1)
First:= Trunc(D1) + ((Data[Week]+7 - (Trunc(D1) Mod 7)) Mod 7)
Result := ((Trunc( IncMonth(D1,1)-1 )-First) Div 7)+1;end;procedure TForm1.Button1Click(Sender: TObject);begin Caption:= inttostr(Get(200903,6))
//第二个参数为1..7end;
 
是因为用了EncodeDate这个函数,瑞星是不是要把delphi赶尽杀绝
 
不能说明我程序是病毒,只能说瑞星乱报。把代码发给瑞星,让他们做分析吧。
 
给你提供了2个函数了,呵呵,给分吧,其它的我就不用关心啦,至于EncodeDate引起的瑞星乱报,你有能力解决的。
 
给分了,谢谢2位
 
后退
顶部