![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
|
|||
|
|||
|
Цитата:
![]() |