var dateList:Array of string; dateBetween:Integer; I:Integer; s:string; begin dateBetween:=daysBetween(strtodatetime('2007-12-28'),strtodatetime('2008-01-02')); setlength(dateList,dateBetween+1); for I:=0 to dateBetween do begin s:=formatdatetime('yyyy-mm-dd',incday(strtodatetime('2007-12-28'),I)); dateList[I]:=s; end; .... setlength(dateList,0); end;
var dateStr: array of string; i,count: Integer; Date1, Date2: TDate; begin count := DaysBetween(Date1, Date2); SetLength(dateStr, count); for i := 0 to count - 1 do dateStr[i] := FormatDateTime('yyyy-mm-dd', Date1 + i);
var ObjTmp : TMkt_Highbar_Header; i,ICount :Integer; TotalCol: array of Integer; strTmp:string; ArrayOfDays: array of String; ArrayOfFieldNames: array of String; ArrList: array of string; begin inherited; if bedtStart_Date.Text ='' then begin msgBox('开始日期不能为空!'); Exit; end; if bedtEnd_Date.Text = '' then begin msgBox('结束日期不能为空!'); Exit; end; dgView.ClearStringGrid(2);
iCount := DayOf(StrToDate(bedtEnd_Date.Text)) - DayOf(StrToDate(bedtStart_Date.Text)); SetLength(ArrList, iCount); for iCount := 0 to iCount - 1 do begin ArrList[iCount] := IntToStr(iCount); //for i:=0 to StrToint(bedtEnd_Date.Text)-StrToint(bedtStart_Date.Text) do
dateList:Array of string;
dateBetween:Integer;
I:Integer;
s:string;
begin
dateBetween:=daysBetween(strtodatetime('2007-12-28'),strtodatetime('2008-01-02'));
setlength(dateList,dateBetween+1);
for I:=0 to dateBetween do
begin
s:=formatdatetime('yyyy-mm-dd',incday(strtodatetime('2007-12-28'),I));
dateList[I]:=s;
end;
....
setlength(dateList,0);
end;
dateStr: array of string;
i,count: Integer;
Date1, Date2: TDate;
begin
count := DaysBetween(Date1, Date2);
SetLength(dateStr, count);
for i := 0 to count - 1 do
dateStr[i] := FormatDateTime('yyyy-mm-dd', Date1 + i);
ObjTmp : TMkt_Highbar_Header;
i,ICount :Integer;
TotalCol: array of Integer;
strTmp:string;
ArrayOfDays: array of String;
ArrayOfFieldNames: array of String;
ArrList: array of string;
begin
inherited;
if bedtStart_Date.Text ='' then
begin
msgBox('开始日期不能为空!');
Exit;
end;
if bedtEnd_Date.Text = '' then
begin
msgBox('结束日期不能为空!');
Exit;
end;
dgView.ClearStringGrid(2);
iCount := DayOf(StrToDate(bedtEnd_Date.Text)) - DayOf(StrToDate(bedtStart_Date.Text));
SetLength(ArrList, iCount);
for iCount := 0 to iCount - 1 do
begin
ArrList[iCount] := IntToStr(iCount);
//for i:=0 to StrToint(bedtEnd_Date.Text)-StrToint(bedtStart_Date.Text) do
ArrayOfDays[iCount]:=IntToStr(MonthOf(StrToDate(bedtStart_Date.Text)))+IntToStr(DayOf(StrToDate(bedtStart_Date.Text)));
ArrayOfFieldNames[iCount]:='No'+IntToStr(iCount); end;
//产生动态列
dgView.ColCount := (dgView.ColCount-3) + (High(ArrayOfDays) - Low(ArrayOfDays) +1) ;
for ICount := Low(ArrayOfDays) to High(ArrayOfDays) do
begin
dgView.Columns[ICount + 12].Title.PCaption := '报表上报';
dgView.Columns[ICount + 12].Title.Caption := ArrayOfDays[ICount];
dgView.Columns[ICount + 12].FieldName := ArrayOfFieldNames[ICount];
dgView.Columns[ICount + 12].DisplayMask := '###,##0.####';
dgView.Columns[ICount + 12].Format := cfNumber;
dgView.Columns[ICount + 12].Alignment := taRightJustify;
dgView.UseMultiTitle := False;
dgView.UseMultiTitle := True;
end;
为什么程序运行到红色处就出错!