Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_Delphi_1.doc
Скачиваний:
13
Добавлен:
18.09.2019
Размер:
1.64 Mб
Скачать

Поволжская Государственная Академия Телекоммуникаций и Информатики

ПРОГРАММИРОВАНИЕ В СРЕДЕ DELPHI

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам

(часть 1)

Одобрено Методическим Советом ПГАТИ

Авторы-составители: Акчурин Э.А., д.т.н., профессор

Стефанова И.А., ст. преподаватель

Редактор: Акчурин Э.А., д.т.н., профессор

Рецензент: Тяжев А.И., д.т.н., профессор

Самара

2004

Содержание

Введение 4

1. Интегрированная среда разработки Delphi 6

2. Структура программы и типы в языке Delphi 19

3. Линейные структуры 26

4. Структуры с ветвлениями 32

5. Циклы с неизвестным числом повторений 39

6. Циклы с заданным числом повторений 45

7. Массивы 50

8. Файлы 59

9. Подпрограммы 71

10. Динамическая память 78

11. Исключения 82

Приложения 82

Введение

Лабораторный цикл содержит работы по изучению программирования на языке Delphi (Delphi) в интегрированной среде разработки (ИСР) Delphi. Цикл может использоваться в лабораторном практикуме по дисциплинам:

  • "Программирование на языках высокого уровня" (специальность 220400),

  • "Языки программирования" (специальность 071900),

  • "Информатика и программирование" (специальность 351400),

  • "Высокоуровневые методы информатики и программирования" (специальность 351400).

Рекомендуемая литература:

  1. Культин Н. Delphi 7. Основы программирования в Delphi 7. – СПб.: БХВ-Петербург, 2003.

  2. Кандзюба С. Delphi 6/7. Базы данных и приложения. - К: ДиаСофт, 2002.

  3. Фаронов В. Delphi 7. Учебный курс. – М.: Нолидж, 2003.

  4. Карпов Б. Delphi: Специальный справочник. – СПб.: Питер, 2001.

  5. Гофман В. и др. Delphi 6. – СПб.: БХВ, 2001.

  6. Кэнту М. Delphi 5 для профессионалов. – СПб.: Питер, 2001.

Содержание отчета:

  1. Название работы, цель работы, задание в соответствии с вариантом.

  2. Блок-схем алгоритма в соответствии с номером варианта.

  3. Коды программы.

  4. Результаты выполнения программы на ПК.

  5. Выводы.

Сохранение кодов

ИСР Delphi для каждого проекта создает несколько файлов. Чтобы файлы разных проектов не перепутывались, следует для каждого проекта создавать свою папку с именем, содержащим номер работы и номер задания (например, папку 03_1 для задания 1 работы 3). Рекомендуется имена проектов выбирать со ссылкой на дисциплину, номер работы и номер задания (например, Prg_3_1 – проект для задания 1 работы 3 по программированию). Файлы проекта Prg_3_1 нужно сохранить в папке 03_1. Для приложений надо сохранять и файл модуля. Рекомендуется для него выбирать имя, как у проекта, с добавлением символа подчеркивания в конце. Для правильного обращения к файлам в консольных приложениях нужно использовать в именах папок только латиницу.

Чтобы файлы разных студентов не перепутывались друг с другом, каждому студенту следует создавать для своих файлов индивидуальные папки. Рекомендуемая иерархия вложенных друг в друга папок папок:

Диск С

Папка Users (пользователи)

Папка группы (например, PO_31)

Папка студента (например, Ivanov)

Папка проекта (Номер работы и задания. Например, 03_1)

Внутри нее при сохранении разместятся файлы проекта Prg_3_1.

В дисплейных классах информационного центра вместо C:\Users системно задано D:\Users\Temp. В папке проекта на каждом занятии следует сохранять файлы проекта (одно задание лабораторной работы – один проект, одна папка). Рекомендуется при выполнении работы периодически сохранять незавершенные проекты в текущем состоянии, чтобы избежать потерь документов при сбоях.

Методические указания

МУ доступны в электронном виде. Иерархия папок с документацией следующая:

