|
v7: Как программно установить картинки на все блоки в форме | ☑ | ||
---|---|---|---|---|
0
BPAvel
18.08.13
✎
13:55
|
Есть несколько блоков для картинок в форме, как программно установить картинки на все блоки в форме в цикле
Сейчас написал так: Перем Блоки; Сп = СоздатьОбъект("СписокЗначений"); Сп.УдалитьВсе(); Блоки = СоздатьОбъект("Текст"); Путь = КаталогИБ()+"\bmp\"; Блоки.Открыть(Путь+"\bmp.txt"); Для Сч=1 По 4 Цикл Стр = Блоки.ПолучитьСтроку(Сч); Сп.ИзСтрокиСРазделителями(СтрЗаменить(Стр,";",",")); Стр=СтрЗаменить(Стр,"""",""); Стр=""""+СтрЗаменить(Стр,",",""",""")+""""; картинка=СоздатьОбъект("Картинка"); картинка.Загрузить(Путь+Сп.ПолучитьЗначение(1)); картинка.РежимРисования(Сп.ПолучитьЗначение(2)); Если Сч = 1 Тогда Попытка Блок1.УстановитьКартинку(картинка); Исключение КонецПопытки; ИначеЕсли Сч = 2 Тогда Попытка Блок2.УстановитьКартинку(картинка); Исключение КонецПопытки; ИначеЕсли Сч = 3 Тогда Попытка Блок3.УстановитьКартинку(картинка); Исключение КонецПопытки; ИначеЕсли Сч = 4 Тогда Попытка Блок4.УстановитьКартинку(картинка); Исключение КонецПопытки; КонецЕсли; КонецЦикла; хотелось бы как то в цикле |
|||
1
Armando
18.08.13
✎
14:02
|
Для Сч=1 По 4 Цикл
это ли не цикл? |
|||
2
Armando
18.08.13
✎
14:03
|
Блок1,Блок2,Блок3,Блок4 это что? откуда взялось?
|
|||
3
Злопчинский
18.08.13
✎
14:03
|
В цикле Атрибут=ПолучитьАтрибут() и потом Атрибут.УстановитьКартинку()..??
|
|||
4
ADirks
18.08.13
✎
14:10
|
штатно - через шаблон()
Функция УстановитьКартинкуБлока(Блок, Картинка) Блок.УстановитьКартинку(Картинка); Возврат ""; КонецФункции ... Шаблон("УстановитьКартинкуБлока(Блок"+нБлок+", Картинка)"); |
|||
5
BPAvel
18.08.13
✎
14:31
|
(4)
если пишу так: Шаблон("УстановитьКартинкуБлока(Блок"+сч+", Картинка)"); то функция УстановитьКартинкуБлока вообще необрабатывается а если так: Шаблон(УстановитьКартинкуБлока("Блок"+сч, Картинка)); то ошибка: Значение не представляет агрегатный объект (УстановитьКартинку) |
|||
6
BPAvel
18.08.13
✎
14:32
|
(2) это элементы в форме со свойством - картинка
|
|||
7
BPAvel
18.08.13
✎
15:09
|
Процедура Загрузить()
Перем Блоки; Сп = СоздатьОбъект("СписокЗначений"); Сп.УдалитьВсе(); Блоки = СоздатьОбъект("Текст"); Путь = КаталогИБ()+"\bmp\"; Блоки.Открыть(Путь+"\bmp.txt"); Для Сч=1 По 4 Цикл Стр = Блоки.ПолучитьСтроку(Сч); Сп.ИзСтрокиСРазделителями(СтрЗаменить(Стр,";",",")); Стр=СтрЗаменить(Стр,"""",""); Стр=""""+СтрЗаменить(Стр,",",""",""")+""""; Картинка=СоздатьОбъект("Картинка"); Картинка.Загрузить(Путь+Сп.ПолучитьЗначение(1)); Картинка.РежимРисования(Сп.ПолучитьЗначение(2)); Шаблон("Блок"+сч).УстановитьКартинку(Картинка); КонецПроцедуры ошибка: Шаблон("Блок"+сч).УстановитьКартинку(Картинка) Значение не представляет агрегатный объект (УстановитьКартинку) |
|||
8
Злопчинский
18.08.13
✎
15:11
|
(7) не надо методом 3П, делай как в (4) написали
|
|||
9
ADirks
18.08.13
✎
15:55
|
ошибся маленько
Шаблон("[УстановитьКартинкуБлока(Блок"+нБлок+", Картинка)]"); |
|||
10
BPAvel
18.08.13
✎
16:24
|
(9) спасибо!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |