
- •Введение в конструирование программ
- •Пенза 2006 г.
- •Предисловие
- •1 Обработка информации на компьютере
- •1.1 Модель обработки информации на компьютере
- •1.2 Основные объекты языка программирования
- •1.2.1 Синтаксические элементы языка программирования
- •1.2.2. Значения и типы
- •1.2.3. Константы и переменные
- •1.2.4. Выражения
- •1.2.5. Операторы
- •1.3 Лабораторные задания
- •1.3.1 Логическая разминка
- •1.3.2 Реализовать схемы программ на языке Object Pascal
- •2 Структурное конструирование программ
- •2.1 Простая программа
- •2.2 Консольное приложение
- •2.2.1 Создание, сохранение и загрузка программы
- •2.2.2 Компиляция и выполнение программы
- •2.3 Лабораторные задания
- •2.3.1 Составление простых программ
- •2.3.2 Выполните трассировку и определите результаты работы программы
- •2.3.3 Программирование с использованием управляющих структур
- •2.4 Подпрограммы
- •2.4.1 Глобальные данные
- •2.4.2 Способы передачи параметров
- •2.4.3 Функции
- •2.4.4 Процедуры
- •2.4.5 Значения параметров по умолчанию
- •2.4.6 Перегрузка функций
- •2.4.7. Рекурсивные подпрограммы
- •2.4.8. Передача наименования подпрограммы как параметра
- •2.5 Отладка программ
- •2.6 Лабораторные задания. Подпрограммы
- •2.6.1 Конструирование подпрограмм
- •2.6.2 Разработка рекурсивных подпрограмм
- •2.7. Модули
- •Interface {интерфейс модуля}
- •Implementation {реализация}
- •Initialization {инициализация}
- •3. Структуры данных
- •3.1. Массивы
- •3.1.1. Действия над массивами
- •I, j : byte; { индексы элементов массивов }
- •3.1.2 Передача массивов в качестве параметров
- •3.1.2.1. Формальные параметры как массивы с фиксированными размерами
- •3.1.2.2. Формальные параметры как массивы со «свободными» размерами
- •3.1.2.3. Определение наименьшего/наибольшего значения массива
- •3.1.3 Лабораторные задания
- •3.1.3.1 Одномерные массивы
- •3.1.3.2. Двумерные массивы
- •3.2. Строки
- •3.2.1 Лабораторные задания
- •3.3. Записи
- •3.3.1 Лабораторные задания
- •3.4 Файлы.
- •3.4.1 Основные понятия и операции
- •3.4.2 Типизированные файлы
- •3.4.3 Текстовые файлы
- •3.4.4 Лабораторные задания
- •3.5 Динамические структуры данных. Указатели
- •3.5.1 Основные понятия и определения
- •3.5.2 Процедуры выделения и освобождения памяти
- •3.5.3 Односвязный список
- •3.5.4 Лабораторные задания. Указатели, список
- •3.5.5 Динамические массивы
- •4. Введение в объектно-ориентированное конструирование программ
- •4.1 Основные понятия и определения
- •4.2 Классы и объекты
- •4.2.1 Структура класса
- •4.2.2 Создание и уничтожение объектов
- •4.2.3 Пример. Класс – динамический массив
- •4.2.5 Операции с объектами
- •4.2.5.1 Оператор is
- •4.2.5.2 Оператор as
- •4.2.5.3 Копирование объектов одного класса
- •4.2.6 Свойства
- •4.2.7 Наследование и полиморфизм
- •4.2.8 События
- •4.2.9 Исключительные ситуации
- •4.2.9.1 Операторы try…except
- •4.2.9.2 Операторы try…finally
- •5. Визуальная разработка программ в delphi
- •5.1. Интегрированная среда разработки программ
- •5.1.1 Проект
- •5.2 Конструирование простого приложения
- •5.2.1 Интерфейс Пользователя
- •5.2.2 Визуальное конструирование
- •5.2.3 Реализация методов
- •5.2.4 Обработка исключительных ситуаций
- •5.2.5 Файлы приложения Калькулятор
- •5.3 Компоненты ввода/вывода данных StringGrid и Memo
- •5.3.1 Компонент StringGrid – таблица строк
- •5.3.1 Ввод массива. Компонент StringGrid
- •5.3.3 Компонент Memo – многострочное окно редактирования
- •5.3.4 Ввод массива. Компонент Memo
- •5.4 Немного о графике
- •5.4.1 Свойство Canvas. Построение графика функции
- •5.4.2 Событие OnPaint
- •Список литературы
- •Приложение а. Кратко о Delphi а.1 Свойства проекта
- •А.2 Программный код пустой формы
- •А.3 Главная форма
- •А.3.1 Свойства главной формы
- •А.3.2 События главной формы
- •А.4 Компоненты Delphi
- •Приложение b. Приложение «Калькулятор»
А.2 Программный код пустой формы
Для пустой формы Delphi автоматически создает программный код. Для его просмотра в меню Вид выберите команду Обзор кода либо нажмите функциональную клавишу F12. Рассмотрим этот код более подробно.
unit Unit1; //Имя модуля
interface
uses //Перечисление подключенных модулей.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
Type //Объявление типов
TForm1 = class(TForm) //Начало описания нового класса TForm1
//Здесь описываются компоненты и события
private //После этого слова можно описывать закрытые данные класса
{ Private declarations }//Подсказка сгенерированная Delphi
{Здесь можно описывать переменные и методы, доступные только для класса TForm1}
public //После этого слова можно описывать открытые данные класса
{ Public declarations }//Подсказка сгенерированная Delphi
{Здесь можно описывать переменные и методы доступные из любого другого класса}
end; // конец описания класса TForm1
var //Объявление глобальных переменных
Form1: TForm1; //Объект Form1 класса TForm1
implementation
{$R *.dfm} //Подключение .dfm файла –
// файла с данными о визуальных объектах
end. // конец модуля
А.3 Главная форма
Главная форма – это окно будущей программы (рисунок А.3). На ней можно располагать визуальные компоненты в любом виде и порядке.
Рисунок А.3 – Главная форма
А.3.1 Свойства главной формы
Рассмотрим основные свойства формы. Большинство из них присутствуют и у некоторых компонентов.
ActiveControl – указывает на компонент, который должен быть активным по умолчанию.
Align – выравнивание компонента. Любой компонент может быть выровнен по одной из сторон родительского компонента. Этому свойству можно присвоить следующие значения:
alNone – нет выравнивания
alBottom – выравнивание по нижнему краю
alLeft – выравнивание по левому краю
alRight – выравнивание по правому краю
alTop – выравнивание по верхнему краю.
Компоненты выравниваются относительно формы, а форма выравнивается относительно окна.
AutoScroll – Определяет, будет ли форма автоматически производить скроллинг, или нет.
AutoSize – тип свойства логический. Определяет, должны ли компоненты на форме автоматически корректировать размеры.
BorderIcons – свойство определяющее, какие кнопки должны присутствовать у окна. Это свойство раскрывающееся. Если щелкнуть по квадрату слева от имени свойства, то раскроется список из четырех свойств:
biSystemMenu – показать меню (иконка слева в строке заголовка окна) и другие
biMinimize – кнопка минимизации окна
biMaximize – кнопка максимизации окна
biHelp – кнопка помощи.
BorderStyle – свойство отвечает за вид оборки окна. Это свойство может принимать следующие значения:
bsSizeable – установлено по умолчанию. Стандартное окно, с нормальной оборкой, которое может изменять свои размеры
bsDialog – окно выглядит в виде окна диалога
bsNone – окно вообще без оборки
bsSingle – окно с фиксированным размером и изменять его мышкой нельзя
bsSizeToolWin – окно с тонкой оборкой. Особенно это заметно в заголовке окна
bsToolWindow – как и предыдущее, но у этого окна нельзя изменять размеры окна.
BorderWidth – ширина оборки окна.
Caption – заголовок окна.
ClientHeight – высота клиентской области окна.
ClientWidth – ширина клиентской области окна.
Color – цвет клиентской области окна.
Constraints – в этом свойстве содержатся максимальные значения размеров окна:
MaxHeight – максимальная высота окна
MaxWidth – максимальная ширина окна
MinHeight – минимальная высота окна
MinWidth – минимальная ширина окна.
Если установить эти значения, то окно нельзя будет растянуть больше максимального размера и уменьшить меньше минимального.
Cursor – это свойство отвечает за курсор, который будет отображаться при наведении мышкой на форму/компонент.
DockSite – указывает, можно ли на форму или компонент бросать другие компоненты с помощью Drag&Drop.
DragKind – вид перетаскивания объекта при Drag&Drop. Здесь доступны два варианта:
dkDrag – стандартный Drag&Drop при котором объект остается на месте
dkDock – перетаскивать сам объект. Этот параметр следует выбрать, если нужно чтобы компонент мог прикрепляться к другим компонентам или форме.
DragMode – режим Drag&Drop. Здесь доступны два варианта:
dmManual – ручной режим. При таком режиме программист сам должен запускать перетаскивание объекта
dmAutomatic – режим Draq&Drop будет включаться автоматически, если пользователь начал тащить мышкой компонент. При этом не нужно писать дополнительный код, как при ручном режиме.
Enabled – доступность компонента. Если это свойство равно true, то Пользователь может работать с этим компонентом. Иначе компонент недоступен и окрашен серым цветом.
Font – шрифт, используемый при выводе текста на форме.
FormStyle – стиль формы. Здесь доступны для выбора следующие варианты:
fsNormal – нормальное окно
fsMDIForm – окно является родительским для MDI окон
fsMDIChild – окно является дочерним MDI окном.
Свойство fsMDIForm определяет главное окно, а fsMDIChild – дочернее, то есть окно, которое будет внутри главного.
Height – высота окна.
Hint – текст подсказки, который будет появляться в строке состояния при наведении мышкой на форму или компонент.
HorzScrollBar – параметры горизонтальной полосы прокрутки.
Icon – иконка, отображающаяся в заголовке окна.
Left – левая позиция окна.
Menu – меню, которое используется в главном окне.
Name – имя формы или компонента.
Position – позиция окна при старте приложения. Здесь доступны следующие варианты:
poDefault – автоматическое определение расположения окна и его размеров
poDefaultPosOnly – автоматическое определение расположения окна, размеры окна определяются в свойствах
poDefaultSizeOnly – автоматическое определение размеров окна, расположение окна определяется в свойствах
poDesigned – размер и расположение окна определяются в свойствах
poDesktopCenter – окно располагается по центру рабочего стола
poMainFormCenter – окно располагается по центру основной формы
poOwnerFormCenter – окно располагается по центру окна владельца, то есть того окна, которое вызвало данное окно
poScreenCenter – окно располагается по центру экрана.
ShowHint – определяет, нужно ли показывать подсказки.
Tag – это свойство можно использовать в своих целях.
Top – верхняя позиция окна.
VertScrollBar – вертикальная полоса прокрутки.
Visible – если свойства равно true, то форма или компонент видимые. Иначе форма или компонент невидим.
Width – ширина окна.
WindowState – состояние окна после запуска. Доступны следующие параметры:
wsNormal – окно показывается в нормальном состоянии
wsMaximized – окно показывается максимизированным
wsMinimized – окно показывается минимизированным.