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

Вниз

DateTimeFormat - Во всем приложении   Найти похожие ветки 

 
Silver_   (2003-04-17 14:44) [0]

Вобщем как сделать так чтоб во всем приложении использовался пределенный формат Даты отличный от стандартного, но не меняя его.


 
REA   (2003-04-17 15:11) [1]

Изменить глобальную переменную формата.


 
Silver_   (2003-04-17 16:27) [2]


> REA © (17.04.03 15:11)


судя по всему знаешь какую, КАК ???


 
Anatoly Podgoretsky   (2003-04-17 16:32) [3]

Во первых не получится, Windows ничего не знает про Борландовские локальные переменные.
А во вторых смотри Currency and date/time formatting variables


 
Dms   (2003-04-17 16:35) [4]

используй во всем приложении функцию
FormatDateTime(sFormat, Now) : string
и не будет таких проблем


 
y-soft   (2003-04-17 16:41) [5]

Тогда уж лучше написать и использовать везде в приложении глобально доступную функцию

function FormatDT(DateTime : TDateTime) : string
const
DT_FORMAT = "dd.mmmm.yyyy hh:nn:ss"; //Свой формат
begin
Result := FormatDateTime(DT_FORMAT, DateTime);
end;


 
Anatoly Podgoretsky   (2003-04-17 16:48) [6]

Dms (17.04.03 16:35)
И в DateTimePicker?


 
Silver_   (2003-04-17 17:09) [7]


> Dms (17.04.03 16:35)
> используй во всем приложении функцию
> FormatDateTime(sFormat, Now) : string
> и не будет таких проблем


не ребята вот так не пойдет потому что если я в какой-нить запрос или фильтр суну отформатированую дату таким образом думаю дельфя (или кто ещё) ругнётся, он просто будет не при понятиях чего я там ему шлю


 
y-soft   (2003-04-17 17:25) [8]

>Silver_ ©

О каком формате ведется речь - о формате отображения/вывода?

>Anatoly Podgoretsky © (17.04.03 16:48)
>>Dms (17.04.03 16:35)
>>И в DateTimePicker?

DTM_SETFORMAT или DateTime_SetFormat и будет выводить в любом нужном формате



 
Dms   (2003-04-17 17:33) [9]

в запрос и в фильтр так и надо вставлять, вот у меня например было так:

DM.tableBeznal.Filter:=Format("DATE_IN between "%s" and "%s"", [FormatDateTime("dd.mm.yy", DM.dateBegin), FormatDateTime("dd.mm.yy",DM.dateEnd)]);
DM.tableBeznal.Filtered:=True;


 
BBCHa   (2003-04-17 17:37) [10]

Ну так и используй ShortDateFormat:="dd.mm.yyyy";


 
Anatoly Podgoretsky   (2003-04-17 17:51) [11]

Silver_ © (17.04.03 17:09)
Передавать конечно в фильтр с использованием строкового формата локального или системного конечно можно, но готавься к тому что не вежде будет работать.


 
Silver_   (2003-04-17 19:14) [12]


> Anatoly Podgoretsky © (17.04.03 17:51)
... но готавься к тому что не вежде будет работать.


я так себе и представляю поэтому хочу ВЕЗДЕ где использую Now, Date, Time, TDateTime,... использовался системный а НА ЕКРАНЕ (в грдах, DateTimePicker, иль в любых других контролах) любой другой формат


> y-soft © (17.04.03 17:25)
> О каком формате ведется речь - о формате отображения/вывода?

думаю ответил
DTM_SETFORMAT или DateTime_SetFormat А ет че такое

Может быть вариант с временной сменой системного формата, или глобальной переменной (пока мое приложение активно), правда чет гдет помнотся в NT могу нарваться не неимение прав пользователя на подобного рода действия


 
Dms   (2003-04-17 19:55) [13]

Ну объясни, чем тебе FormatDateTime не нравится ?


 
y-soft   (2003-04-17 20:07) [14]

>Silver_ © (17.04.03 19:14)

>DTM_SETFORMAT или DateTime_SetFormat А ет че такое

Это способ изменить формат вывода DateTimePicker


 
Babay   (2003-04-18 06:22) [15]

Че то я до конца не совсем понял в че надо конкретно
У меня например такая ситуация. Пользователи работают с MSSQL через мою прогу. У них на машинах форматы времени разные. (так случилось у кого английский у кого русский). SQL -сервер например английский имеет. У меня в проге запросы составляются и динамически в том числе и дата время в запросе тоже.
Я вышел из ситуации следующим образом (пока глюков с данным решением еще небыло за 2 года эксплуатации комплекса и постоянной смене систем у юзеров)

Значит в onCreate основной формы пишу так

LongDateFormat:="d.m.yyyy"; DateSeparator:=".";
ShortDateFormat:="dd.mm.yyyy"; TimeSeparator:=":";
ShortTimeFormat:="hh:mm"; LongTimeFormat:="hh:mm:ss";
DecimalSeparator:=".";

Эти установки влияют тока на мою прогу поэтому запросы составляю в соответствии с заданными установками. Все переводы датывремени в строку и обратно (стандартными функциями)работают согластно заданному формату.

При подключении к SQL нужно для сессии договориться с SQL о формате передачи даты

тоесть послать ему команду

set dateformat dmy

после этого для данной сессии SQL воспринимает дату как
dd.mm.yyyy

Т.o мои программы не зависят от региональных установок на машине пользователя.

Надеюсь что это ответ на Ваш вопрос. (хотя может я непонял вопроса...)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.011 c
1-607
Sluggard
2003-04-17 01:10
2003.05.01
F1Book вкладка ActiveX - Загрузка файла


14-736
silenser
2003-04-14 09:27
2003.05.01
Отчет в WORDе


1-622
Alex3000
2003-04-19 13:19
2003.05.01
Обработка нажатия Alt+F4 (Начинающий)


14-756
Soft
2003-04-13 01:24
2003.05.01
Мы славяне. Других таких нет.


3-404
Mefisto
2003-04-11 10:15
2003.05.01
SQL в DBF





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