一个有点复杂的算法问题,很头痛,三个Combobox,三个Combobox,一个edit分别是用于选择年月日时,请问如何知道是否与当前时间相符?三者可以任意组合

  • 主题发起人 主题发起人 陆波
  • 开始时间 开始时间

陆波

Unregistered / Unconfirmed
GUEST, unregistred user!
一个有点复杂的算法问题,很头痛,三个Combobox,三个Combobox,一个edit分别是用于选择年月日时,请问如何知道是否与当前时间相符?三者可以任意组合啊 ( 积分: 200 )<br />一个有点复杂的算法问题,很头痛,三个Combobox,一个edit分别是用于选择年月日时,请问如何知道是否与当前时间相符?
三者可以任意组合啊,例如,1。今天是不是8月3日(代表年的Combobox不选取)。
2,今天是不是2008年的每月1日(代表月的Combobox不选取);
3,今天是不是1号?(只选代表日的Combobox)
4,其它组合:年月时,年时,月时。。。。
 
看不明白,到底想要什么效果呢
 
很简单呀,判断当combobox选择为空时,把它赋值现在时间的年、月、日,然后三个combobox的值组合起来与当前时间比较就行了.
 
楼上说的完全正确。
这个问题太简单啦。
 
function TForm1.IsEqualNow: Boolean;
var
TimeNow: TDateTime;
Year, Month, Day, Hour, Min, Sec: Word;
begin
Result := False;
TimeNow := Now;
DecodeDate(TimeNow, Year, Month, Day);
DecodeTime(TimeNow, Hour, Min, Sec);
if (ComboBox1.Text <> '') and (ComboBox1.Text <> IntToStr(Year)) then
Exit;
if (ComboBox2.Text <> '') and (ComboBox2.Text <> IntToStr(Month)) then
Exit;
if (ComboBox3.Text <> '') and (ComboBox3.Text <> IntToStr(Day)) then
Exit;
if (Edit1.Text <> '') and (Edit1.Text <> IntToStr(Hour)) then
Exit;
Result := True;
end;
 
其实我也想到了,只是已提出了,就分分吧!
 
多人接受答案了。
 
后退
顶部