Возможно ли вернуть размер файла через FsContentGetValue ?

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
featZima
Сообщения: 4
Зарегистрирован: Пн дек 07, 2009 13:18

Возможно ли вернуть размер файла через FsContentGetValue ?

Сообщение featZima »

Продолжаю писать плагин для Yandex.Fotki... Проблема в том, что список фотографий можно получить значительно быстрее чем их размер, поэтому при вызове FindFirst/FindNext поле nFileSize устанавливаю в 0...

Есть возможность создать колонку размера файла с использованием FsContentGetValue, но тогда эта колонка не будет учитываться при подсчёте размеров папки или при расчёте времени копирования...

Подскажите возможные пути решения...
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

Буфер для дополнительных данных.
Создать в памяти список соответствий "файл"-"размер". Поле "размер" заполнять при получении данных соответствующей колонки. При следующем обновлении списка файлов брать размер из буфера. Буфер также можно заполнять и при получении самого файла; в общем получается что-то вроде кеша для атрибутов.

Хотя я бы сделал вывод размера опциональным. У пользователя быстрое соединение и безлимитный траффик? Он выбирает соответствующую галочку, и все атрибуты запрашиваются сразу. Нет? Тогда FsContentGetValue и поле размера размера как ft_delayed.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

D1P писал(а):У пользователя быстрое соединение и безлимитный траффик? Он выбирает соответствующую галочку, и все атрибуты запрашиваются сразу. Нет? Тогда FsContentGetValue и поле размера размера как ft_delayed.
А лучше просто сделать 2 поля размера файла - одно, которое возвращает сразу, а другое - которое в фоне, т.е. с ft_delayed. И тогда юзер сам выберет, какое из них использовать для колонки размера.
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

MVV писал(а):А лучше просто сделать 2 поля размера файла - одно, которое возвращает сразу, а другое - которое в фоне, т.е. с ft_delayed. И тогда юзер сам выберет, какое из них использовать для колонки размера.
Это не решит проблему подсчёта суммарного размера файлов и каталогов.
Ответить