![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем доброго вечера, давно уже мучает меня такой вопрос - когда ставлю на формы дататаймпикеры, у них по умолчанию стоит дата дня когда их поставили и она в программе потом постояно отображается, как можно сделать так чтобы при запуске программы все дататаймпикеры присваивали сегодняшнюю дату, а то я постоянно на formShow пишу datetimepicker1.date:=date; думаю есть все таки верный и рациональный способ
![]() |
#2
|
|||
|
|||
![]() Код:
procedure TForm1.FormCreate(Sender: TObject); Var i : integer; begin for i:=0 to (Form1.ComponentCount-1) do begin if (Form1.Components[i] is TDateTimePicker) then begin (Form1.Components[i] as TDateTimePicker).DateTime:=NOW; end; end; end; |
#3
|
|||
|
|||
![]() Я так понял что эту процедуру нужно на событие OnCreate каждой формы где есть данные компоненты? а для всех форм это возможно определить? если для всех то нужно будет дописать еще цикл чтобы по всем формам проходился..... на быстродействии не будет сказываться?
|
#4
|
|||
|
|||
![]() За все приходится платить.
И во всем нужен здравый смысл. Если это нужно делать очень часто, то может быть лучше сделать наследника от TForm. И там этот момент предусмотреть. А можно сделать НеВизуальный компонент (от TComponent) с таким же функционалом и кидать его на форму. А может быть эффективнее сделать компоненте - наследник от TDateTimePicker. И там все это предусмотреть. Все зависит от задачи. |
#5
|
|||
|
|||
![]() Цитата:
![]() |