91M2

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
//大七 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.

 

代码

 

最终运行效果

 根据当前月份动态生成日历

 

完整补丁+脚本下载地址

posted on 2016-06-24 17:33  大七七七七七七七  阅读(518)  评论(0编辑  收藏  举报