|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
Создание глобальной переменной по ходу работы программы03.03.2013, 18:33. Показов 3108. Ответов 14
Метки нет (Все метки)
И так, мне нужно создать глобальную переменную в ходе исполнения программы. На самом деле всё чуть сложнее, нужно создать глобальный идентификатор.
Просто глобальную переменную можно через динамический массив, например заранее создать динамический массив int типов, и просто по ходу исполнения программы добавлять новую перменную в массив. Можно даже создать HWND hCombo/hEdit и т.п. используя принцип динамического массива. Но как создать идентификатор для этих окон? ( имеется в виду #define ID_COMBO[n] )
0
|
|
| 03.03.2013, 18:33 | |
|
Ответы с готовыми решениями:
14
Добавление новой переменной по ходу работы программы Создание глобальной переменной Создание глобальной переменной |
|
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
|
|||||||||||
| 06.03.2013, 13:25 | |||||||||||
|
По-моему, вы сами ответили на свой вопрос.
То есть создайте динамический массив типа int и заполняйте его уникальными числами вида 100, 101 и т.д. Что есть #define ID_EDIT 100? это обычная константа с целым значением. Вместо ID_EDIT можно написать mas[0]. А в процедуру обработки сообщений добавить что-то в этом роде:
Может суть самой задачи изложите м альтернативное решение найдем? )) Добавлено через 12 секунд По-моему, вы сами ответили на свой вопрос. То есть создайте динамический массив типа int и заполняйте его уникальными числами вида 100, 101 и т.д. Что есть #define ID_EDIT 100? это обычная константа с целым значением. Вместо ID_EDIT можно написать mas[0]. А в процедуру обработки сообщений добавить что-то в этом роде:
Может суть самой задачи изложите м альтернативное решение найдем? ))
1
|
|||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||
| 06.03.2013, 14:25 [ТС] | |||
Спасибо большущее за помощь, в выходные проверю ваше решение этой "весьма удобной затеи" =) Единственное, вопрос по идентификатору:
0
|
|||
|
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
|
||||||
| 06.03.2013, 15:10 | ||||||
|
Хм.. вполне возможно.
Но я бы хранил и описатели окон для взаимодействия. Пример для вашего вопроса:
Добавлено через 9 минут Я бы подобную задачу реализовал иначе: создал бы новый класс для дочерних окон, в процедуре которого по событию WM_CREATE создавался бы Edit. В динамическом массиве хранил бы описатели создаваемых окон. И все действия по изменению эдита обрабатывал процедурой этих дочерних окон. И никаких манипуляций с идентификаторами.
0
|
||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||||||||
| 06.03.2013, 15:53 [ТС] | ||||||||||||
|
Типа:
0
|
||||||||||||
|
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
|
|
| 06.03.2013, 17:38 | |
|
0
|
|
|
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
|
||
| 06.03.2013, 18:14 | ||
|
С ними намного проще работать, чем с такой структурой. Вам нужно будет лишь описатели окон хранить, а остальные данные можно взять из готовых API функций. Например, координаты можно получить функцией GetWindowPos.
0
|
||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||
| 06.03.2013, 18:16 [ТС] | ||
|
0
|
||
|
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
|
|
| 06.03.2013, 22:48 | |
|
Вы моё сообщение неправильно трактуете. Перечитайте сначала.
Я предлагаю создать класс окна для регистрации через RegisterClassEx и последующего использования. Если вы знакомы с самым минимумом, то должны знать, что для этого нужно создать структуру WNDCLASSEX и заполнить её поля. После этого регистрируете и используете. Ничего сложного и заоблачного в этом нет.
0
|
|
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||||||||||
| 09.03.2013, 17:06 [ТС] | |||||||||||
|
В общем вроде получается пока что по задуманному плану:
В глобальных:
Пойду немного отдохну и буду пробовать флаги добавлять...
0
|
|||||||||||
|
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
|
|
| 09.03.2013, 19:19 | |
|
В обработчик сообщения WM_QUIT или WM_DESTROY не забудьте добавить освобождение памяти, выделенной на окна.
А так, зря моего совета насчет оконного класса не послушали )
0
|
|
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||
| 09.03.2013, 19:29 [ТС] | ||
|
0
|
||
|
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
|
||
| 09.03.2013, 20:01 | ||
|
Да и вообще:чистить за собой - знак хорошего стиля программирования )
0
|
||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
| 09.03.2013, 21:02 [ТС] | |
|
0
|
|
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||||||||||
| 23.03.2013, 10:10 [ТС] | |||||||||||
|
Раз уж, до сих пор актуально, то добавлю:
0
|
|||||||||||
| 23.03.2013, 10:10 | |
|
Помогаю со студенческими работами здесь
15
Создание глобальной переменной
Описание массивов по ходу работы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
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
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|