Диск С

Папка преподавателя (например, Akchurin)

Папка МУ для дисциплины (например, Delphi_LR)

Файлы методических указаний к отдельным работам.

В дисплейных классах информационного центра МУ находятся на диске H и доступны студентам только для чтения. Методические указания выложены и в сети Internet на сервере кафедры ВТ ПГАТИ с именем www.pgati-vt.da.ru. Они находятся на Web-странице в папке «Методические руководства».

Выполнение работ

ИСР Delphi позволяет разрабатывать разные программы, они называются проектами. В лабораторном цикле создаются проекты двух типов:

  • Консольное приложение (Console Application) - под операционную систему DOS с символьным интерфейсом.

  • Приложение (Application) – под операционную систему Windows с графическим интерфейсом.

1.Интегрированная среда разработки Delphi

Подготовка к работе

По указанной литературе изучить:

  1. Методику активизации интегрированной среды разработки (ИСР) Delphi.

  2. Структуру главного меню и его пункты.

  3. Опции выпадающих меню.

Контрольные вопросы

  1. Активизация ИСР и выход из среды.

  2. Окна ИСР.

  3. Назначение и содержание главного окна ИСР.

  4. Окно Инспектора объектов

  5. Окно Конструктора формы.

  6. Окно Дерева объектов.

  7. Окно Редактора кода.

  8. Панели инструментов.

  9. Палитра компонент.

  10. Главное меню главного окна ИСР. Опции пунктов Файл, Правка, Поиск, Вид, Проект, Выполнить, Компоненты, База данных, Сервис, Окно, Помощь.

  11. Отличия проектов Приложение, Приложение CLX и Консольное приложение.

  12. Использование встроенного подсказчика.

  13. Кодировки ANSI и ASCII. Зачем нужно преобразование кодировок в консольном приложении?

Задание

  1. Активизировать ИСР. Ознакомиться с окнами ИСР.

  2. Создать проект консольного приложения Prg_1_1. Оно должно в символьном режиме выводить на экран фразу «Hello, World & Россия!». Для него использовать модуль RusTrans с функцией Rus, обеспечивающей перекодировку ANSI => ASCII для отображения кириллицы в консольном приложении.

  3. Создать проект приложения Prg_1_2. Оно должно при нажатии кнопки «Нажми» выводить на экран фразу «Hello World and Россия!».

Пример выполнения

Задание 1. Активизировать ИСР. Ознакомиться с окнами ИСР.

При старте ИСР из Windows по соглашению создается заготовка проекта типа Приложение (Приложение – программа под Windows). Вид экрана при старте ИСР показан на рис. 1 .1. На нем представлены:

  • Главное окно вверху экрана.

  • Окно Дерева объектов под главным окном слева вверху.

  • Окно Инспектора объектов слева внизу.

  • Окно Конструктора формы (пустая форма с именем Form1) под главным окном справа.

  • Окно Редактора кода (позиционируется там же, где окно Конструктора формы, переключение клавишей F12). Это окно можно переместить, чтобы видеть одновременно и окно Конструктора формы (так сделано на рис. 1 .1).

рис. 1.1. Окно ИСР в режиме Приложения

Для Приложения код исполняемой программы находится в двух файлах:

  • Файл проекта с расширением .dpr. Код проекта делается в ИСР автоматически, его не надо редактировать, по соглашению он не показывается. Его можно посмотреть, подключив модуль проекта командой Вид=>Модули, которая выводит окно выбора, в котором нужно выбрать модуль проекта. После этого в редакторе кода появиться закладка с именем проекта.

  • Файл модуля формы с расширением .pas.

Главное окно ИСР расположено в верхней части экрана и имеет вид рис. 1 .2. Окно содержит: строку заголовка с именем ИСР (Delphi 7) и именем проекта (по умолчанию Project1); под ним строка главного меню ИСР; ниже главного меню - слева панели инструментов; справа от них палитра компонент со страницами с закладками; ниже палитра компонент.

рис. 1.2. Главное окно ИСР

Панели инструментов содержат кнопки часто употребляемых команд для быстрого доступа (помещены в группы определенного функционального назначения):

