Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2011, 10:37   #1
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию Глобальные переменные DateSeparator ShortDateFormat TimeSeparator LongTimeFormat

Интересные вещи наблюдаю с этими переменными в D7. При входе в проект они настроены следующим образом:
Код:
DateSeparator:='-';
ShortDateFormat:='dd-mm-yyyy';
TimeSeparator:=':';
LongTimeFormat:='hh:nn:ss';
А вот кусочек отладочного log-а:
Код:
27-01-2011 09:21:02 Create
27-01-2011 09:21:14 Connected RemoteLogin Count=1
27-01-2011 09:21:15 Login User=13
27-01-2011 09:21:16 UnConnect RemoteLogin Count=0
27-01-2011 09:21:20 Connected RemoteNsi Count=1
27-01-2011 09:21:21 Connected RemoteGDCeh Count=2
27.01.2011 9:37:26 UnConnect RemoteGDCeh Count=1
27.01.2011 9:37:26 UnConnect RemoteNsi Count=0
27.01.2011 9:37:26 Connected RemoteLogin Count=1
27.01.2011 9:37:27 Logout User=13
27.01.2011 9:37:27 UnConnect RemoteLogin Count=0
27.01.2011 12:09:21 Connected RemoteLogin Count=1
27.01.2011 12:09:21 Login User=13
27.01.2011 12:09:21 UnConnect RemoteLogin Count=0
Запись в log даты-времени функцией DateTimeToStr(Now). В коде нигде больше эти переменные не модифицирую. Предположительно какой-то компонент меняет и не восстанавливает исходные значения. Благо это происходит на сервере приложений, и эти вещи там не актуальны (пока по крайней мере).
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.02.2011, 11:17   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

и.... что?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 10.02.2011, 11:39   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
и.... что?
Где копать? В клиентской части таких проблем нет, нет в ней компонент TRemoteDataModule и TDataSetProvider, а так же компонент BDE: TSession, TDatabase и TQuery. Наверно в этом направлении.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.02.2011, 13:10   #4
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Расставить логгинг LongTimeFormat, либо юзать бряк на данные.

А ещё лучше - не юзать глобальные переменные вообще. Для кого придуман перегруженный вариант функций форматирования с TFormatSettings? В DXE, кстати, все такие глобальные штуки помечены как deprecated.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 10.02.2011, 17:47   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Расставить логгинг LongTimeFormat, либо юзать бряк на данные.

А ещё лучше - не юзать глобальные переменные вообще. Для кого придуман перегруженный вариант функций форматирования с TFormatSettings? В DXE, кстати, все такие глобальные штуки помечены как deprecated.
Дело же не в выдаче в log. Можно просто использовать FormatDateTime без всякой привязки к этим переменным и FormatSettings. Хуже, что без настройки этих переменных прийдется форматировать отображение даты и времени во всех гридах и отчетах, естественно, если не устраивает формат предлагаемый Windows.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.02.2011, 17:53   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

собственно говоря в логе как были настроены на входе в проект, так и выводятся.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.02.2011, 18:25   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
собственно говоря в логе как были настроены на входе в проект, так и выводятся.
Да как бы это и не одно и то же
Код:
27-01-2011 09:21:21 Connected RemoteGDCeh Count=2
27.01.2011 9:37:26 UnConnect RemoteGDCeh Count=1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.02.2011, 18:50   #8
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> Да как бы это и не одно и то же

так может кто-то в 9-30 подло зашёл на сервер и сменил региональные настройки? ) Или просто интерактивный логин сбил настройки. При этом, правда, ещё раз GetFormatSettings() должно было вызваться.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 10.02.2011, 20:43   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
так может кто-то в 9-30 подло зашёл на сервер и сменил региональные настройки? ) Или просто интерактивный логин сбил настройки. При этом, правда, ещё раз GetFormatSettings() должно было вызваться.
Это исключено, отлаживаюсь на компе где и клиент, и сервер приложений и MS SQL, и интернета нет. На пару дней вообще от сетки отключал. Настройки могут день-два не сваливаться, а потом блямба. На эксплуатируемом сервере приложений то же самое
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.02.2011, 21:50   #10
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Хуже, что без настройки этих переменных прийдется форматировать отображение даты и времени во всех гридах и отчетах, естественно, если не устраивает формат предлагаемый Windows
Бррр, два варианта:

- Тебя не устраивает формат пользователя в Windows и ты явно проставил формат гридам.
- Тебя устраивает формат пользователя в Windows и ты ничего не трогал и не меняешь.

В чём проблема?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глобальные переменные tae1980 Microsoft Office Excel 16 20.11.2013 08:41
Глобальные переменные Lokos Общие вопросы Delphi 3 05.05.2010 11:15
Глобальные переменные werser Помощь студентам 5 23.03.2010 18:08
Глобальные переменные Serghant Общие вопросы C/C++ 3 05.11.2009 20:51