Практическая работа № 26 Тема : Типы данных в Delphi. Организация использование нескольких форм. Цель: Научиться создавать, отлаживать и компилировать простейшие программы с вводом и выводом данных в среде Delphi. Время: 80 мин. Задание: Создать программу, состоящую из нескольких форм и простых элементов управления – кнопок, надписей, текстовых полей. Первая форма (заставка) должна отображать фамилию автора программы, цель работы, вторая – отражать краткие теоретические сведения, третья – содержать элементы для ввода и вывода данных (символов, чисел, строк и т.д.) Литература: ввода-вывода, 1. Фараонов В.В. Программирование на языке высокого уровня: Учебник для вузов. – СПб.: Питер, 2003. 2. Бобровский С.И. Delphi 7. Учебный курс. – СПб.: Питер, 2005. Содержание отчёта: − Ответы на вопросы, поставленные в пунктах выполнения работы. − Текст программы. − Выводы по работе (что изучили, чему научились). описания последовательности Последовательность выполнения работы: 1. Запустите Delpi, создайте новый проект – (в Delphi 2010) или Application (в Delphi 7). 2. Разместите на форме эмблему или рисунок, надпись, отражающую цель работы и дающую информацию об авторе. Наиболее просто вывести иллюстрацию, которая находится в файле с расширением bmp, jpg или ico, можно при помощи компонента Image, значок которого находится на вкладке Additional палитры инструментов: 3. Добавьте в проект формы 2 и 3, на форму 1 добавьте компонент Timer и настройте его так, чтобы через 3-4 секунды форма 1 менялась на форму 2. На форме 2 разместите кнопку для перехода на форму 3, а на форме 3 – кнопку для выхода из программы. Добавить форму можно командой File → New → Form: Корюков И.В. «Практикум по информатике. Основы программирования» 1 Для перехода в другую форму (или в другое окно) можно выбрать в главном меню команду Window, затем - нужное окно: можно просто расположить окна «каскадом» и мышью выбирать нужное: Для добавления компонента Timer нужно его выбрать (на вкладке System, щелчком мыши) и выполнить щелчок мышью по рабочей области окна формы: Теперь нужно определить свойства и события объекта Timer1: Включаться он будет сразу при появлении формы № 1, поэтому свойство Enabled (включено) устанавливаем в True (истина), свойство Interval (интервал) определяет, через сколько миллисекунд сработает событие OnTimer, 3000 – это 3 секунды. Двойной щелчок по полю OnTimer вызовет создание процедуры Timer1Timer, которая и будет определять действия по истечению заданного времени. Давайте подробнее рассмотрим эти действия: во-первых, нужно скрыть форму № 1 (Form1.Hide); во-вторых, нужно отобразить форму №2 (Form2.Show); и в-третьих, нужно остановить таймер, иначе форма № 2 будет появляться каждые 3 секунды (Timer1.Enabled:=False): Корюков И.В. «Практикум по информатике. Основы программирования» 2 В разделе implementation (реализация) перед процедурами обязательно добавьте строчку uses unit2 (использовать модуль 2), иначе компилятор выдаст ошибку: Аналогично в модуле 2 для перехода на форму 3: uses unit3; В модуле 3 мы будем закрывать форму 3 и выходить из нашей программы, нужно будет закрыть и скрытые формы 2 и 3, поэтому там нужно будет добавить uses unit1, unit2; На форме 2 разместите кнопку для перехода на форму 3, можно использовать кнопки с рисунками – BitBtn и SpeedButton, разница в том, что BitBtn может быть с текстом, со стандартными надписями (OK, Yes, No и т.д.) и на неё можно перейти с помощью стрелок на клавиатуре и клавишей Tab. На SpeedButton можно нажать только мышью. Рисунок должен быть по размеру кнопки, уменьшить его не удастся… (саму кнопку можно рисовать любого размера) На форме 3 разместите кнопку для выхода из программы, обработчик события должен выглядеть так: procedure TForm3.SpeedButton1Click(Sender: TObject); begin Form1.Close; //закрываем форму № 1 Form2.Close; //закрываем форму № 2 Close; //закрываем форму № 3 end; Теперь надо настроить размер и положение окон так, чтобы их смена была незаметна, т.е. все формы должны иметь одинаковые размеры и положение. 4. На форме 2 в компоненте Memo разместите информацию о существующих типах данных. Добавьте кнопку, по нажатию на которую форма 2 менялась бы на форму 3. Простые типы данных: 1) 2) 3) 4) 5) 6) 7) Порядковые типы, Целые типы, Символьные типы, Булевы типы, Перечислимые типы, Под диапазонные типы, Действительные типы . Числа бывают целые и дробные. В следующей таблице перечислены стандартные типы целых чисел и соответствующие им диапазоны допустимых значений. Integer Cardinal Shortint Smallint Int64 Byte Word -2 147 483 648 .. +2 147 483 647 0 .. 4 294 967 295 -128 .. +127 -32 768 .. +32 767 -263 .. +263-1 0 .. +255 0 .. +65535 Корюков И.В. «Практикум по информатике. Основы программирования» 3 Наиболее удобным для использования в программах является тип Delphi Integer. Другие целые типы используются для уменьшения места, занимаемого данными в памяти компьютера. Дробные числа имеют дробную часть, отделяемую десятичной точкой. Допускается использование символа e (или E), за которым следует число, указывающее, что левую часть нужно умножить на 10 в соответствующей степени. Ниже приведены стандартные типы дробных чисел и соответствующие им диапазоны допустимых значений. Для большинства типов указан диапазон положительных значений, однако допустимым является аналогичный диапазон отрицательных значений, а также число 0. Real Real48 Single Double Extended Comp Currency 5*10-324 .. 1.7*10308 2.9*10-39 .. 1.7*1038 1.5*10-45 .. 3.4*1038 5*10-324 .. 1.7*10308 3.6*10-4951 .. 1.1*104932-1 -263 .. +263-1 922 337 203 685 477.5807 Наиболее удобным для использования в программах является тип Delphi Real. Ему эквивалентен тип Double, но в будущем это может быть изменено. Вычисления с дробными числами выполняются приближённо, за исключением типа Currency (финансовый), который предназначен для минимизации ошибок округления в бухгалтерских расчётах. Следующим типом данных является логический Boolean, состоящий всего из двух значений: True (Истина) и False (Ложь). При этом True > False. 5. На форме 3 расположите элементы, позволяющие ввести и вывести основные типы данных: целое положительное число (целое положительное или отрицательное число); вещественное число (или вещественное число с повышенной точностью); дату; время; строку, справка здесь: http://www.cyberguru.ru/programming/delphi/delphi-components-part1-page11.html Вывод данных организовать согласно варианту: 1. 2. 1-й вариант Целое число, противоположное по знаку 1/10 от введённого числа 2-й вариант Целое число, которое ввели, + 2 1/1000000000 от введённого числа Корюков И.В. «Практикум по информатике. Основы программирования» 4 3. 4. 5. вывести следующую дату после введенной вывести на 1 час, 1 минуту и 1 секунду больше введенного времени добавить фразу к введенной вывести дату перед введенной вывести на 1 час, 1 минуту и 1 секунду меньше введенного времени добавить фразу к введенной 6. Выполните отладку, компиляцию программы и создайте exe-файл. 7. Сохраните файлы в своём каталоге на сервере в папку «Программирование, пр.26» под именами pr_26_1.pas, pr_26_2.pas, pr_26_3.pas (для модулей), и Pr_26.dpr (для проекта), распечатайте тексты программы, формы (предварительно скопировав их в Word) и покажите преподавателю вместе с исполняемым файлом. Корюков И.В. «Практикум по информатике. Основы программирования» 5