假设起始时间1959年,结束时间2004年,有一个combobox,里面包括年,季,月,天。如果选择的是年,请生成一个stringlist,里面的string分别是1959,1960,1961,...,2004.如果,选择的是季,那么stringlist里面的string是195903,195906,195909,195912,196003,196006,196009,196012,...,200412,如果选择的是月,那么stringlist里面的string是195901,195902,195903,195904,...200412,如果选择的是天那么stringlist里面的string是每年的每天,比如19590101,19590102,19590103,...,20041231(每个时间都是真实存在的,比如说其中的闰年二月的问题)。
请高手帮忙吖。在线等待答案,在线给分。
请高手帮忙吖。在线等待答案,在线给分。
var
tS: tstringlist;
intYear, intMonth, intDay, i: Integer;
begin
try
tS := tstringlist.Create; if ComboBox1.Text = '年' then
for intYear := 1959 to 2004 do
tS.Add(IntToStr(intYear)); if ComboBox1.Text = '季' then
for intYear := 1959 to 2004 do
for i := 1 to 4 do
tS.Add(IntToStr(intYear * 100 + i * 3)); if ComboBox1.Text = '月' then
for intYear := 1959 to 2004 do
for intMonth := 1 to 12 do
tS.Add(IntToStr(intYear * 100 + intMonth)); if ComboBox1.Text = '天' then
for intYear := 1959 to 2004 do
for intMonth := 1 to 12 do
for intDay := 1 to 31 do
if intDay <= DaysInMonth(EncodeDate(intYear,intMonth,1)) then
tS.Add(IntToStr((intYear * 100 + intMonth) * 10 + intDay));
except
tS.Free;
end;
end;
tS.Add(IntToStr((intYear * 100 + intMonth) * 100 + intDay));
你这问题不难