Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для bad_luck_ho_ho
2 / 2 / 1
Регистрация: 19.07.2015
Сообщений: 37

Изменение свойств компонента по Tag

27.07.2015, 15:26. Показов 2464. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.
Нужна помощь в решении вот какой задачи. Как изменить/прочитать значения свойств компонента зная только его Tag?

Я использую вот какой метод, но почему то обращение происходит ко всем компонентам не зависимо от значения Tag.

C++
1
2
3
4
5
6
7
8
9
10
11
12
//---------------------------------------------------------------------------------------------------------------------
for(int i=1; i<(Form1->ComponentCount-1); i++)
                    {
                         if(Form1->Components[i]->ClassNameIs("TsCheckBox"))
                           {
                              if((4>=(Form1->Components[i]->Tag))||((Form1->Components[i]->Tag)<=8))
                              {
                                 ((TsCheckBox *)Form1->Components[i])->Checked = true;
                              }
                          }
                    }
//---------------------------------------------------------------------------------------------------------------------
Заранее благодарю за конструктивные ответы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.07.2015, 15:26
Ответы с готовыми решениями:

IBDatabase - изменение свойств компонента из программы и как результат - не выводит данные
Подскажите пожалуйста, где я не прав, задача такая, есть БД, запускаем программу, ввобдим адрес до бд, коннектимся, отправляем запросы,...

Изменение свойств новосозданного компонента
Здравствуйте! Мне нужно в компоненте на основе комбобокса заполнить содержимое выпадающего списка разными шрифтами. Вкурив несколько...

Изменение свойств динамически созданного компонента
Здравствуйте! Из подключенного DLL файла динамически создаю форму, также динамически размещаю на ней компоненты. Хочется узнать, как к...

14
Модератор
 Аватар для vxg
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
27.07.2015, 16:08
если вы присвоили компоненту Tag то безусловно вы можете перебрать все компоненты и найти компонент с заданным Tag. ваш код модифицирует все компоненты с Tag больше 4 или меньше 8. то есть на самом деле - компоненты с любым значением Tag
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,008
27.07.2015, 16:10
Странное условие - если Tag <= 4 или <= 8. Получается, если Tag <= 8, на чекбоксах ставится галка.
0
 Аватар для bad_luck_ho_ho
2 / 2 / 1
Регистрация: 19.07.2015
Сообщений: 37
27.07.2015, 16:24  [ТС]
Ну вообще то от 4 до 8.....
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,008
27.07.2015, 16:26
Неужели. От 4 до 8 это
C++
1
if((4<=(Form1->Components[i]->Tag))&&((Form1->Components[i]->Tag)<=8))
Найти пару отличий.
2
 Аватар для bad_luck_ho_ho
2 / 2 / 1
Регистрация: 19.07.2015
Сообщений: 37
27.07.2015, 16:36  [ТС]
Согласен. Мой косяк.
Есть ли возможность без перебора обратиться к компоненту, только по тагу ?
0
Модератор
 Аватар для vxg
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
27.07.2015, 16:40
Цитата Сообщение от bad_luck_ho_ho Посмотреть сообщение
Есть ли возможность без перебора обратиться к компоненту, только по тагу ?
если вы сделаете тагом указатель на этот же самый объект то да)
0
 Аватар для bad_luck_ho_ho
2 / 2 / 1
Регистрация: 19.07.2015
Сообщений: 37
27.07.2015, 17:02  [ТС]
Цитата Сообщение от vxg Посмотреть сообщение
если вы сделаете тагом указатель на этот же самый объект то да)
С этого момента по подробнее пожалста !
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33193 / 21489 / 8233
Регистрация: 22.10.2011
Сообщений: 36,875
Записей в блоге: 12
28.07.2015, 09:36
Цитата Сообщение от bad_luck_ho_ho Посмотреть сообщение
Есть ли возможность без перебора обратиться к компоненту, только по тагу ?
Нет. В любом случае будет перебор, хоть по тегу, хоть по имени компонента - все равно перебираются все компоненты (FindComponent - это тоже перебор, только скрытый от глаз в модуле Classes)
0
 Аватар для bad_luck_ho_ho
2 / 2 / 1
Регистрация: 19.07.2015
Сообщений: 37
28.07.2015, 13:41  [ТС]
Ну раз нельзя без перебора, буду по старинке в for'e делать обращение.
Всем огромное спасибо за ответы.
0
Модератор
 Аватар для vxg
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
28.07.2015, 16:29
Цитата Сообщение от bad_luck_ho_ho Посмотреть сообщение
С этого момента по подробнее пожалста !
тег это число. указатель на компонент тоже число. если вы присвоите тегу это число то потом сможете вызывать его) правда это ничем не отличается от ситуации когда вы просто имеете указатель на компонент
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
29.07.2015, 13:43
Цитата Сообщение от vxg Посмотреть сообщение
тег это число. указатель на компонент тоже число. если вы присвоите тегу это число то потом сможете вызывать его) правда это ничем не отличается от ситуации когда вы просто имеете указатель на компонент
А для чего тэг используется ? Сори за отклонение
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33193 / 21489 / 8233
Регистрация: 22.10.2011
Сообщений: 36,875
Записей в блоге: 12
29.07.2015, 14:01
TComponent.Tag
Tag has no predefined meaning. The Tag property can store any additional integer value for the convenience of developers
1
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
29.07.2015, 14:03
Спасибо большое, теперь понял
0
29.07.2015, 22:13

Не по теме:

Цэ лычка. Вот у меня тут летехи в кнопках за выслугу, а тут капитаны-групбоксы. Ну, и правит балом генерал application. :D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2015, 22:13
Помогаю со студенческими работами здесь

Изменение свойств компонента из дополнительного модуля
Здравствуйте. У меня в программе имеется дополнительный модуль, который я прописал в &quot;uses&quot;. Понадобилось, чтобы функция в этом...

Изменение свойств компонента из класса в котором не был создан этот компонент
Требуется изменить текст на кнопке с помощью вызова процедуры из другого класса в новом потоке. Рабочий код без нового потока: ...

Поиск компонента по Tag'y
Можно выполнить поиск компонента зная его Tag? Добавлено через 37 секунд Компоненты разные Добавлено через 8 минут ...

Редактор свойств компонента
Подскажите, как возможно реализовать вызов редактора свойства в собственном компоненте (например, как свойство Lines у TMemo)?

Odd tag in Exec! Odd tag in Cleanup! Odd tag in CreateGroup! UnityEditor.DockArea:OnGUI()
Здравствуйте, столкнулся с такими ошибками Odd tag in Exec! Odd tag in Cleanup! Odd tag in CreateGroup! ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru