Показать сообщение отдельно
  #15  
Старый 05.03.2013, 14:29
Аватар для agent_mariya
agent_mariya agent_mariya вне форума
Прохожий
 
Регистрация: 05.03.2013
Сообщения: 25
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aristarh Dark
Ну как дети, чес-слово.
Код:
Код:
uses
  DateUtils;

function GetDecimal(Value:string):Integer;
var
  sResult:string;
  i: Integer;
begin
  sResult:='';
  for i := 1 to Length(Value) do
    if CharInSet(Value[i],['0'..'9']) then
      sResult:=sResult+Value[i];
  Result:=StrToIntDef(sResult,0);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);

begin
  if Pos(AnsiUpperCase('дн'),AnsiUpperCase((Sender as TComboBox).Text))>0 then
    DateTimePicker1.Date:=IncDay(DateTimePicker1.Date,-1*GetDecimal((Sender as TComboBox).Text));
  if Pos(AnsiUpperCase('ме'),AnsiUpperCase((Sender as TComboBox).Text))>0 then
    DateTimePicker1.Date:=IncMonth(DateTimePicker1.Date,-1*GetDecimal((Sender as TComboBox).Text));
  if (Pos(AnsiUpperCase('го'),AnsiUpperCase((Sender as TComboBox).Text))>0) or (Pos(AnsiUpperCase('ле'),AnsiUpperCase((Sender as TComboBox).Text))>0) then
    DateTimePicker1.Date:=IncYear(DateTimePicker1.Date,-1*GetDecimal((Sender as TComboBox).Text));
end;

то чем заполнен комбобокс
Код:
15 дней
2 дня
100 дней
1 месяц
3 месяца
5 месяцев
1 год
5 лет

вычитает из DateTimePicker'а указанный период.

все это конечно здорово!но мне не понятно(
Ответить с цитированием