tavria2

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Drusus Цитата: Можно ли как-то список зафиксировать? | Я пока затрудняюсь ответить на этот вопрос, нужно время для детального анализа. servint Код: tExt = {}; -- таблица расширений tCount = {}; -- таблица кол-ва tSize = {}; -- таблица размеров cPath = "C:\\MyFolder\\"; -- путь к файлам tFiles = File.Find(cPath, "*.*", false, false, nil, nil); -- таблица файлов if (tFiles) then -- если есть файлы local nIdx = 1; -- индекс (по умолчанию) for n, cFile in tFiles do -- в цикле перебираем имена файлов -- если расширение текущего имени файла не найдено в таблице расширений tExt if (String.Find(Table.Concat(tExt, ",", 1, TABLE_ALL), String.SplitPath(cFile).Extension, 1, false) == -1) then tExt[nIdx] = String.SplitPath(cFile).Extension; -- добавляем расширение в таблицу расширений tExt nIdx = nIdx + 1; -- наращиваем индекс end end end if (Table.Count(tExt) ~= 0) then -- если таблица расширений не пустая for n, cExt in tExt do -- в цикле перебираем расширения файлов local nSize = 0; -- размер (по умолчанию) local tMaskFiles = File.Find(cPath, "*"..cExt, false, false, nil, nil); -- таблица имен файлов соответствующих маске tCount[n] = Table.Count(tMaskFiles); -- добавляем кол-во файлов соответствующих маске в таблицу кол-ства if (Table.Count(tCount) ~= 0) then -- таблица кол-ства не пустая for i, cFile in tMaskFiles do -- в цикле перебираем имена файлов соответствующих маске nSize = nSize + File.GetSize(cFile); -- накапливаем размер файлов соответствующих маске end end tSize[n] = nSize; -- добавляем накопительный размер в таблицу размеров end end local cInfo ="ТИП\t\tКОЛ-ВО\t\tРАЗМЕР\r\n"; -- инфо (шапка) for n=1, Table.Count(tExt) do cInfo = cInfo..tExt[n].."\t\t"..tCount[n].."\t\t"..tSize[n].."\r\n"; -- формируем строку инфо end Dialog.Message("Инфо", cInfo); -- вывод инфо на экран |
|