Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Преобразование даты! [D6, dBase, FoxPro]


Roki ©   (2002-12-17 09:43:00) 

Мастера, есть проблемка - в dBase хранятся даты, там тип поля -Date длиной 8 символов, т.е. дату можна записать только - dd/mm/yy. Но после перехода проги с FoxPro на Delphi даты стали отображатся некоректно - вместо 19ХХ теперь 20ХХ. Как поступить - перейти на тип поля String или написать конвертор даты(от FoxPro пока отказаться немогу очень много на нем данных)? Может есть готовые компоненты или функции для этой проблемки?


Roki   (2002-12-17 10:49:00) [1]

2 Anatoly Podgoretsky ©
Действительно так и есть... Спасибо за помощь... Буду записывать теперь год 4 цифры...


Anatoly Podgoretsky   (2002-12-17 10:11:00) [2]

Да и не прошло и полгода, как народ забыл уроки 2000 года и продолжает писать две цифры вместо четырех.

Roki (17.12.02 09:43)
Насчет того, что там хранятся как dd/mm/yy ты полностью неправ, даты там хранятся в системно независимом вормате и поддержанный диапазон от 1.01.0001 до 31.12.9999 года, если уж очень тебя интересует внутреннее хранение дат, то надо читать спецификации, а не делать предположения, в крайнем случае можно воспользоваться хакерскими методами, посмотреть файлик с помощью шестнадцатиричного редактора.


Prooksius   (2002-12-17 09:59:00) [3]

2 Roki (17.12.02 09:54)
Как я понял, у тебя поле типа Date - строковое (состомт из 8 символов) Если я не прав - сорри, я не работал с dBase. Просто помочь хотел...
Вырезаешь из этой строки от начала до yy, добавляешь "19", и добавляешь остаток yy.
Неужели так сложно?


Roki   (2002-12-17 09:56:00) [4]

2 Prooksius ©
А за PD Sybase огромное спасибо!!!


Roki   (2002-12-17 09:54:00) [5]

2 Prooksius ©
Читай вопрос нимательнее...
Я написал что есть поле типа Date. Понятно что нужно делать вручную, я же и спрашиваю что может есть уже готовые компоненты или функции кем-то написаные... Зачем по 100 раз писать одно и тоже если есть готовое...


stone   (2002-12-17 09:54:00) [6]

Вот она - проблема 2000 года :-))


Prooksius   (2002-12-17 09:50:00) [7]

А что в dBase нет поля типа Date ?
Создай такое поле, перебрось данные в него и удали поле типа стринг. Тебе придется добавлять столетие вручную (из dd/mm/yy делать dd/mm/yyyy).
Как ты думаешь, откуда программа знает, какое столетие ты имеешь в виду, если пишешь 11/12/47 ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо