Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №03_

.pdf
Скачиваний:
15
Добавлен:
28.03.2015
Размер:
1.29 Mб
Скачать

Лабораторная работа № 3

«Знакомство с интегрированной средой разработки Turbo Delphi»

Цель работы: изучение процесса создания консольных приложений в интегрированной среде разработки Turbo Delphi

1.Краткие теоретические сведения

1.1.Основные понятия

Программное средство Turbo Delphi для Microsoft Windows представляет собой интегрированную программную среду для разработки приложений с применением языка программирования Delphi (Object Pascal) и реализовано на базе программного продукта Borland Developer Studio 2006.

Термин «интегрированная среда разработки» подразумевает несколько больше, чем только графический интерфейс пользователя, который вы видите при запуске

Turbo Delphi.

Интегрированная среда разработки IDE (IDE integrated development environment) – это комплекс программ, которые разработаны для того, чтобы создать удобное окружение для реализации концепции быстрой разработки приложений RAD (RAD - Rapid Application Development).

Она служит не только для организации для взаимодействия с программистом. С помощью средств интегрированной среды разработчик может проектировать интерфейсную часть приложения, писать собственный программный код, связывать его с управляющими элементами, производить отладку и контрольный запуск программ. При этом вся работа по созданию приложения, включая отладку, происходит в очень комфортных условиях IDE.

Таким образом, Borland Developer Studio 2006 обеспечивает программиста исчерпывающим набором инструментария, упрощающего разработку программных средств в течение их жизненного цикла.

1.2. Графический интерфейс пользователя в Turbo Delphi

Интегрированную среду разработки Turbo Delphi можно разбить на несколько составных частей, среди которых можно выделить графический интерфейс пользователя. Его будем называть рабочим столом Turbo Delphi (no аналогии с рабочим столом Windows). Он появляется сразу же после запуска Delphi.

Чтобы начать работу с Turbo Delphi, необходимо дважды щелкнуть кнопкой мыши на пиктограмме Turbo Delphi на рабочем столе Windows или в меню выбора программ. При этом на экране сначала появится рекламная заставка (рис. 1), сообщающая о том, что среда разработки загружается в оперативную память компьютера.

© Буров И.П., 2010

1

Рис. 1

После загрузки появится рабочий стол Turbo Delphi с отображением в главном окне страницы Welcome Page (рис. 2).

Рис. 2

Эту страницу, как все другие используемые страницы, можно удалить, если щелкнуть правой кнопкой мыши на корешке вверху окна и в появившемся раскрывающемся меню выбрать команду Close Page. В верхней части рабочего стола находится главное меню с кнопками, на которых перечислены названия команд, и дополнительные панели меню с пиктограммами, где размешаются все основные команды, необходимые при разработке программ. Названия дополнительных панелей меню можно увидеть, если щелкнуть правой кнопкой мыши на поле, где размещаются панели.

© Буров И.П., 2010

2

С левой и правой сторон главного окна находятся окна Structure (Структура), Object Inspector (Инспектор объектов), Project Manager (Менеджер проектов) и Tool Palette (Палитра инструментов).

На панели заголовка каждого из окон находятся кнопки закрытия окна с изображением крестика и кнопка свертывания окна с изображением канцелярской кнопки . Если щелкнуть на кнопке свертывания, то окно исчезнет с экрана и от него останется только корешок на краю рабочего стола. Если навести на этот корешок курсор мыши, то окно развернется и можно будет выбрать необходимый элемент окна. Если убрать курсор с окна, то окно опять свернется. Если еще раз щелкнуть на пиктограмме канцелярской кнопки, то окно вернется на свое место.

Это очень удобно, когда необходимо иметь как можно больше рабочего пространства.

Главное окно ограничивает пространство, в котором происходит разработка проекта, создается графический интерфейс пользователя и находится рабочий код программы. В главное окно помещаются страницы с модулями, которые обычно состоят из трех вкладок – Code, Design и History.

Вкладка Design содержит графическое изображение создаваемой формы, а вкладка History – списки версий файлов, входящих в проект, а также изменений в них.

Вкладку Code обычно называют редактором кода (рис. 3).

Рис. 3

Редактор кода представляет собой полнофункциональный текстовый редактор, с помощью которого можно просматривать и редактировать исходный код программы. Кроме того, редактор кода содержит многочисленные средства, облегчающие создание исходного кода на языке Delphi.

© Буров И.П., 2010

3

И хотя редактировать исходный код можно в любом текстовом редакторе, делать это в редакторе кода значительно удобнее, так как встроенные возможности облегчают написание кода, а многочисленные подсказки помогают избежать ошибок.

