- •Занятие 10 Работа с массивами в Delphi, использование компонентов ListBox и ComboBox при работе с массивами
- •1. Компонент ListBox – список выбора
- •1.1 Добавление строк в список во время проектирования
- •1.2 Добавление строк в список во время выполнения проекта
- •2. Связь модулей друг с другом, доступ к объявленным в модуле объектам
- •1.3 Выбор элемента из списка
- •1.4 Удаление выбранного элемента из списка
- •1.5 Удаление всех элементов из списка
- •1.6 Свойство Count компонентов ListBox и ComboBox
- •1.7 Доступ к отдельным элементам списка
- •2.1 Заголовок модуля и связь модулей друг с другом
- •2.2 Интерфейсная часть модуля
- •2.3 Исполняемая часть модуля
- •2.4 Инициирующая и завершающая части модуля
- •2.5 Типы модулей в Delphi
- •3. Приложение «prMySubject»
- •3.1 Разработка модуля Unit2
- •3.2 Разработка первой формы fmStandartSubjects и соответствующего модуля Unit1
- •3.3 Разработка второй формы fmMySubjects и соответствующего модуля Unit3
- •4. 1. Динамические массивы
- •5. Задания
2.4 Инициирующая и завершающая части модуля
Инициирующая и завершающая части чаще всего отсутствуют вместе с начинающими их словами initialization и finalization.
В инициирующей части размещаются операторы, которые исполняются до передачи управления основной программе и обычно используются для подготовки ее работы. В них могут инициироваться переменные, открываться нужные файлы и. т. д. В завершающей части указываются операторы, выполняющиеся после завершения работы основной программы. В них освобождаются выделенные программе ресурсы, закрываются файлы и. т. д. Если несколько модулей содержат инициирующие части, то эти части выполняются последовательно друг за другом в порядке перечисления модулей в предложении Uses главной программы. Если несколько модулей содержат завершающие части, эти части выполняются последовательно друг за другом в порядке, обратном перечислению модулей в предложении Uses главной программы.
2.5 Типы модулей в Delphi
Наиболее распространенным типом модуля в Delphi является форма – модуль, связанный с этим окном. Интерфейсная часть такого модуля обычно содержит объявления нового класса и автоматически обновляется Delphi в ходе конструирования окна. В интерфейсной части модуля формы содержится также объявление объекта для соответствующего оконного класса.
Помимо форм в Delphi часто используются не связанные с видимыми окнами модули. В настоящем занятии мы включим в свой проект такой модуль.
Кроме форм и модулей общего назначения в Delphi можно подключать модули данных, модули динамических библиотек, пакеты и модули потоков. Мы лишь упомянем о них. Рассмотрение их выходит за рамки нашего курса.
Несколько слов о том, как включить в программу модуль общего назначения. Чтобы создать такой модуль, нужно сначала с помощью опции File вызвать каталог репозитория и на странице New выбрать опцию Unit (для Delphi7). Напомним, что текст файла необходимо сохранять в файле, имя которого совпадает с именем модуля. Тогда Delphi находит модуль и следит за его обновлением.
3. Приложение «prMySubject»
Чтобы на практике опробовать работу одномерного массива с элементом ListBox, сделаем следующий проект. Цель пользователя данного проекта – сформировать перечень предметов, которые изучаются в подразделении того учебного заведения, в котором он учится в текущем учебном году. (Мы опять предполагаем, что пользователь - ученик). Для формирования своего перечня он может воспользоваться стандартным перечнем предметов, которые в проекте первоначально формируются в виде одномерного массива. Пользователь, если захочет, может добавить элементы этого массива в объект ListBox, может удалить предварительно выделенные мышкой элементы из ListBox, и добавить новые названия, которых нет в стандартном перечне. После этого он переходит на следующую форму и распечатывает сформированный массив своих предметов в новом компоненте ListBox.
Наше приложение будет включать две формы и модуль общего назначения. Первая форма fmStandartSubjects нужна для формирования из стандартного набора предметов пользователем программы своего собственного. При этом пользователь может воспользоваться стандартным набором предметов и откорректировать его, удалив ненужные предметы и дополнив перечень теми названиями, которых нет в стандартном наборе. Вторая форма fmMySubjects предназначена для просмотра сформированного собственного перечня предметов. В модуле Unit2 формируется стандартный массив предметов, который используется в двух других модулях, связанных с формами.
