Страница 1 из 1

Подскажите как сделать синхронизациию 2х папок

Добавлено: 06 ноя 2009, 13:10
lordtor
Подскажите как сделать синхронизациию 2х папок
СИНХРОНИЗАЦИЯ ОДНОСТОРОННЯЯ 1-->2 ЗАМЕНЯЮТСЯ ТОЛЬКО ТЕ ФАЙЛЫ КОТОРЫЕ УСТАРЕЛИ ПОДАТИ(ПРИМЕР 1.ТХТ 22.02.05 НА 1.ТХТ 06.11.09)
В ПАПКАХ ЕСТЬ ПОДПАПКИ :confused:

Re: Подскажите как сделать синхронизациию 2х папок

Добавлено: 06 ноя 2009, 13:30
Хыиуду
FindFirst и FindNext - для поиска файлов, потом получаем атрибуты (вроде бы GetFileAttr, но не уверен), если один старее другого - удалить его и скопировать новый.

Re: Подскажите как сделать синхронизациию 2х папок

Добавлено: 10 ноя 2009, 02:15
dr.Jekill
[syntax="Delphi"]FileGetAttr(const FileName: string): Integer;[/syntax]
Возвращает атрибуты файла FileName. Наличие тех или иных атрибутов можно проверить сложением по операции AND возвращенного значения с константами faXXXX. Собственно константы:
faReadOnly - $00000001
faHidden -$00000002 (скрытый файл)
faSysFile - $00000004
faVolumeID - $00000008 (идентификатор диска)
faDirectory - $00000010
faArchive - $00000020
faAnyFile - $0000003F (любой файл).
Информацию по возрасту файла обычно определяют через FileAge(const FileName: string): integer - возвращает время создания файла или через FileGetDate(Handle: integer): integer - возвращает дату и время создания файла. Для преобразования даты из Dos формата я использую FileDateToDateTime(FileDate: integer): TDataTime.