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

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

Как определить время создания DBF файла? [D7, Win2k]


amb1 ©   (2005-12-28 08:43:00) 

Есть DBGrid, к которому "присоединяются" разные DBF файлы.
Необходимо, чтобы показывалось время создания "присоединенного" файла.
Как определить время создания DBF файла?


begin...end   (2005-12-28 16:17:00) [1]

> AMB1   (28.12.05 13:58) [8]

Этот код определяет время последнего изменения файла, а Вам требовалось узнать время его создания. Непонятно, почему проигнорировано сообщение [6] -- ведь там есть ответ на Ваш вопрос. Код может быть примерно таким:

var
 FD: TWin32FindData;
 FT: TFileTime;
 ST: TSystemTime;
 DT: TDateTime;
 H: Cardinal;
begin
 H := FindFirstFile(путь_к_файлу, FD);
 if H <> INVALID_HANDLE_VALUE then
 begin
   Windows.FindClose(Handle);
   FileTimeToLocalFileTime(FD.ftCreationTime, FT);
   FileTimeToSystemTime(FT, ST);
   DT := SystemTimeToDateTime(ST);
   ShowMessage(DateTimeToStr(DT))
 end
end


> Desdechado ©   (28.12.05 15:38) [10]

Нет.


Desdechado   (2005-12-28 15:38:00) [2]

begin...end ©   (28.12.05 11:37) [6]
> А в FAT32 -- нельзя?
AFAIK, FAT32 имеет всего одну дату (дату последней модификации), а NTFS - три (создания, модификации и простого доступа)


Плохиш   (2005-12-28 13:59:00) [3]


> AMB1   (28.12.05 09:16) [2]
> Да, наверное, просто. Но, попробовал:
> var
> DtFile : TDate;
> begin
>  DtFilet := TDate.Create(Self);

Это что за порнография? Иди изучай теорию.


AMB1   (2005-12-28 13:58:00) [4]

В результате общих усилий :о) получилось следующее:
var
Dt:string;
Begin
 Dt := DateTimeToStr(FileDateToDateTime(FileAge(Table.TableName)));

Всем спасибо!


Digitman   (2005-12-28 13:39:00) [5]


> Как ни стыдно, но догадаться не могу

время создания "BF файла" ничем не отличается от времени создания любого иного файла


begin...end   (2005-12-28 11:37:00) [6]

> Desdechado ©   (28.12.05 11:22) [4]

А в FAT32 -- нельзя?

> AMB1   (28.12.05 11:34) [5]

FindFirstFile, WIN32_FIND_DATA.ftCreationTime.


AMB1   (2005-12-28 11:34:00) [7]


> Desdechado

но. как все-таки, добраться до этих свойств?


> Kot_  

Да. Пользователь выбирает какую базу загружать.


Desdechado   (2005-12-28 11:22:00) [8]

дату создания файла можно вычитать из его свойств в файловой системе NTFS
в DBF в заголовке хранится только дата последней модификации


Kot_   (2005-12-28 11:14:00) [9]

Пользователь как-то выбирает какую базу загружать?
Там и смотри имя бд.


AMB1   (2005-12-28 09:16:00) [10]

Да, наверное, просто. Но, попробовал:
var
DtFile : TDate;
begin
 DtFilet := TDate.Create(Self);
 DtFilet := dbgResult.DataSource.DataSet.???
... что-то не получается.
И где ни пытался, найти свойство подгруженного файла, - не нашел.
Как ни стыдно, но догадаться не могу.


Brother   (2005-12-28 09:04:00) [11]

Что значит присоединяются? Подргужаются из файла или что?

А узнать время создания файла, блин, ну это ваще смешно...
в смысле просто, сам догадаешься?


Наверх

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