![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Формат даты [D7, XP]
aglar © (2008-12-04 14:46:00)procedure TForm1.Timer1Timer(Sender: TObject);
var
formatsettings: tFormatSettings;
begin
GetLocaleFormatSettings(1049, formatsettings);
statusbar1.Panels[1].Text:=DateTimetoStr(Now, formatsettings);
end;
Как вывести в статусбаре дату в полном формате?
Anatoly Podgoretsky (2008-12-05 11:48:00) [21]Современные реалии это многопоточные приложения и озабоченые программисты, которые меняют LocaleFormatSettings при том иногда на ходу, а стандартные переменные не потокобезопасные. Да чего рассказывать, в справке все написано.
clickmaker (2008-12-05 11:31:00) [22]> слишком упрощеный, не учитывающий современных реалий. Борланд
> на этом споткнулся
это что за реалии? И на чем споткнулся Борланд?
Anatoly Podgoretsky (2008-12-04 16:21:00) [23]> Ega23 (04.12.2008 16:08:06) [6]
Ему другой формат нужен и делает он правильно, а у тебя слишком упрощеный, не учитывающий современных реалий. Борланд на этом споткнулся еще раньше тебя и в Д7 рекомендует делать только так.
Ega23 (2008-12-04 16:08:00) [24]
procedure TForm1.Timer1Timer(Sender: TObject);
var
NowDate: TDateTime;
formatsettings: Tformatsettings;
TimeString: string;
begin
NowDate:= Now;
GetLocaleFormatSettings(1049, formatsettings);
TimeString := FormatDateTime('dd mmmm yyyy hh:nn:ss', NowDate, formatsettings);
statusbar1.Panels[1].Text:= TimeString;
end;
Достаточно одной строчки:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[1].Text:= FormatDateTime('dd.mm.yyyy hh:nn:ss', Now);
end;
aglar (2008-12-04 15:49:00) [25]Всем спасибо, работает так
procedure TForm1.Timer1Timer(Sender: TObject);
var
NowDate: TDateTime;
formatsettings: Tformatsettings;
TimeString: string;
begin
NowDate:= Now;
GetLocaleFormatSettings(1049, formatsettings);
TimeString := FormatDateTime('dd mmmm yyyy hh:nn:ss', NowDate, formatsettings);
statusbar1.Panels[1].Text:= TimeString;
end;
clickmaker (2008-12-04 15:46:00) [26]вообще-то, FormatDateTime - это функция...
aglar (2008-12-04 15:41:00) [27]сделал так
procedure TForm1.Timer1Timer(Sender: TObject);
var
NowDate: TDateTime;
formatsettings: Tformatsettings;
begin
NowDate:= Now;
GetLocaleFormatSettings(1049, formatsettings);
FormatDateTime('dd mmmm yyyy hh:nn:ss', NowDate, formatsettings);
statusbar1.Panels[1].Text:=DateTimetoStr(NowDate);
end;
не получилось - выводит дату в формате 04.12.2008 15.43.15
{RASkov} (2008-12-04 14:49:00) [28]> [0] aglar © (04.12.08 14:46)
Достаточно Now и FormatDateTime()
clickmaker (2008-12-04 14:48:00) [29]FormatDateTime('dd.mm.yyyy hh:nn:ss'