|
4 / 4 / 0
Регистрация: 01.02.2013
Сообщений: 139
|
|||||||||||
Переборка элементов17.08.2015, 22:05. Показов 2444. Ответов 11
Метки нет (Все метки)
Всем привет. Вопрос такой, возможно ли программно изменять имя объекта ? Поясню о чем я:
У меня есть множество элементов одного и того же класса, на пример TButton. И идея собственно в том, чтобы скомпоновать обработку элементов, а именно не в ручную перебирать все кнопки button1, button2, button3 ... button159
0
|
|||||||||||
| 17.08.2015, 22:05 | |
|
Ответы с готовыми решениями:
11
Переборка элементов матрицы для построения др. матрицы
Переборка значений переменной |
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|||||||||||
| 18.08.2015, 00:48 | |||||||||||
|
Если компоненты (кнопки) обзывались "монотонно", то достаточно создать глобальный массив, напр. myBut[160] и в цикле__
Кстати, тут же и загадка: если вышеприведённый фрагмент стартануть на форме, где есть PageControl с 3-мя вкладками, на первой из которых Memo1, а на остальных двух по 80 кнопок, - то список в Memo выводится не полный: от Button1 до Button158 (всего компонентов насчитывает 165: 160 кнопок,Memo,PageControl и три TabSheet) Why?? Где зарыта собака? Добавлено через 40 минут .. одну ошибку нашёл сам_
0
|
|||||||||||
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
||||||
| 18.08.2015, 05:39 | ||||||
|
nick42, Выполните в уме или на бумажке все действия согласно очередности в следующей строке
0
|
||||||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||||||
| 18.08.2015, 08:09 | ||||||
|
Верно! Про очерёдность я как-то не подумал. Тогда правильнее так__
0
|
||||||
|
управление сложностью
|
|
| 18.08.2015, 09:21 | |
|
Так, вроде, же недавно было похожее, перебор компонент
Как урезать код (CheckBox)
0
|
|
|
Модератор
|
||||||
| 18.08.2015, 11:06 | ||||||
|
Вот так можно (без привязки к имени компонента)
0
|
||||||
|
Супер-модератор
|
||||||
| 18.08.2015, 12:56 | ||||||
|
Я бы вообще перегрузил в форме обработку сообщения об изменении списка контролов:
1
|
||||||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|||||||||||
| 18.08.2015, 17:06 | |||||||||||
|
Я попробовал с эдитами (10 шт. на табшитах) по примеру volvo, и не могу понять, почему не отрабатывает изменение стиля__
Добавлено через 1 час 57 минут П.С. Пока пришёл у выводу, что обработка при ControlChange "запаздывает" (или типа того). Потому что переделанная таким образом...
![]() Добавлено через 6 минут .. исправьте, кто понимает. Тестовое приложение, на котором я экспериментирую, после корректировки эдитов вообще входит в ступор... - не реагирует на переключение вкладки, на попытку вызвать системное меню или просто закрыть приложение. Ужас.
0
|
|||||||||||
|
Супер-модератор
|
||
| 18.08.2015, 17:20 | ||
|
Это вообще некорректный способ установки стилей, MSDN явно говорит:
Не надо играть против правил ОС - не будет неожиданностей.
1
|
||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 18.08.2015, 19:35 | |
|
Что касается "ступора" программы, то тут всё просто. Запивая тараньку, я вдруг тихо осознал, что нельзя вот так запросто с тонкими свойствами компонента формы. Если вот ту 0x02L заменить на более правильное 0x440100C2L, то всё нормально устаканивается, и те же эдиты становятся послушными как овечки. Хотя, конечно, правильнее всё же как рекомендуется, - использовать старое значение, изменив в нём лишь несколько нужных битов. Сложнее с объяснением поведения программы. Нет! я могу, конечно, понять, что вмешался с изменением свойств компонента прямо на этапе его создания, и система просто проигнорировала вписанные мной в структуру (вернее: заготовку для структуры) компонента значения, заменив их шаблонными и ничего мне об этом не сообщив. Но ведь не было ни разу сообщения об ошибке, даже "варнинга".
0
|
|
|
Супер-модератор
|
|||||||
| 19.08.2015, 11:24 | |||||||
Ну, или (на новых версиях Билдера) изменение Alignment-а Edit-ов на taRightJustify в методе CMControlListChange. Это не будет нарушать запретов MS. А вот для случая, описанного в первом посте, отлов CM_CONTROLLISTCHANGE - то, что нужно. Потому что работать со свойством Enabled можно в любой момент после создания компонента.
0
|
|||||||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|||
| 19.08.2015, 12:20 | |||
|
И по поводу метода присвоения
0
|
|||
| 19.08.2015, 12:20 | |
|
Помогаю со студенческими работами здесь
12
Переборка комбинаций объектов В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов. Найти количество элементов, больших среднего всех элементов массива и максимум из элементов с четным номером Найти суммы четных элементов (элементов с четным номером) массива вещественных чисел A(22) и нечетных элементов Определить сумму указанных элементов, количество нечетных элементов и среднее арифметическое четных элементов массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|