- •Глава 6 Программирование в среде Delphi
- •§1. Разработка линейных программ
- •Этапы разработки программы
- •Целые типы
- •Символьный тип
- •Булевый тип
- •Переменные и константы
- •Оператор присваивания
- •Структура программы на языке Delphi
- •Некоторые функции преобразования типов
- •Среда программирования Delphi Главные составные части среды программирования
- •Структура проекта
- •Сохранение проекта
- •Структура модуля
- •Компиляция и выполнение проекта
- •§2. Стандартные и библиотечные функции в линейных программах
- •Некоторые стандартные библиотечные функции
- •Некоторые функции и процедуры даты
- •Ввод из окна ввода
- •Вывод в окно сообщения
- •Примечание
- •§ 3. Программы с разветвлениями
- •Логические выражения
- •Условный оператор
- •Оператор выбора
- •Оператор перехода
- •Компонент ListBox
- •Компонент tComboBox
- •Некоторые приемы работы с отладчиком
- •Примечание
- •§4. Циклы
- •Операторы цикла
- •Оператор цикла с параметром
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Компонент Memo
- •§ 5. Использование массивов в программах, компонента Memo для ввода данных в массив
- •Массивы
- •Компонент Memo для ввода и вывода массивов
- •§ 6. Разработка многооконных проектов. Двумерные массивы. Компонент StringGrid
- •Компонент StringGrid
- •Технология создания многооконных проектов
- •Ввод и вывод двумерных массивов c помощью компонента StringGrid
- •§7. Внешние файлы
- •Процедуры работы с файлами
- •Главное меню
- •§8. Разработка внутренних процедур и функций
- •Процедуры
- •Функции
- •Литература
§ 6. Разработка многооконных проектов. Двумерные массивы. Компонент StringGrid
В данном параграфе рассматриваются следующие вопросы: компонент StringGrid, технология разработки многооконных проектов, ввод и вывод двумерных массивов с помощью компонента StringGrid.
Теория
Определение двумерного массива было дано в предыдущем параграфе.
Компонент StringGrid
Находится на вкладке Additional.
TStringGrid — служит для представления текстовых данных в виде таблицы. Очень удобен для ввода и вывода массивов (одномерных и двухмерных). Доступ к каждому элементу таблицы происходит через свойство Cells. Наиболее важными для нас являются следующие свойства компонента StringGrid.
Свойство |
Назначение |
Name |
Имя компонента |
ColCount |
Количество колонок таблицы |
RowCount |
Количество строк таблицы |
Cells |
Соответствующий таблице двумерный массив. Ячейка таблицы, находящаяся на пересечении столбца номер col и строки номер row определяется элементом cells[col, row] |
FixedCols |
Количество зафиксированных слева колонок таблицы. Зафиксированные колонки выделяются цветом и при горизонтальной прокрутке остаются на месте |
FixedRows |
Количество зафиксированных сверху строк таблицы. Зафиксированные строки выделяются цветом и при вертикальной прокрутке таблицы остаются на месте |
Options.goEditing |
Признак допустимости редактирования содержимого ячеек таблицы.True ― редактирование разрешено. False ― запрещено |
Options.goTabs |
Разрешает (True) или запрещает (False) использование клавиши <Tab> для перемещения курсора в следующую ячейку таблицы |
Options.goAlwaysShowEditor |
Признак нахождения компонента в режиме редактирования. Если значение свойства False, то для того, чтобы в ячейке появился курсор, надо начать набирать текст, нажать клавишу <F2> или сделать щелчок мышью |
Технология создания многооконных проектов
Решение многих задач требует создания многооконных проектов. Одной из причин, вызывающей необходимость создания многооконных проектов, может быть разделение ввода исходных данных в программу и вывода результатов счета.
После загрузки самой среды Delphi на экране уже появляется заготовка проекта, состоящего из одной формы и одного модуля. Для добавления новой формы в проект можно воспользоваться кнопкой на панели кнопок быстрого доступа или командой из главного меню
Добавление новой формы в проект. Можно с помощью команды FileNew New Form | |
Вывод списка форм проекта | |
Вывод списка модулей проекта |
Вместе с формой в проект добавляется связанный с ней модуль. Например, для формы Form2 добавится модуль Unit2.
Основная программа обычно записывается в главном модуле, связанном с главной формой. К главному модулю нужно подключить модули дочерних форм, т. е. в раздел Uses дописать названия дочерних модулей. Например,
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, Grids, Unit2, Unit3;
Для вывода на экран дочерних форм используется процедура Show (показать). Например,
Form2.Show;
В раздел public дочерних модулей целесообразно включить описание переменных и массивов, передающихся из родительского модуля.
Если в родительском модуле используются компоненты из дочерних форм, перед их названием пишется имя формы, где они находятся. Например, Form2.StringGrid1.