Панель

Имя

Назначение

Место размещения

Standard

Стандартная

Под строкой главного меню слева.

View

Вид

Debug

Отладка

Custom

Пользователь

Component Palette

Палитра Компоненты

Под строкой главного меню справа.

Desktops

Настройки

Список справа от главного меню.

Пункты главного меню главного окна ИСР.

Пункт

Назначение

File

Файл

Работа с файлами.

Edit

Правка

Редактирование.

Search

Поиск

Поиск фрагментов.

View

Вид

Выбор, что показывать.

Project

Проект

Операции с проектом.

Run

Запуск

Прогон и отладка.

Component

Компонент

Работа с компонентами.

Database

Базы Данных

Работа с базами данных.

Tools

Инструменты

Использование внешнего инструментария.

Windows

Окно

Перечень окон для выбора фокуса.

Help

Помощь

Контекстная помощь.

Окно Конструктора формы – стандартное окно Windows с координатной сеткой для согласованного размещения компонент внутри формы. Вид окна в начале работы приведен на Рис. 1 .3.

Рис. 1.3. Окно конструктора формы

Окно Дерева объектов.

Обычно размещается вверху слева от окна Конструктора формы. Рекомендуется не заслонять окно другими окнами, так как оно часто требуется. Пример дан на рис. 1 .4, слева до заполнения формы, справа после заполнения. Содержит:

  • Заголовок.

  • Панель инструментов.

  • Список объектов формы в виде дерева. В начале конструирования формы там присутствует только сама форма с именем Form1. По мере заполнения формы компонентами дерево автоматически дополняется.

рис. 1.4 Окно Дерева объектов

Окно Инспектора объектов обычно размещается слева внизу от окна Конструктора формы. Рекомендуется не заслонять окно другими окнами, так как оно часто требуется. Содержит:

  • Заголовок.

  • Под ним список объектов в форме с возможностью выбора

  • Ниже описание выделенного в форме (или выбранного в списке) объекта.

Описание объекта разделено на две страницы с закладками Свойства (Properties) и События (Events). Вид окна приведен на рис. 1 .5 (слева - страница свойств, справа - страница событий).

Свойства отображаются в двух столбцах: слева имя свойства, справа значения свойства. Некоторые свойства представляются списками. Признак списка - символ (+) или (-) слева от имени. Свойства могут сортироваться по алфавиту или по категориям (как на рис. 1 .5). При этом одно и то же свойство может повторяться в нескольких категориях.

События также отображаются в двух столбцах: слева имя события, справа имя обработчика этого события (может выбираться из списка). Имена событий начинаются с префикса On (в переводе означает На), за которым следует имя события на английском языке.

рис. 1.5. Окно инспектора объектов

Редактор кода для Приложения.

Переключаем окно Конструктора формы на окно Редактора кода клавишей F12. Если окна совмещены, то происходит смена видимого окна. Если же окна видны одновременно, то происходит просто передача фокуса управления. Код модуля формы размещается в окне Редактора кода, показанном на рис. 1 .6. Обычно к нему слева "приклеивается" Проводник кода (Code Explorer), в котором в иерархической форме отображаются все объявления модуля (его можно отключить). Окно Редактора кода по соглашению имеет такие же размеры, как и окно Конструктора формы, и позиционируется там же для экономии места на экране.

В окне Редактора кода на рис. 1 .6 показан код модуля формы. Его ИСР формирует автоматически. В тексте использовано синтаксическое выделение:

  • Зарезервированные слова полужирным шрифтом.

  • Комментарии курсивом синего цвета.

  • Директивы компилятора зеленым цветом.

рис. 1.6. Окно Редактора кода для Приложения

Задание 2. Создать проект - Консольное приложение Prg_1_1. Оно должно выводить на экран фразу – Hello World & Россия!

Создаем консольное приложение, выбирая его в диалоговом окне команды Файл=>Новый=>Другое. ИСР выводит окно выбора типа проекта, показанное на Рис. 1 .7.

Рис. 1.7. Окно выбора типа проекта

