Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1246280140
@!!ex
2009-06-29 16:55
2009.09.06
Россия в PWRC


1-1214057054
Jolik
2008-06-21 18:04
2009.09.06
Как добавить такую функциональность в ListView ...


2-1246805599
LexXL
2009-07-05 18:53
2009.09.06
dll как клиент и сервер


4-1216586310
batya-x
2008-07-21 00:38
2009.09.06
поск файлов на winAPI


2-1246931961
MonoLife
2009-07-07 05:59
2009.09.06
Прозрачность TBitmap.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский