|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.04.2021, 08:54 | #1 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 50
|
FindFirstChangeNotification / FindNextChangeNotification / FindCloseChangeNotification - как отследить докопировался файл или нет.?
Здравствуйте. Приведите, пожалуйста, простой пример как можно с помощью сабжа отследить докопировался файл или нет.
Файл копируется в папку на комп из неизвестного сетевого источника. В отдельном потоке отслеживание задавать не нужно, так как всего лишь требуется признак "докопировался файл / или нет", чтобы знать можно ли приступать к работе с ним. |
21.04.2021, 15:51 | #2 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 50
|
Апаю
|
22.04.2021, 03:59 | #3 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Для этого FindFirstChangeNotification() не лучший выбор, поскольку функция лишь отслеживает изменения, но не оповещает о конце события. Можно пробовать периодически открывать файл с правами на запись CreateFile(), или чекать его размер GetFileSize(). Если за пару-тройку вызовов размер не изменился, значит копирование завершено. Легальной функции вроде нет, и все изворачиваются, кто-как может.
Нашедшего выход - затаптывают первым..
|
27.04.2021, 07:39 | #4 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 50
|
R71MT, приведите, пожалуйста, пример как с помощью GetFileSize вытащить размер файла. Открыл хелп и кроме второго параметра (имени файла) нихрена не понял. Что вписывать в остальные параметры?
Раньше вместо GetFileSize использовал FileSize. Но выходит много строчек, потому что сначала надо открыть файл, вытащить его размер и закрыть файл. |
27.04.2021, 11:43 | #5 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Нашедшего выход - затаптывают первым..
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сообщение как вложение. Как узнать отправлено или нет? | 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 |