В нем выбираем «Консольное». ИСР в окне Редактора кода формирует заготовку для проекта, показанную на рис. 1 .8. Имя проекта по умолчанию содержит слово Project с номером в сеансе работы с ИСР.

рис. 1.8. Окно Редактора кода для консольного приложения

В консольном приложении формы (а значит и соответствующего ей модуля) нет, Инспектор объектов пустой, так как объектов в проекте нет. В заготовке программы проекта размещены:

  • Директива {$APPTYPE CONSOLE}, которая предписывает компилятору создавать консольное приложение.

  • Комментарий // Insert code here (Вводите код здесь).

В панели Проводника кода (на рис. 1 .8 слева) и в строке uses указана ссылка на модуль SysUtils –системные утилиты. Этот модуль содержит наиболее часто употребляемые подпрограммы. Ссылку на него ИСР создает в строке uses автоматически.Код проекта (строки на языке Delphi) размещается в окне Редактора кода. Каркас кода формируется ИСР автоматически (эти строки не надо редактировать!!!). Пользователь добавляет в код строки, определяющие выполняемые проектом функции. Код проект сохраняем в папке 01_1. На Рис. 1 .9 показано окно Редактора кода с кодом проекта.

Рис. 1.9. Код проекта задания 1

При запуске проекта получаем окно, показанное на Рис. 1 .10 слева. Есть проблема – неправильное отображение букв кириллицы. Правильное отображение показано на этом же рисунке справа. Причина ошибки - консольное приложение создается в ИСР, где используется операционная система Windows с кодировкой ANSI, а исполняется под управлением операционной системы MS DOS, использующей кодировку ASCII. Для решения проблемы нужно делать перекодировку букв кириллицы из стандарта ANSI в стандарт ASCII. Для этого в проект Prg_1_1 добавим ссылку на модуль RusTrans с функцией Rus преобразования строк ANSI в ASCII.

Рис. 1.10. Окно проекта задания 1 при исполнении

Код проекта после сделанных изменений показан на Рис. 1 .11. В нем добавлена ссылка на модуль RusTrans, а в операторе вывода строка текста преобразуется функцией Rus. На Рис. 1 .10 справа приведено окно работающего приложения с правильным отображением символов кириллицы.

Рис. 1.11. Код проекта задания 1 с модулем RusTrans

Задание 3

Создать проект приложения Prg_1_2. Оно должно при нажатии кнопки «Нажми» выводить на экран фразу – Hello World и Россия!

Командой Файл => Новый => Приложение создаем новый проект Prg_1_2, файлы которого будем сохранять в папке 01_2. При этом ИСР автоматически в Редакторе кода создает заготовку модуля формы, включая в него в строке uses ссылки на подключаемые модули. Свойству caption (надпись) формы присвоим значение «Моя первая программа».

В окне Конструктора формы размещаем два компонента:

  • кнопку Button1 с надписью «Нажми!»,

  • метку Label1 для вывода текста.

В разделе interface кода модуля формы ИСР автоматически добавляет эти компоненты. Окно Конструктора формы проекта на этапе конструирования показано на Рис. 1 .12.

Рис. 1.12. Окно Конструктора формы проекта задания 2

Двойным щелчком левой кнопкой мыши по кнопке Button1 инициируем создание обработчика события нажатия этой кнопки. ИСР автоматически добавляет для обработчика в разделе interface заголовок, а в разделе implementation заготовку его кода. Курсор автоматически устанавливается в тело кода обработчика, куда необходимо занести исполняемые коды. Для нашего проекта это всего две команды:

  • Label1.Caption:=’Hello, World и Россия!’;

  • Button1.Visible:=false;

Первая команда свойству caption (надпись) метки Lable1 присваивает значение строки для вывода сообщения на экран, вторая команда свойству visible (видимость) кнопки Button1 присваивает значение false (ложь), делая ее невидимой.

При вводе кодов команд целесообразно использовать встроенный в ИСР подсказчик, который позволяет выбирать нужный член класса компонента из большого списка. После набора имени компонента и точки нужно сделать паузу. Появится окно списка членов класса (см. Рис. 1 .13 для выбора свойства caption компонента Label1), в котором нужно выбрать нужный член и дважды щелкнуть по нему левой кнопкой мыши. Член класса переместится в код программы.

