周一至周五每天一人。周六周日每天二人。
 for i:=0 to 30 do 
 begin 内容
 end;完成示例:周一  人员一
      周二  人员二
      周三  人员三
      周四  人员四
      周五  人员五
      周六  人员六 人员七
      周日  人员八 人员九
      周一  人员十
      ........
      循环下去....一个月循环完

解决方案 »

  1.   


    var
      ResultList : TStringList;
      WeekInd,CurrDay : integer;
      PersonInd : String;
    ……
    for I := 1 to 30 do begin
      WeekInd := I div 9; //第几周,一周共9个人
      CurrDay := I mod 7; //周几
      if (CurrDay >= 1) and ((CurrDay <= 5)) then begin
        PersonInd := InttoStr(WeekInd * 9 + CurrDay);
      end else
      if (CurrDay = 6) then begin
        PersonInd := InttoStr(WeekInd * 9 + 6) + ',' + InttoStr(WeekInd * 9 + 7);
      end else 
      if (CurrDay = 0) then begin
        PersonInd := InttoStr(WeekInd * 9 + 8) + ',' + InttoStr(WeekInd * 9 + 9);
      end;
      ResultList.Add('第' + InttoStr(I) + '天,第' + PersonInd + '人'); 
    end;
      

  2.   

    delphi实现执勤表
      

  3.   

    原先InttoStr函数中的数值对13取余即可!
    细节你自己调整吧!
    呵呵!
      

  4.   

    var
      i,b,e,p:Integer;
      s:String;
    Begin
      b:=Trunc(dt1.date);
      e:=Trunc(dt2.date);
      //mans:array [0..12] of Tman;
      p:=0;
      for i:=b to do
      Begin
        s:='星期'+inttostr(DayOfWeek(i));
        s:=s+' '+mans[p].name;
        Inc(p);
        if DayOfWeek(i) in [6,0] then
        Begin
          s:=s+' '+mans[p].name;
          Inc(p);
        End;
        memo1.lines.add(s);
      End;
    End;
      

  5.   

    var
      i,b,e,p:Integer;
      s:String;
    Begin
      b:=Trunc(dt1.date);
      e:=Trunc(dt1.date);
      //mans:array [0..12] of Tman;
      p:=0;
      for i:=b to e do
      Begin
        s:='星期'+inttostr(DayOfWeek(i));
        s:=s+' '+mans[p].name;
        Inc(p); p:=p mod 13;
        if DayOfWeek(i) in [6,0] then
        Begin
          s:=s+' '+mans[p].name;
          Inc(p); p:=p mod 13;
        End;
        memo1.lines.add(s);
      End;
    End;
      

  6.   


    你测试我提供的代码了没?
    http://blog.csdn.net/simonhehe/article/details/8781504
    对不同月份和起始周都做了处理, delphi XE测试通过.
      

  7.   


    sorry,昨天没认真测试,今天重新试了下,完全满足要求。非常感谢,散分