//大七 2016年6月26日23:21:44 unit Q_MRQD; interface uses Classes, SysUtils, DateUtils; procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs); implementation procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs); begin Main2(Npc,Player,Args); end; procedure Main2(Npc: TNormNpc; Player: TPlayObject; Args: TArgs); const S = [[ %s %s %s %s %s %s %s\ <{I=$10;F=DaysSigned.Data}/@QD($10)> <{I=$11;F=DaysSigned.Data}/@QD($11)> <{I=$12;F=DaysSigned.Data}/@QD($12)> <{I=$13;F=DaysSigned.Data}/@QD($13)> <{I=$14;F=DaysSigned.Data}/@QD($14)> <{I=$15;F=DaysSigned.Data}/@QD($15)> <{I=$16;F=DaysSigned.Data}/@QD($16)>\ <{I=$20;F=DaysSigned.Data}/@QD($20)> <{I=$21;F=DaysSigned.Data}/@QD($21)> <{I=$22;F=DaysSigned.Data}/@QD($22)> <{I=$23;F=DaysSigned.Data}/@QD($23)> <{I=$24;F=DaysSigned.Data}/@QD($24)> <{I=$25;F=DaysSigned.Data}/@QD($25)> <{I=$26;F=DaysSigned.Data}/@QD($26)>\ <{I=$30;F=DaysSigned.Data}/@QD($30)> <{I=$31;F=DaysSigned.Data}/@QD($31)> <{I=$32;F=DaysSigned.Data}/@QD($32)> <{I=$33;F=DaysSigned.Data}/@QD($33)> <{I=$34;F=DaysSigned.Data}/@QD($35)> <{I=$35;F=DaysSigned.Data}/@QD($35)> <{I=$36;F=DaysSigned.Data}/@QD($36)>\ <{I=$40;F=DaysSigned.Data}/@QD($40)> <{I=$41;F=DaysSigned.Data}/@QD($41)> <{I=$42;F=DaysSigned.Data}/@QD($42)> <{I=$43;F=DaysSigned.Data}/@QD($43)> <{I=$44;F=DaysSigned.Data}/@QD($44)> <{I=$45;F=DaysSigned.Data}/@QD($45)> <{I=$46;F=DaysSigned.Data}/@QD($46)>\ <{I=$50;F=DaysSigned.Data}/@QD($50)> <{I=$51;F=DaysSigned.Data}/@QD($51)> <{I=$52;F=DaysSigned.Data}/@QD($52)> <{I=$53;F=DaysSigned.Data}/@QD($53)> <{I=$54;F=DaysSigned.Data}/@QD($54)> <{I=$55;F=DaysSigned.Data}/@QD($55)> <{I=$56;F=DaysSigned.Data}/@QD($56)>\ <{I=$60;F=DaysSigned.Data}/@QD($60)> <{I=$61;F=DaysSigned.Data}/@QD($61)> <{I=$62;F=DaysSigned.Data}/@QD($62)> <{I=$63;F=DaysSigned.Data}/@QD($63)> <{I=$64;F=DaysSigned.Data}/@QD($64)> <{I=$65;F=DaysSigned.Data}/@QD($65)> <{I=$66;F=DaysSigned.Data}/@QD($55)>\ ]]; var Year, Month, Day, Hour:Word; nWeek: integer; CurrentTime: TDateTime; y,i:integer; S1,S2: string; begin S1 := Format(S,['星期日','星期一','星期二','星期三','星期四','星期五','星期六']); DecodeDate(Now, Year, Month, Day); CurrentTime := StartOfTheMonth(Now); nWeek := DayOfWeek(StartOfTheMonth(Now))-1; if(nWeek > 0) then CurrentTime := IncDay(CurrentTime, -nWeek); y := 24; S2 := S1; for i := 1 to 6 do begin y := i * 48; for nWeek := 0 to 6 do begin y := i * 48; DecodeDate(CurrentTime, Year, Month, Day); debug(Format('$%d%d %s',[i,nWeek,Day.ToString])) ; s2 := ReplaceStr(S2, Format('$%d%d',[i,nWeek]),Day.ToString); CurrentTime := IncDay(CurrentTime, 1); end; end; Npc.Say(Player, S2 ); end; end. procedure QD(Npc: TNormNpc; Player: TPlayObject; Args: TArgs); begin Debug(Args.Str[0]); end; end.
代码
最终运行效果
根据当前月份动态生成日历