Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39

использование FindComponent в циклах для считывания/присвоения параметров существующих объектов

03.03.2011, 01:45. Показов 5980. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помочь разобраться как использовать FindComponent для обработки свойств существующих объектов в С++ Buider 2010

Задача: вывести из большого количества Edit'ов (TEdit *Edit) сдержимое их поля Text (Editn->Text) в файл
Дано: 42 объекта класса TEdit (соответcтвенно от Edit1 к Edit42)
а вывести надо примерно так:
C++
1
2
for (i=1;i<43;i++)
{out<<Editi->Text.t_str()<<endl;}
объясните пожалуйста как здесь использовать FindComponent.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.03.2011, 01:45
Ответы с готовыми решениями:

Можно ли и целесообразно ли использовать лямбду для присвоения значений полям массива объектов?
Хочу использовать лямбду для присвоения значений полям массива объектов(такое что :- int size = 0; cin &gt;&gt; size; Children*ch=new...

Программа для считывания параметров привода через PROFIdrive
Есть люди, которые могут подсказать информацию о том, как на Delphi написать простую программу для считывания параметров привода через...

использование прерывания 21h для считывания с клавиатуры
Разработать, написать и отладить программу управления перемещением символа (например, &quot;*&quot;) в пределах заданного на экране окна.

37
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39
03.03.2011, 04:36  [ТС]
Студворк — интернет-сервис помощи студентам
не блин как тока пытаюсь обратится к свойству компонента в if он поднимает exeption... без разницы что к Tag что к Name
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.03.2011, 04:39
C++
1
2
3
4
for(int i = 0; i < ComponentCount; i++) {
TEdit* edit;
edit = dynamic_cast<TEdit*>(Components[i]);
if (edit) {out<< ...}
я бы все же попробовал так
0
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39
03.03.2011, 04:42  [ТС]
а вообще где у объекта хранится тот номер по которому бегает ComponentCount? или такого нет и в ComponentCount просто количество объектов?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.03.2011, 04:46
наверное,
просто количество объектов
Добавлено через 1 минуту
свойства, которые характеризуют элемент управления, поскольку, объект может и не быть оным, это имя, таг, цвет, ширина, высота и пр.
0
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39
03.03.2011, 04:47  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
C++
1
2
3
4
for(int i = 0; i < ComponentCount; i++) {
TEdit* edit;
edit = dynamic_cast<TEdit*>(Components[i]);
if (edit) {out<< ...}
я бы все же попробовал так
ну так он мне и выдаст все 42 Edit'а..

я конечно могу ограничить количество циклов через if (ciclecount>7) {break;} но это не вариант потому как мне потом необходимо выводить в другом блоке следующие Edit8 - Edit14...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.03.2011, 04:50
я имел ввиду
C++
1
if (edit) {out<< ...}
без Name
0
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39
03.03.2011, 04:53  [ТС]
тык а функция FindComponent то тут никак не поможет? просто мне препод сказал что через неё как то можно....

Добавлено через 1 минуту
Цитата Сообщение от LK Посмотреть сообщение
я имел ввиду
C++
1
if (edit) {out<< ...}
без Name
ну так и будет без name он переберет все 42 Edit'а
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.03.2011, 05:00
так в чем дело ? пробуйте
C++
1
if (FindComponent(Edit->Name))
0
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39
03.03.2011, 05:11  [ТС]
нет каждый раз когда пытаюсь считать свойство name или tag поднемает exception... в чем проблема неясно...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.03.2011, 05:12
ты хоть текст исключения привести можешь?
0
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39
03.03.2011, 05:14  [ТС]
Access violation at adress 500C4058 in module 'rtl140.bpl'. Read of address 00000008
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.03.2011, 05:18
а так
C++
1
2
3
4
TEdit *edit = (TEdit *)FindComponent("Edit1");
  if (edit)
// or
  if (edit!=0)
1
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39
03.03.2011, 05:31  [ТС]
C++
1
2
3
4
5
6
7
8
9
    out<<"\n<td>\n<ol>"<<endl;
    for (j = 0; j < 8; j++)
        {
        TEdit *edit = (TEdit *)FindComponent("Edit"+IntToStr(j));
        if (edit)
        {out<<"<li>"<<edit->Text.t_str()<<"</li>"<<endl;}
        }
    out<<"</ol>\n</td>";
    }
вот так работает фухх)) разобрались, спасибо большое за уделенное время
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.03.2011, 05:32
и вам спасибо...
0
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39
05.03.2011, 02:13  [ТС]
C++
1
TEdit *edit = (TEdit *)FindComponent("Edit"+IntToStr(j));
кстати LK а не могли бы вы объяснить мне эту строчку?
я так понимаю что TEdit *edit = (TEdit *) - вызов конструктора класса Tedit для объекта edit а вот суть параметров разобрать не могу объясните плиз....
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.03.2011, 02:24
http://translated.by/you/a-beg... -ru/trans/
http://allk.ru/book/10/89.html
с утра экономим на пиве и копим на книгу уважаемого Стефана Р. Дэвиса .
0
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39
05.03.2011, 02:34  [ТС]
т.е. получается что это указатель на Edit c именем возвращаемым FindComponent?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.03.2011, 05:05
как то так
http://shatalov.su/cpp_primer/pointer.php
http://window.edu.ru/window/li... 1&p_page=9
http://window.edu.ru/window_ca... stu195.pdf
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.03.2011, 05:05

Использование CURL для считывания информации из дивов
Хочу попробовать написать самостоятельно скрипт, ибо очень нужен, который будет считывать информацию со страницы, которую я буду вводить...

Создание объектов на основе уже существующих
Добрый день! Есть список объектов List&lt;classA&gt; lst = new List&lt;classA&gt;(); В котором хранятся список его наследников с со своими...

Применение циклов для расчета параметров объектов на С++
Здравствуйте! Помогите, пожалуйста, в решении такой проблемы. Написал простенькую программу на С++, в главной функции рассчитываются...

Можно ли как-то получить коллекцию всех существующих объектов класса?
Добрый вечер. Предположим я насоздавал объектов, сколько не известно. Предположим они создаются по нажатию кнопки. Есть ли способ...

Использование параметров для запроса в MYSQL
Добрый день. Подскажите что не правильно делаю... Мануал Mysql читал, делал по нему, но увы с параметрами не получилось... Проблема...


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

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru