|
НайтиФайлы(), Маска | ☑ | ||
---|---|---|---|---|
0
Om_Bun
18.06.12
✎
15:31
|
НайтиФайлы(<Путь>, <Маска>, <ИскатьВПодкаталогах>)
Можно ли в параметре Маска указать несколько масок *.jpg,*.jpeg,*.jpe,*.jfif,*.bmp,*.dip,*.tif,*.tiff,*.gif,*.png тоесть несколько типов файлов? |
|||
1
mikecool
18.06.12
✎
15:37
|
да
покупай СП недорого |
|||
2
Бледно Золотистый
18.06.12
✎
15:43
|
(1) Разве? В диалоге работает, а вот в НайтиФайлы не прокатит. Выход - искать по списку и объединять.
|
|||
3
mikecool
18.06.12
✎
15:47
|
а, попутался, работает, работает, но возвращает пустой массив
|
|||
4
andrewks
18.06.12
✎
15:49
|
(0) нет. цикл предлагать?
|
|||
5
Om_Bun
18.06.12
✎
16:02
|
предлагать (4)
любой рабочий вариант пожалуйста |
|||
6
Reset
18.06.12
✎
16:06
|
(5) Так предложили же - цикл. Несколько раз вызывай. Или получай все *.* и отбирай программно
|
|||
7
Om_Bun
18.06.12
✎
17:16
|
Разобрался сделал вот так
Если СокрЛП(КаталогИзображений)="" Тогда Возврат; КонецЕсли; ПередПоиском() ; Маска = Новый Структура(); Маска.Вставить("jpeg", "*.jpeg"); Маска.Вставить("jpg", "*.jpg"); Маска.Вставить("png", "*.png"); Маска.Вставить("png", "*.bmp"); Маска.Вставить("png", "*.gif"); Для каждого Тип Из Маска Цикл МассивФайлов = НайтиФайлы(КаталогИзображений,Тип.Значение); Счетчик = 1; Для Каждого Файл Из МассивФайлов Цикл ОбработкаПрерыванияПользователя(); ИмяКартинки = "К_" + Счетчик; Попытка ПокаКартинки = ЭлементыФормы.Добавить(Тип("ПолеКартинки"), ИмяКартинки, Истина, ЭлементыФормы.ПанельРезультатов); ПокаКартинки.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная); ПокаКартинки.Лево = 100 * (Счетчик % КоличествоСтолбцов); ПокаКартинки.Верх = Цел((Счетчик / КоличествоСтолбцов)) * 100; ПокаКартинки.Высота = 100; ПокаКартинки.Ширина = 100; ПокаКартинки.РазмерКартинки = РазмерКартинки.Пропорционально; ПокаКартинки.РазрешитьНачалоПеретаскивания = Истина; ПокаКартинки.ЦветРамки = WebЦвета.Черный; ПокаКартинки.КонтекстноеМеню = ЭлементыФормы.КоманднаяПанельКартинок.Кнопки.Действия; Рисунок = Новый Картинка(Файл.Имя); ПокаКартинки.Картинка = Рисунок; ИмяКартинки = ""; Исключение Сообщить(ОписаниеОшибки()) КонецПопытки; Счетчик = Счетчик + 1; КонецЦикла; КонецЦикла; Но есть проблема при повторном открытий каталога выдает сообщение {Форма.Форма.Форма(98)}: Ошибка при вызове метода контекста (Добавить): Недопустимое значение параметра (параметр номер '2') (Не уникальное имя! (К_1)) |
|||
8
andrewks
18.06.12
✎
17:47
|
а зачем ты три раза пытаешься вставить по ключу "png"?
и второе: в элементы формы опять добавляешь К_1 и т.д., а удалить? либо удалять, либо проверять и не добавлять повторно |
|||
9
Om_Bun
18.06.12
✎
17:59
|
(8) а подробней можно
|
|||
10
DitriX
18.06.12
✎
20:00
|
(9) имеется вводу при повторном выполнении процедуры у вас вылетит та ошибка, которую вы описали, для этого надо вставить затычку
Элем = Элементы.Найти(ИмяКартинки); Если Элем = Неопределено Тогда ПокаКартинки = ЭлементыФормы.Добавить(Тип("ПолеКартинки"), ИмяКартинки, Истина, ЭлементыФормы.ПанельРезультатов); КонецЕсли; И все будет гутн |
|||
11
DitriX
18.06.12
✎
20:01
|
сори - вместо Элем надо ПокаКартинки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |