Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2021, 08:54   #1
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 50
По умолчанию FindFirstChangeNotification / FindNextChangeNotification / FindCloseChangeNotification - как отследить докопировался файл или нет.?

Здравствуйте. Приведите, пожалуйста, простой пример как можно с помощью сабжа отследить докопировался файл или нет.
Файл копируется в папку на комп из неизвестного сетевого источника. В отдельном потоке отслеживание задавать не нужно, так как всего лишь требуется признак "докопировался файл / или нет", чтобы знать можно ли приступать к работе с ним.
Explosion вне форума Ответить с цитированием
Старый 21.04.2021, 15:51   #2
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 50
По умолчанию

Апаю
Explosion вне форума Ответить с цитированием
Старый 22.04.2021, 03:59   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Explosion Посмотреть сообщение
требуется признак "докопировался файл / или нет"
Для этого FindFirstChangeNotification() не лучший выбор, поскольку функция лишь отслеживает изменения, но не оповещает о конце события. Можно пробовать периодически открывать файл с правами на запись CreateFile(), или чекать его размер GetFileSize(). Если за пару-тройку вызовов размер не изменился, значит копирование завершено. Легальной функции вроде нет, и все изворачиваются, кто-как может.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 27.04.2021, 07:39   #4
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 50
По умолчанию

R71MT, приведите, пожалуйста, пример как с помощью GetFileSize вытащить размер файла. Открыл хелп и кроме второго параметра (имени файла) нихрена не понял. Что вписывать в остальные параметры?
Раньше вместо GetFileSize использовал FileSize. Но выходит много строчек, потому что сначала надо открыть файл, вытащить его размер и закрыть файл.
Explosion вне форума Ответить с цитированием
Старый 27.04.2021, 11:43   #5
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Explosion Посмотреть сообщение
пример как с помощью GetFileSize вытащить размер файла
http://www.vsokovikov.narod.ru/New_M...etfilesize.htm
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сообщение как вложение. Как узнать отправлено или нет? Bezdar Microsoft Office Excel 38 16.05.2016 11:21
как узнать, как пересекаются точки в декартовой системе координат или нет? gylayko Паскаль, Turbo Pascal, PascalABC.NET 4 29.09.2011 09:34
Как отследить нажатие кнопки даже если нет фокуса на форме gufon Общие вопросы Delphi 1 01.06.2011 15:29
Как отследить приложение которое использует тот или иной файл? pro100-delphi Общие вопросы Delphi 9 18.06.2010 01:19
Определение свободен файл или нет? S_Yevgeniy Помощь студентам 10 03.12.2009 19:44