|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.04.2019, 08:40 | #1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
неправильно определяется размер больших файлов
необходимо по таймеру узнавать размер файла, в который пишет другая программа.
Это можно сделать вот так: Код:
Однако, даже так, даже если запрашиваемый файл не используется никакими другими программами, его размер, если он больше 4ГБ, возвращается неправильный. Почему? Проект же 64-битный. Последний раз редактировалось BLACK_RAIN; 17.04.2019 в 08:42. |
17.04.2019, 09:28 | #2 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
На работе негде посмотреть. Дам подсказку корректный размер возвращается при использовании функций с суффиксом
Winapi.Windows.CreateFileEx Winapi.Windows.GetFileSizeEx Create тоже надо с EX. Лично я использовал TFileStream для работы с файлом 8 Гб. Delphi XE10, и вроде даже в 32-х битном окружении.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
17.04.2019, 09:28 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
FindFirst и FindData.nFileSizeHigh, FindData.nFileSizeLow
или GetFileSizeEx
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
17.04.2019, 10:49 | #4 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
17.04.2019, 10:55 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А смысл узнавания размера файла открытого для записи? После закрытия он другой может быть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
17.04.2019, 11:31 | #6 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
17.04.2019, 11:49 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А если занят монопольно для записи? CreateFile не поможет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
17.04.2019, 12:13 | #8 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
17.04.2019, 12:19 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ладно, допустим для чтения доступно. Что-то в него пишет, но на накопитель еще не выгружено, в буфере сидит. А размер не меняется
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
17.04.2019, 13:10 | #10 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Цитата:
Теперь можете кидаться какашками. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как создать массив кругов, размер которого определяется пользователем? | lichking | Общие вопросы Delphi | 5 | 20.11.2016 00:34 |
Неправильно определяется ширина окна браузера | AlexKain | JavaScript, Ajax | 8 | 11.06.2016 17:13 |
Неправильно определяется заголовок графического файла (Delphi) | KBO | Помощь студентам | 30 | 05.08.2015 18:04 |
Неправильно определяется отступ слева | justfor | JavaScript, Ajax | 2 | 25.02.2015 10:37 |
Сортировка больших файлов. | stpdqstns | Общие вопросы C/C++ | 6 | 05.03.2013 22:52 |