SASH |
Отправлено: 26.11.2003, 09:59 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 58
|
Есть dbf файлы, которые находятся на серверах в определенных папках.
Ежемесячно эти dbf файлы обновляются.
Как узнать обновились — ли файлы (т. е. вывести какое — то сообщение в программе, что файлы обновлены) и если обновились, то скопировать их к себе?
|
|
Admin |
Отправлено: 26.11.2003, 10:49 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Может проверять дату, если файл .dbf пересоздается, например,
с помощью FileAge() или FileGetDate()
Если это не годится,
то лучше заведите в базе таблицу с полем типа Дата-Время
и записывайте при обновлении в него дату-время
последнего обновления.
(можно несколько полей — для каждой таблицы своё:
CODE |
Таблица Дата последнего обновления
--- ---
tblDepartment 12.10.2003 12:10
tblOrder 27.11.2003 17:24
tblPrice 28.11.2003 15:10
...)
|
Соответственно и проверяйте это поле. (эти поля)
Тогда, если какие-то таблицы не обновлялись,
можно их к себе не копировать, а копировать
только обновившиеся.
Или заведите файл на сервере и записывайте в него
дату последнего обновления.
Отредактировано Admin — 26/11/2003, 11:52
|
|
SASH |
Отправлено: 27.11.2003, 07:02 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 58
|
FileAge(), FileGetDate() — подскажите пожалуйста, а как они работают?
|
|
** pasha |
Отправлено: 27.11.2003, 09:55 |
|
Не зарегистрирован
|
FileAge() — возвращает дату создания файла или -1 если
такого файла нет.
CODE |
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TDateTime dt;
if(OpenDialog1->Execute()){
int n = FileAge(OpenDialog1->FileName);
dt = FileDateToDateTime(n);
ShowMessage(DateTimeToStr(dt));
}
} | |
|
** pasha |
Отправлено: 27.11.2003, 10:08 |
|
Не зарегистрирован
|
FileGetDate() аналогичная, но работает через Handle:
CODE |
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TDateTime dt;
if(OpenDialog1->Execute()){
int iH = FileOpen(OpenDialog1->FileName, fmOpenRead);
int n = FileGetDate(iH);
dt = FileDateToDateTime(n);
ShowMessage(DateTimeToStr(dt));
FileClose(iH);
}
}
|
|
|