Рис. 1.13. Использование встроенного подсказчика

После завершения ввода кодов нужно проект сохранить с заданным именем в созданной для него папке, используя команду Файл => Сохранить проект как. В диалоговом окне нужно выбрать нужную папку, задать имя и сохранить проект.

Внимание! При сохранении проекта запись файлов в папку происходит в два этапа:

  1. Модуль формы с расширением .pas. Для него рекомендуется имя Prg_1_2_.

  2. Файл проекта с расширением .dpr. Для него рекомендуется имя Prg_1_2.

  3. При сохранении в папке проекта автоматически создается группа вспомогательных файлов, которые не надо удалять или редактировать.

Листинг модуля формы:

unit Prg_1_2_;

interface

uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

Label1.Caption:='Hello, World и Россия'; //Вывод текста

Button1.Visible:=false; // Кнопка невидима

end;

end.

Теперь программу можно запустить на исполнение командой «Запуск» (или клавишей F9, или кнопкой со стрелкой из палитры инструментов). Если при кодировании ошибок не было, то появится окно приложения, как в Конструкторе формы. При нажатии кнопки «Нажми», окно принимает вид Рис. 1 .14.

Рис. 1.14. Окно формы проекта задания 3 при исполнении

Если при кодировании допущены ошибки, то компиляция не происходит, в окне Редактора кода внизу выводится список обнаруженных синтаксических ошибок (логические ошибки компилятор не обнаруживает). Для каждой ошибки имеется описание. Для ошибки, помеченной стрелкой слева от кода, строка в коде выделяется цветом, как показано на Рис. 1 .15. В данном примере обнаружен необъявленный идентификатор Hello. Причина - пропущены апострофы, обрамляющие текстовую строку. В результате компилятор рассматривает слово Hello не как часть строки, а как идентификатор, который в коде не определен. После исправления ошибки программу следует запустить повторно. При этом компиляция и сохранение файлов проекта произойдет автоматически.

Проект приложения – это стандартная программа Windows, которая в качестве встроенного модуля использует модуль формы. При желании можно посмотреть код проекта, но редактировать его не надо. Для просмотра кода проекта нужно:

  • Командой Вид => Модули вызвать окно со списком модулей проекта, в котором выбрать Prg_1_2.

  • Теперь окно Редактора кода примет вид Рис. 1 .16, в котором появляется страница с закладкой Prg_1_2, в которой размещен код проекта.

Код проекта в строке uses содержит ссылки на модули Forms (стандартный, содержащий средства работы с окном формы) и Prg_1_2_ (модуль формы нашего приложения) со ссылкой на его исходник (файл Prg_1_2.pas). В исполняемой части проекта имеются 3 стандартные процедуры Windows:

  • Application.Initialize – инициализация приложения,

  • Application.CreateForm – создание формы,

  • Application.Run – запуск формы на исполнение.

Рис. 1.15. Сообщения о синтаксических ошибках

Рис. 1.16. Код проекта задания 2

Выход из ИСР осуществляется стандартным для программ под Windows способом.

Выводы

  1. ИСР Delphi – интегрированная среда быстрой разработки приложений.

  2. Приложение в Delphi создается в окне Конструктора формы путем размещения там готовых компонентов.

  3. Иерархия компонентов формы отображается в Delphi в окне Дерева объектов.

  4. Свойства компонентов отображаются в Delphi в окне Инспектора объектов.

  5. Каркас кода проекта ИСР создает автоматически.

  6. Пользователь добавляет в него функциональность, вводя коды, определяющие выполняемые действия.

  7. При кодировании следует использовать встроенный в ИСР подсказчик.

  8. ИСР позволяет создавать приложения под Windows и консольные приложения под DOS.

  9. Для консольных приложений с выводом текста на русском языке необходима перекодировка символов ANSI в ASCII. Для этого в строку uses консольного приложения следует добавить ссылку на модуль RusTrans.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]