Совместно с редактором кода удобно использовать окно Structure, с помощью которого программист может легко просматривать файлы модулей. На древовидной диаграмме окна Structure показаны все типы, классы, свойства, методы, глобальные переменные и глобальные процедуры, определенные в модуле, с которым происходит работа, подключенные модули, выявленные синтаксические ошибки.

По умолчанию с окном редактора кода состыковано окно сообщений Messages

(рис. 4).

Рис. 4

Оно появляется автоматически, если в процессе компиляции программы были сгенерированы сообщения об ошибках или предупреждающие сообщения. Это можно легко проверить, если в стандартный код проекта по умолчанию внести какую-либо ошибку. В этом случае появится окно сообщений Messages с информацией об ошибке, а в окне редактора кодов будет подсвечена та строка, где произошла ошибка. Для отображения окна сообщений можно также щелкнуть правой кнопкой мыши на поле редактора кода и в контекстном меню выбрать пункт Message View (Просмотр сообщений). Если дважды щелкнуть кнопкой мыши на каком-либо сообщении, то в редакторе кода подсвечивается строка кода, породившая сообщение. Щелчок правой кнопкой мыши в окне сообщений активизирует контекстное меню этого окна, с помощью которого можно удалить или сохранить все или отдельные сообщения, а также сделать переход в окно редактора кода на строку с ошибкой.

© Буров И.П., 2010

4

1.3.Особенности консольного приложения

Внедавнем прошлом консолью называли устройство ввода-вывода,

предназначенное для связи оператора вычислительной системы с ее управляющей программой и заданиями (ГОСТ 19781-83).

Диалог на консоли осуществлялся в текстовом режиме, с помощью клавиатуры и монитора, работающего в режиме отображения символьной информации. Этот режим был основным в операционной системе MS-DOS.

Подобный режим диалога пользователя с компьютером возможен и в среде операционной системы Microsoft Windows при использовании так называемого

консольного приложения.

Консольным называется приложение, имитирующее работу в текстовом режиме.

Создание консольного приложения целесообразно, например, в таких случаях, когда к интерфейсной части приложения не предъявляются строгие требования, и пользователь работает с программой практически так же, как в среде MS-DOS.

Достоинства консольных приложений:

относительная простота использования и простота переноса программ, написанных на языке Pascal (например, Borland Pascal 7.0), в систему программирования Turbo Delphi;

консольные приложения удобны как иллюстрации при рассмотрении общих вопросов программирования, когда надо сосредоточиться на сути проблемы;

исполняемый EXE-файл консольной программы намного меньше по размеру (десятки килобайт) по сравнению с исполняемым файлом Delphi-варианта такой же программы (сотни килобайт). Поэтому консольные приложения эффективны как небольшие утилитарные программы.

При запуске консольного приложения Windows выделяет окно как для DOSпрограммы, в заголовке окна отображается название исполняемого файла приложения. Однако, несмотря на то, что пользователь работает с консольным приложением также как с DOS-программой, оно является 32-разрядным приложением Windows и не работает под MS-DOS.

Вывод данных в консольных приложениях осуществляется с помощью стандартных процедур write, writeln, которые можно использовать в любой программе без их явного описания. Рассмотрим эти процедуры.

© Буров И.П., 2010

5

1.4. Процедуры вывода write и writeln

Процедура write предназначена для вывода на консоль сообщений и значений переменных. После слова write в скобках задается список переменных, значения которых должны быть выведены. Кроме имен переменных в список можно включить сообщение – текст, заключенный в одиночные кавычки.

Например: write(Res);

write('Определитель матрицы'); write('Ответ: y1=', y1, ' y2=', y2);

После имени переменной через двоеточие можно поместить описание (формат) поля вывода значения переменной. Для переменной типа Integer формат – это целое число, которое задает ширину поля вывода (количество позиций на экране).

Например, запись оператора процедуры write(t:7);

показывает, что для вывода значения переменной t используется 7 позиций.

Если значение переменной такое, что его изображение занимает меньше позиций, чем указано в формате, то перед первой цифрой числа будут выведены пробелы так, чтобы общее количество выведенных символов было равно указанному в формате.

Например, если значение переменной Itog типа Integer равно 1234, то в результате выполнения оператора процедуры

write('Итого:', Itog:8);

на экран будет выведено (Рис. 5):

Рис. 5

Для переменных типа Real формат представляет собой два целых числа, разделенных двоеточием. Первое число определяет ширину поля вывода, второе – количество цифр дробной части числа. Если задать только ширину поля, то на экране появится число, представленное в формате с плавающей точкой.

Например, пусть переменные x1 и х2 типа Real имеют значения 342.81 и -0.7893, тогда в результате выполнения оператора процедуры

write('zl=',z1:6:2,' z2=',z2:13)

на экран будет выведено (рис. 6):

© Буров И.П., 2010

6

Рис. 6

