Добавление иконки для списка

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7314
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Добавление иконки для списка

Сообщение Игорь Столяров »

Привет всем ! :)

Есть некий список, для которого определены иконки, т.е.

Код: Выделить всё

  ?MyList{Prop:IconList,1} = Icon:Blank
  ?MyList{Prop:IconList,2} = '~exit.ico'
  ...
  ?MyList{Prop:IconList,5} = 'folder.ico'  
  ?MyList{Prop:IconList,9} = '~select.ico'
Можно ли как-то узнать максимальный номер определённой для LIST иконки для добавления новой иконки ?
Без перебора всего массива (размерность которого, кстати, неизвестна). Заранее спасибо ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4958
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Добавление иконки для списка

Сообщение kreator »

Чисто академический интерес? Что-то практику не пойму.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7314
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Добавление иконки для списка

Сообщение Игорь Столяров »

kreator писал(а): 11 Январь 2019, 13:43Что-то практику не пойму.
А я не понимаю как работает телевизор, но это не мешает мне его смотреть. :)

1. Есть процедура, в которую передаётся ?LIST и она заменяет все его иконки на другой стиль или размер.
2. Есть класс, который добавляет для ?LIST подсветку выбора записи иконкой в разных вариантах.

и т.д. т.е. на самом деле много случаев, когда надо неким образом обработать список иконок LIST.
Но что бы это сделать, надо знать до куда их обрабатывать … Т.е. сколько уже иконок объявлено для ?LIST.
Сейчас это делается тупым перебором на основании предположения, что больше 100 их вроде бы быть не должно. :(
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4958
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Добавление иконки для списка

Сообщение kreator »

В Вашем первом посте было желание добавить. Во втором уже изменить. Разные вещи. Я почему спрашиваю? Потому что, не пойму зачем? Теоретически может быть так. У меня есть столбец с иконкой. Я даю возможность пользователю настроить условия на "его" иконки. Т.е. нужно не только добавить "его" иконки в массив "prop:IconList", но и динамически обработать его условия и правильно подложить его иконки (записать в поле "_Icon" правильный номер в методе SetQueueRecord). Как-то так.
А вообще я бы не стал перебирать этот массив. Заполнял бы его с сотой (двухсотой) позиции и всё. Или есть проблемы с этим?
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Добавление иконки для списка

Сообщение gopstop2007 »

kreator писал(а): 11 Январь 2019, 15:11 А вообще я бы не стал перебирать этот массив. Заполнял бы его с сотой (двухсотой) позиции и всё. Или есть проблемы с этим?
тоже самое делаю, когда вместо иконок присваиваю свои картинки :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4958
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Добавление иконки для списка

Сообщение kreator »

gopstop2007 писал(а): 11 Январь 2019, 15:18 тоже самое делаю, когда вместо иконок присваиваю свои картинки :)
Просто перестраховка от своих действий в дизайнере? Ведь я изначально знаю сколько у меня в этом массиве членов.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7314
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Добавление иконки для списка

Сообщение Игорь Столяров »

kreator писал(а): 11 Январь 2019, 15:11В Вашем первом посте было желание добавить. Во втором уже изменить.
Я такой непостоянный … :)
Сейчас обработка списка икон LIST и решается для всех задач их перебором … Вопрос в том, что если мы где-то и как-то изменяем
этот список, а потом хотим это повторить - то возникает вопрос ДОКУДА перебирать-то этот массив ? Сколько сейчас икон прикреплено к LIST ?
За теми кто отстал - не возвращаться. (С) Кодекс
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

Добавление иконки для списка

Сообщение Ал »

Игорь Столяров писал(а): 11 Январь 2019, 16:26
kreator писал(а): 11 Январь 2019, 15:11В Вашем первом посте было желание добавить. Во втором уже изменить.
Я такой непостоянный … :)
Сейчас обработка списка икон LIST и решается для всех задач их перебором … Вопрос в том, что если мы где-то и как-то изменяем
этот список, а потом хотим это повторить - то возникает вопрос ДОКУДА перебирать-то этот массив ? Сколько сейчас икон прикреплено к LIST ?
пиши куда-нибудь на память...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7314
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Добавление иконки для списка

Сообщение Игорь Столяров »

Ал писал(а): 11 Январь 2019, 16:58пиши куда-нибудь на память...
Это конечно правильно, но в 2019 г. уже хочется-то какое-то общее решение.
Особенно если делаешь класс и методы для обработки очень разных списков … :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3130
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Добавление иконки для списка

Сообщение Дед Пахом »

Тут могут пригодиться custom properties: ?list{'TotalIcons'} = 25
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7314
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Добавление иконки для списка

Сообщение Игорь Столяров »

Дед Пахом писал(а): 11 Январь 2019, 17:08Тут могут пригодиться custom properties: ?list{'TotalIcons'} = 25
Упс ! А слона-то я и не заметил … А где можно посмотреть описание этого параметра ?
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3130
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Добавление иконки для списка

Сообщение Дед Пахом »

Не этого параметра (TotalIcons я только что сам придумал), а User defined properties вот тут.
Вложения
User_Defined_Properties.png
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7314
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Добавление иконки для списка

Сообщение Игорь Столяров »

Дед Пахом писал(а): 11 Январь 2019, 17:33TotalIcons я только что сам придумал
А жаль. С Вашей бы придумкой - да в SoftVelocity работать … :)
Т.е. трамвай сделал круг и в общем-то современная наука не знает общего решения вопроса.

Тупо перебираем иконки в LIST до какой-нибудь цифры N (или даже цифры K) и молимся что выше ничего нет … ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3130
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Добавление иконки для списка

Сообщение Дед Пахом »

Игорь Столяров писал(а): 11 Январь 2019, 11:42?MyList{Prop:IconList,1} = Icon:Blank
Я бы сделал процедуру AddIconToList(SIGNED pListFeq, BYTE pIconNumber, STRING pIconValue):

Код: Выделить всё

  pListFeq{Prop:IconList, pIconNumber} = pIconValue
  pListFeq{'TotalIcons'} = pListFeq{'TotalIcons'} + 1
и заменил бы все прямые присвоения ?MyList{Prop:IconList,1} = Icon:Blank на вызов процедуры, и для любого LIST имел бы известное значение 'TotalIcons'.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7314
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Добавление иконки для списка

Сообщение Игорь Столяров »

Дед Пахом писал(а): 11 Январь 2019, 18:05заменил бы все прямые присвоения ?MyList{Prop:IconList,1} = Icon:Blank на вызов процедуры
Да, это было бы то, что надо … но для того, что бы это работало надо править стандартные шаблоны …
Там ведь тоже идёт присвоение икон в LIST.
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить