| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > ПРоверить настройки на машине по числам и датам |
| Автор: nicka 24.6.2004, 14:36 |
| Работаю в Дельфи7 ПРоблема заключаеться при работе с числами и датами в приложениях по базам данных. В зависимости от установок(Regional Settings - Numbers, Date) на машине клиента программа может работать или нет. Как можно в коде посмотреть настройки на машине .... Только если можно подробнее, я плохо в этом разбираюсь |
| Автор: Петрович 24.6.2004, 14:58 |
| Хм. Что-то зачастили Смотри http://forum.vingrad.ru/index.php?showtopic=24847&unread=1&hl=decimalseparator. Причем, сразу отмечу что упоминаемые переменные можно еще и самому что-нибудь записать |
| Автор: nicka 24.6.2004, 16:51 |
| Петрович совсем другая тема |
| Автор: stab 24.6.2004, 17:04 |
| Есть такая функция GetLocaleInfo. Пример использования: http://forum.vingrad.ru/index.php?showtopic=24842 Описание функции: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_34rz.asp , http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_8rse.asp С помощью этой функции можно получить любую информацию о настройках интернализации. |
| Автор: Гость_nicka 26.6.2004, 08:22 |
| У меня на форме стоит обьект TDateTimePicker1, когда из базы я передаю ему значение типа дата выдаеться ошибка '10-Jun-04' is not valid Date, я пытаюсь использовать процедуру GetLocaleFormatSettings для получения значений местных установок на машине, но не все равно выдаеться та же ошибка.... Что неправильно в данном коде ? Не совсем понимаю правда для чего в процедуре GetLocaleFormatSettings первый параметр, я поставила 0 , потому что не поняла что туда сажать.... var v_formatset:TFormatSettings; GetLocaleFormatSettings(0,v_formatset); TDateTimePicker1.date :=StrToDate(TAdoQuery1.Fields.fieldbyname('ord_date').asstring,v_formatset); |
| Автор: Петрович 26.6.2004, 09:38 | ||||||
Прошу прощения, дал неправильную ссылку. Правильная http://forum.vingrad.ru/index.php?showtopic=24842&view=findpost&p=173424 В качестве компенсации В модуле System есть определение нескольких глобальных переменных:
Все стандартные Delphi-функции преобразования данных пользуются значениями этих переменных. Эти переменные в в момент старта программы автоматически заполняются региональными настройками системы. Более того, в процессе работы программы, значения в этих переменных могут измениться (см.ссылку выше). Вы можете сами присваивать этим переменным те или иные значения, в зависимости какой формат используете Вы. Но, при этом, дабы работу Вашей программы не нарушил пользователь сменивший региональные настройки уже после того как Ваша программа была запущена, Вам надо выполнить действия приведенные описанные мною все в той-же, указанной выше теме Например, если Вы, в своих данных, имеете даты в виде ''10-Jun-04', то Вы можете сделать следующие присваивания:
Тагда, Ваш TDateTimePicker1 будет работать нормально. |