Если ширины поля, указанной в формате, недостаточно для вывода значения переменной, то выводится число в формате с плавающей точкой и десятью цифрами после запятой (все поле вывода в этом случае занимает 17 позиций).

После выполнения процедуры write курсор остается в той позиции экрана, в которую он переместился после вывода последнего символа, выведенного этой инструкцией. Следующая инструкция write начинает вывод именно с этой позиции.

Например, в результате выполнения операторов m := 51.842;

write('Масса'); write(' объекта:'); write(' m='); write(m:7:3); write(' кг');

на экран будет выведено (рис. 7):

Рис. 7

Инструкция writeln отличается от инструкции write только тем, что после вывода сообщения или значений переменных курсор переводится в начало следующей строки.

Например, если значением переменной Q является число 738.415, а значением переменной R – число -92.763, то в результате выполнения операторов

writeln('Результат:'); writeln('Q=',Q:8:4); writeln('R=',R:8:4);

на экран будет выведено (рис. 8):

Рис. 8

© Буров И.П., 2010

7

1.5. Создание консольного приложения

Для создания консольного приложения сначала необходимо выбрать тип создаваемого объекта (Delphi Projects\Console Application) в хранилище объектов диалогового окна New Items (рис. 9), доступ к которому можно получить с помощью кнопки New Project на странице Welcome Page главного окна (см. рис.2) или команды главного меню File => New => Other…

Рис. 9

В результате этих действий автоматически будет создан новый проект и в главном окне появится страница Project1, на которой будет размещен шаблон главной процедуры консольного приложения (см. рис. 3). Первоначально он содержит следующий код:

program Project1; {$APPTYPE CONSOLE} uses

SysUtils; begin

{ TODO -oUser -cConsole Main : Insert code here } end.

Далее в шаблон консольного приложения добавляются необходимые операторы.

Приведенный выше код похож на заготовку обычной программы на языке Pascal, написанной под MS-DOS. Единственным отличием является директива $APPTYPE, которая значением CONSOLE сообщает компилятору, что Delphiпрограмма работает в консольном режиме.

Консольное приложение начинается инструкцией program, за которой следует имя программы. Сначала оно совпадает с именем проекта "по умолчанию". В момент сохранения проекта оно будет автоматически заменено на имя, под которым программист сохранит проект.

© Буров И.П., 2010

8

Следует обратить внимание на то, что консольное приложение создается в Windows, а выполняется как программа MS-DOS, использующая отличную от Windows кодировку букв русского алфавита. Проблему перекодировки и корректного вывода сообщений на русском языке легко решить, указав число 866 в опции компилятора Codepage как номер кодовой страницы национального алфавита (рис. 10) с помощью команды главного меню Project => Options…\ Compiler .

Рис. 10

Для проверки работоспособности консольного приложения в шаблон можно вставить простейшие операторы ввода/вывода.

Пример. Консольная программа demo.

program demo; {$APPTYPE CONSOLE} uses

SysUtils; begin

write('Привет, мир!'); readln;

end.

Данная программа выводит на консоль приветствие (рис. 11). Оператор процедуры readln в данном случае служит для останова программы в ожидании нажатия клавиши <Enter>.

Рис. 11

© Буров И.П., 2010

9

Консольное приложение Turbo Delphi представляет собой не просто программу, написанную на языке Object Pascal и выполняемую в среде Windows. Turbo Delphi поддерживает создание 32-разрядных консольных приложений, имеющих доступ к ресурсам системы и использующих различные функции API (API application programming interface) Windows. При этом в разделе uses нужно подключать модули, средства которых применяются в программе.

Пример. Использование в консольном приложении функций API

program Console; {$APPTYPE CONSOLE} uses

SysUtils, Windows; Var

Code_Page: Integer; begin

SetConsoleTitle('Консольное приложение'); Code_Page := GetConsoleOutputCP;

WriteLn(' Кодовая страница = ', Code_Page : 3); readln;

end.

Программа изменяет заголовок окна. Оно будет называться «Консольное приложение» (рис. 12). Для этого используется API-функция SetConsoleTitle. Функция GetConsoleOutputCP позволяет определить номер кодовой страницы национального алфавита, используемого при выводе информации на консоль. Представленные функции входят в модуль Windows, поэтому имя модуля указано в разделе uses.

Рис. 12

С помощью функций API можно управлять выводом информации на консоль.

Пример. Вывод текста с заданными атрибутами

program Change_Text_Attr; {$APPTYPE CONSOLE} uses

SysUtils,

Windows; Var

Text_Color, Back_Color, Text_Attr:Integer; Console_Handle:Cardinal;

begin

Console_Handle := GetStdHandle(STD_OUTPUT_HANDLE);

Text_Color := FOREGROUND_GREEN or FOREGROUND_INTENSITY; Back_Color := BACKGROUND_BLUE;

© Буров И.П., 2010

10