Форум: "Начинающим";
Текущий архив: 2009.09.06;
Скачать: [xml.tar.bz2];
ВнизФормат даты Найти похожие ветки
← →
cyber-pilot (2009-07-07 16:11) [0]При запуске программы я задаю формат даты с помощью переменной ShortDateFormat и DateSeparator:
ShortDateFormat := "dd.MM.yyyy";
DateSeparator := ".";
И все работает хорошо. Но если после запуска программы в "Панели управления" -> "Язык и региональные стандарты" поменять формат даты например на такой dd/MM/yy,
то при конвертации строк в даты возникают ошибки, например здесь:vDate := StrToDate("20.06.2009");
выдается ошибка ""20.06.2009" is not a valid date."
Как сделать, чтобы формат даты был жестко заданным или как перехватить событие изменения формата даты в системе?
← →
Anatoly Podgoretsky © (2009-07-07 16:15) [1]Второй, перегруженый формат функции.
← →
cyber-pilot (2009-07-07 16:32) [2]
> Anatoly Podgoretsky © (07.07.09 16:15) [1]
>
> Второй, перегруженый формат функции.
Типа вот так:function StrToDate(const S: String): TDate;
begin
ShortDateFormat := "dd.MM.yyyy";
DateSeparator := ".";
Result := SysUtils.StrToDate(S);
end;
А есть какой-нибудь другой способ, а то тут лишние операции выполняются. Хоть и не очень заметно, но неприятно.
← →
Юрий Зотов © (2009-07-07 16:37) [3]Если не делать ничего, то автоматически будут использованы системные установки. Что и требуется.
← →
cyber-pilot (2009-07-07 16:46) [4]
> Юрий Зотов © (07.07.09 16:37) [3]
В том то и проблема. Системные установки почему-то иногда меняются. Либо сами пользователи меняют, что вряд ли, либо какие-то программы.
← →
clickmaker © (2009-07-07 16:47) [5]> либо какие-то программы
> При запуске программы я задаю формат даты с помощью переменной
> ShortDateFormat и DateSeparator:
>
> ShortDateFormat := "dd.MM.yyyy";
> DateSeparator := ".";
:)
← →
cyber-pilot (2009-07-07 17:11) [6]
> clickmaker © (07.07.09 16:47) [5]
Ничего смешного, такой способ устанавливает формат даты только внутри программы. Системный не трогает.
← →
clickmaker © (2009-07-07 17:22) [7]> [6] cyber-pilot (07.07.09 17:11)
ну, у программистов не на Дельфи может не быть под рукой такой удобной переменной ShortDateFormat.
Вот и меняют системный )
← →
Плохиш © (2009-07-07 17:41) [8]
> cyber-pilot (07.07.09 16:11)
>
>
Application.GetFormatSettings := false;
← →
Плохиш © (2009-07-07 17:41) [9]
> GetFormatSettings
читать как UpdateFormatSettings :-)))
← →
cyber-pilot (2009-07-07 17:58) [10]
> Плохиш © (07.07.09 17:41) [9]
Спасибо! Работает!!!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.09.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c