Author |
Topic |
|
Michael
49 Posts |
Posted - 09/28/2003 : 08:18:32
|
Необходимо сделать в одном стенсиле несколько заготовок (автопозиционируемая рамка) которые различаются одним-двумя параметрами (допустим заливка, толщина линий). Можно ли в невидимый слой поместить несколько образцов, пронумеровав их 1-n, а затем в соответствии со значением кастом_пропертис выбрать соответствующий порядковый номер из другого списка? Более конкретно: есть 7 вариантов заливок, но номерация их паттернов идет не подряд 28-30, 36-39. Можно ли значение кастом_пропертис использовать как номер скратч-ячейки? Или, если нельзя, как сделать по-другому (желательно без VBA)? |
|
Tumanov
Russia
1198 Posts |
Posted - 09/28/2003 : 13:17:26
|
Не очень понял проблему, но все равно отвечаю :) Пример: Берем прямоугольник и делаем ему одно Custom Properties со значениями: - Label - MyPattern - Type - Fixed List - Format - 1;2;12;22 - Value - 2 А в ячейку Fill Pattern загоняем вложенный If типа =IF(Prop.Row_1=1;2;IF(Prop.Row_1=2;3;IF(Prop.Row_1=12;4;8))) Расшифровка: Если пользовательское свойство = 1, назначить Pattern = 2, Иначе следующий If Если пользовательское свойство = 2, назначить Pattern = 3, Иначе следующий If Если пользовательское свойство = 12, назначить Pattern = 4, Иначе назанчить Pattern = 8 То есть значения одного списка перекодируются в значения другого списка. В Custom Properties выбираются значения из 1, 2, 12, 22, а Pattern получается соответственно 2, 3, 4, 8.
|
|
|
Michael
49 Posts |
Posted - 09/28/2003 : 13:27:22
|
спасибо за ответ господину Туманову, так я и делал, однако такая система условий хороша для небольшого количества элементов в списке :-), меня интересует более общий подход, можно ли элемент списка 1,2,3,...,n (fixed type в custom properties) использовать как параметр ссылки, например на строку user.row_n.
|
|
|
Tumanov
Russia
1198 Posts |
Posted - 09/28/2003 : 16:43:47
|
:) Элементарно!
Делаем Format попроще - 1;2;3;4 Именуем 4 ячейки в User тоже 1, 2, 3, 4 - Это не обязательно, просто ссылаться на User.1 проще, чем на User.row_1. В User прописываем, например, str1, str2, str3, str4. А в Scratch всовываем вообще страшную штуку - =GUARD(SETF(GetRef(Fields.Value);"=User."&Prop.Row_1))
Теперь, выбирая значения Custom Properties, мы видим, как в текстовом поле шейпа появляется текст str1, str2 и т.д., который записан в разных ячейках User.
|
|
|
Michael
49 Posts |
Posted - 09/28/2003 : 17:30:28
|
Чистая эстетика :) Чего я и добивался, так что, в очередной раз, вам большое спасибо! |
|
|
|
Topic |
|
|
|