Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Формат даты [D7, XP]


Страницы:   1 2

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'


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо