saavaage
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору tavria2 небольшая модификация вашего скрипта из расчета, что listbox выводится на отдельную страницу и при возвращении на главную и обратно происходит добавление старых записей по новой в listbox. Решил так: -- проверка наличя таблицы и ее очистка от предыдущих значений if tFiles then n = Table.Count(tFiles); for x = 1, n do Table.Remove(tFiles, x); end end -- функция заполнения таблицы на основании критерия строки 11 function CB(FoundPath) local sExt = String.SplitPath(FoundPath).Extension; if (sExt == ".doc") or (sExt == ".pdf") or (sExt == ".mht") or (sExt == ".chm") then if not tFiles then tFiles = {}; end Table.Insert(tFiles, Table.Count(tFiles) + 1, FoundPath); end return true end -- отчистка listbox от предыдущих значений ListBox.DeleteItem("Docs", LB_ALLITEMS); -- заполнение таблицы для listbox на основании данных каталога DOCS и функции CB File.Find("DOCS", "*", false, false, nil, CB); -- заполнение listbox значениями таблицы if (tFiles) then for i,sFilePath in tFiles do tFileParts = String.SplitPath(sFilePath); -- this breaks everypart of the filepath sFileName = tFileParts.Filename; -- this one is the Filename only sFileExtension = tFileParts.Extension; -- this one is File Extension only sFullFileName = sFileName..sFileExtension; ListBox.AddItem("Docs", sFullFileName, sFilePath); -- add to the ListBox end end Прошу посмотреть, не корявое ли решение... |