![]() |
|
#16
|
||||
|
||||
![]() AnsiUpperCase('дн') - зачем? можно ж сразу uppercase константой задать.
Да и если дельфи ХЕ и выше, то там надо не Pos, а AnsiPos использовать. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#17
|
||||
|
||||
![]() Народ, объясните кто-нить код, а то мне некогда.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#18
|
||||
|
||||
![]() Цитата:
![]() Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#19
|
||||
|
||||
![]() Абисняю
Код:
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; Код:
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); // обработчик изменения комбобокса var cbStr: string; begin cbStr := AnsiUpperCase((Sender as TComboBox).Text); if Pos('ДН', cbStr)>0 then // если в комбококче выбрана строчка, в которой есть слово "дн" DateTimePicker1.Date:=IncDay(DateTimePicker1.Date,-1*GetDecimal(cbStr) // инкрементим день else if Pos('МЕ', cbStr)>0 then // аналогично DateTimePicker1.Date:=IncMonth(DateTimePicker1.Date,-1*GetDecimal(cbStr) // инкрементим месяц else if (Pos('ГО', cbStr)>0 ) or (Pos('ЛЕ', cbStr)>0 ) then DateTimePicker1.Date:=IncYear(DateTimePicker1.Date,-1*GetDecimal(cbStr) // инкрементим год end; — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 05.03.2013 в 14:42. |
#20
|
||||
|
||||
![]() Цитата:
![]() |