Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.08.17;
Скачать: [xml.tar.bz2];

Вниз

Как изменить формат даты Виндовс?   Найти похожие ветки 

 
Михалыч   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.003 c
15-1389997119
Rouse_
2014-01-18 02:18
2014.08.17
Здравствуйте, я ошибка 217 и я вам ничего не скажу


2-1380363106
Jimmy
2013-09-28 14:11
2014.08.17
Масштабирование TMetaFile


4-1269426968
EgorovAlex
2010-03-24 13:36
2014.08.17
Как реализовать в программе, чтобы каждая вкладка была отдельным


15-1390163402
Юрий
2014-01-20 00:30
2014.08.17
С днем рождения ! 20 января 2014 понедельник


2-1380095033
darthnihilus
2013-09-25 11:43
2014.08.17
Delphi + Excel 2003





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский