Текущий архив: 2014.08.17;
Скачать: CL | DM;
ВнизКак изменить формат даты Виндовс? Найти похожие ветки
← →
Михалыч (2013-09-26 18:00) [0]Здравствуйте! Хочу из проги изменить формат даты в Виндовс на dd.mm.yyyy Подозреваю что зарыли где-то в реестре, а вот где незнаю :( Можно под админом изменить сей момент программно? Если можно то как? :)
← →
Михалыч (2013-09-26 18:06) [1]Или лучше так:
var
SystemTime: TSystemTime;
FormatSettings: TFormatSettings;
CT : TDateTime;
begin
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT,FormatSettings);
FormatSettings.ShortDateFormat:="dd.mm.yyyy";
end;
Думаю на OnCreate прицепить и наверно на сеанс работы проге хватит :)
← →
DVM © (2013-09-26 18:08) [2]зачем менять глобальные настройки?
← →
брат Птибурдукова (2013-09-26 18:09) [3]Язык и региональные настройки - формат даты и времени
> под админом изменить сей момент программно
вешать на каждом столбе…
← →
Михалыч (2013-09-26 18:17) [4]Хорошо, пусть не навсегда а лишь на сеанс чтобы прога читала дату как dd.mm.yyyy можно сделать? А то я специально сменил формат в Виндовс на yyyy.mm.dd потестить, а прога так и читает а не конвертит на сеанс в dd.mm.yyyy
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT,FormatSettings);
FormatSettings.ShortDateFormat:="dd.mm.yyyy";
поставил на OnCreate
← →
Михалыч (2013-09-26 18:19) [5]Объясняю зачем, у клиента формат даты другой на ПК и прога сыплет ошибками :( неправильно сравнивает даты...
← →
megavoid © (2013-09-26 18:32) [6]В таких случаях в проге делают возможность настройки DateSeparator, а не меняют клиенту системные настройки -> ведь они у него неспроста другие -> а тут, бац, прога всё поломала (так будет казаться клиенту)
← →
megavoid © (2013-09-26 18:36) [7]Добавить на форму настроек TEdit, по умолчанию в него "dd.mm.YY", клиенту показать, что туда вписать, чтобы у него заработало
← →
SergeyIT © (2013-09-26 18:37) [8]Михалыч, надо использовать тот формат, что у клиента
← →
antonn © (2013-09-26 18:47) [9]
> > под админом изменить сей момент программно
> вешать на каждом столбе…
не надо, админ лучше знает как надо сделать, а раз он запускает - так надо
← →
Anatoly Podgoretsky © (2013-09-26 21:01) [10]> Михалыч (26.09.2013 18:19:05) [5]
Врать не надо, нормально сравнивает при любом формате.
Сдается что ты работаешь со строками, а не датами, если так то ССЗБ
← →
Михалыч (2013-09-26 21:35) [11]Прога берет дату из Date преобразовывает в string, потом отделяет день,месяц и год и уже отдельно сравнивает с данными в программе. Наверно и вправду надо даты полностью сравнивать... :) Спасибо Анатолий за совет, попробую!
← →
Юрий Зотов © (2013-09-26 23:12) [12]> Михалыч (26.09.13 21:35) [11]
>
> Прога берет дату из Date преобразовывает в string, потом
> отделяет день,месяц и год и уже отдельно сравнивает с данными
> в программе.
С датой и надо работать, как с датой, а не как со строкой. Тогда при любых настройках все будет ОК, и менять ничего не придется. Тем более, что самовольно менять глобальные системные настройки - последнее дело, такие программы обычно сразу и навсегда летят в корзину.
uses
DateUtils;
День = DayOfTheMonth(Дата)
Месяц = MonthOfTheYear(Дата)
Год = YearOf(Дата)
← →
antonn © (2013-09-27 10:13) [13]на крайний случай есть formatdatetime где можно руками задать маску (на тот случай если "Date преобразовывает в string" означает какую нибудь datetostr())
← →
Михалыч (2013-09-27 12:01) [14]Спасибо всем за полезные советы!
← →
Inovet © (2013-09-27 12:52) [15]> [12] Юрий Зотов © (26.09.13 23:12)
> День = DayOfTheMonth(Дата)
> Месяц = MonthOfTheYear(Дата)
> Год = YearOf(Дата)
А дальше уже совсем просто.:)
http://www.guildalfa.ru/alsha/comment/reply/6
← →
Anatoly Podgoretsky © (2013-09-27 13:48) [16]Нет нужды разделять дату не составные части
← →
брат Птибурдукова (2013-09-27 18:45) [17]
> Inovet © (27.09.13 12:52) [15]
Какой матёрый человечище!
Впрочем, по сравнению с вопросом "как мне сложить две даты" — мелочь.
Страницы: 1 вся ветка
Текущий архив: 2014.08.17;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.003 c