powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Левая дата в dbf
12 сообщений из 12, страница 1 из 1
Левая дата в dbf
    #34532108
Гурант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем HI!
Вопрос. Ни у кого небыло такой ситуации:
Есть dbf с полем date. Там стоит "20.02.2007". По независящим от нас причинам (не из фокса) файл бъется и в поле теперь там "30.02.2007".

Как отреагирует фокс если попытаться открыть этот файл? Откажется вообще или в поле покажет звездочки (как в случае числового поля в аналогичной ситуации)?

Сейчас разбираюсь с таким случаем, но там битых дат нет вроде. А надо на перспективу...
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34532177
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так открой dbf любым текстовым редактором и исправь дату.
Лично у меня после таких издевательств - показывает пустую дату
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34532207
Гурант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
залезть то можно, но интересно найти программно и обезвредить :)
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34532359
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно как такое могло получится - насколько я помню поле типа Date содержит количесво секунд с какого начального момента. Так что в нем по определению неправильной даты быть не может. А если поле символьное то можно писать и править как захочется Фокс и слова не скажет
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34532438
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Количество секунд хранится для поля типа DateTime, а для поля типа Date хранится строка в формате YYYYMMDD.
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34532471
BurnИнтересно как такое могло получится - насколько я помню поле типа Date содержит количесво секунд с какого начального момента. Так что в нем по определению неправильной даты быть не может. А если поле символьное то можно писать и править как захочется Фокс и слова не скажет
Неправильно помните... То, что Вы сказали - справедливо для DateTime поля.
Стандартное же поле Data в DBF-файле содержит символьные данные в виде строки вида YYYYMMDD. Так что, можно (при соответствующем желании) подправить дату и в текстовом редакторе... Только надо быть осторожным, чтобы лишним символом не произвести смещение остальных данных, так как данные различных полей следуют друг за другом без разделителей...
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34532479
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно. Запамятовал:(
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34532551
Гурант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как-бы там данные не хранились, вирь или еще что может их запортить...
Так как програмно отловить невалидную дату?
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34532633
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стандартными средствами - думаю никак
можно конечно написать свою прогу для разбора "внутренностей" и сравнивать данные полученные 2 способами.
Кстати - случай замены на "левую" дату не так страшен , как вариант замены например "20.02.2007" на "21.02.2007" - тут уже никак не выловить ...
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34533515
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гурантзалезть то можно, но интересно найти программно и обезвредить :)
Дак уже обезврежено. фокс такую дату пустой показывает и обрабатывает как пустую
А если тебе для другого софта надо пустую, то
Код: plaintext
repl for empty(dDate) dDate with {}
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34533542
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проскочил этот пост
ГурантКак-бы там данные не хранились, вирь или еще что может их запортить...
Так как програмно отловить невалидную дату?
Структура DBF ( тынц ) довольно простая, читай DBF как файл и если прочитанное в число через CTOD() не преобразуется в дату, то значит дата "нереальная"
...
Рейтинг: 0 / 0
Левая дата в dbf
    #34534614
Гурант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за ответы
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Левая дата в dbf
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]