Форум: "Основная";
Текущий архив: 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.007 c