![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
II. Задание для самостоятельного выполнения. Для демонстрации возможностей Delphi и технологии визуального проектирования разработаем программу, вычисляющую скорость ⇐ ПредыдущаяСтр 2 из 2
Для демонстрации возможностей Delphi и технологии визуального проектирования разработаем программу, вычисляющую скорость, с которой спортсмен пробежал дистанцию. Окно программы во время ее работы приведено на рис.1.
Рис.1. Окно программы вычисления скорости бега.
Для начала работы над новой программой запустите Delphi. Если вы уже работаете в среде разработки и у вас загружен другой проект, выберите из меню File (Файл) команду New/Application (Создать/Приложение).
Форма Работа над новым проектом, так в Delphi называется разрабатываемое приложение, начинается с создания стартовой формы. На этапе разработки программы диалоговые окна называют формами. Стартовая форма создается путем изменения значений свойств формы Form1 и добавления к форме необходимых компонентов (полей ввода и вывода текста, командных кнопок). Свойства формы (табл.1) определяют ее внешний вид: размер, положение на экране, текст заголовка, вид рамки.
Для просмотра и изменения значений свойств формы и ее компонентов используется окно Object Inspector. В верхней части окна Object Inspector указано имя объекта, значения свойств которого отображается в данный момент. В левой колонке вкладки Properties (Свойства) перечислены свойства объекта, а в правой - указаны их значения. При создании формы в первую очередь следует изменить значение свойства Caption (Заголовок). В нашем примере надо заменить текст Form1 на " Скорость бега". Чтобы это сделать, нужно в окне Object Inspector щелкнуть мышью в строке Caption, в результате чего будет выделено текущее значение свойства, в строке появится курсор, и можно будет ввести текст " Скорость бега" (рис.2). рис.2. Изменение значения свойства Caption.
Размер формы и ее положение на экране, а также размер других элементов управления и их положение на поверхности формы, задают в пикселях, т.е. точках экрана. Форма - это обычное окно. Поэтому его размер можно изменить точно так же, как любого другого окна, т.е. захватом и перемещением (с помощью мыши) границы. По окончании перемещения границ автоматически изменятся значения свойств Height и Width. Они будут соответствовать установленному размеру формы. Положение диалогового окна на экране после запуска программы соответствует положению формы во время ее разработки, которое определяется значением свойств Tор (отступ от верхней границы экрана) и Left (отступ от левой границы экрана). Значения этих свойств также можно задать путем перемещения окна формы при помощи мыши. При выборе некоторых свойств, например, Borderstyle, справа от текущего значения свойства появляется значок раскрывающегося списка. Очевидно, что значение таких свойств можно задать путем выбора из списка (рис.3).
рис.3. Установка значения свойства путем выбора из списка.
Некоторые свойства являются сложными, т.е. их значение определяется совокупностью значений других (уточняющих) свойств. Перед именами сложных свойств стоит значок " +", при щелчке на котором раскрывается список уточняющих свойств (рис.4).
рис.4. Раскрытый список вложенных свойств сложного свойства Bordericons. Например, свойство Bordericons определяет, какие кнопки управления окном будут доступны во время работы программы. Так, если свойству biMaximize присвоить значение false, то во время работы программы кнопки Развернуть в заголовке окна не будет. Рядом со значениями некоторых свойств отображается командная кнопка с тремя точками. Это значит, что для задания значения свойства можно воспользоваться дополнительным диалоговым окном. Например, значение сложного свойства Font можно задать путем непосредственного ввода значений уточняющих свойств, а можно воспользоваться стандартным диалоговым окном выбора шрифта. В табл.2 перечислены свойства формы разрабатываемой программы, которые следует изменить.
Остальные свойства оставлены без изменения и в таблице не приведены. В приведенной таблице в именах некоторых свойств есть точка. Это значит, что надо задать значение уточняющего свойства. После того как будут установлены значения свойств главной формы, она должна иметь вид, приведенный на рис.5. рис.5. Так выглядит форма после установки значений свойств. Программа в окне кодов должна иметь вид:
unit vrun1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char);
private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
// щелчок на кнопке Вычислить procedure TForm1.Button1Click(Sender: TObject); var dist: integer; // дистанция, метров t: real; // время, как дробное число
min: integer; // время, минуты sek: integer; // время, секунды
v: real; // скорость begin // получить исходные данные из полей ввода dist: = StrToInt(Edit1.Text); t: = StrToFloat(Edit2.Text);
// предварительные преобразования min: = Trunc(t); // кол-во минут - это целая часть числа t sek: = Trunc(t*100) mod 100; // кол-во секунд - это дробная часть числа t
// вычисление v: = (dist/1000) / ((min*60 + sek)/3600);
// вывод результата label4.Caption: = 'Дистанция: '+ Edit1.Text + ' м' + #13 + 'Время: ' + IntToStr(min) + ' мин ' + IntToStr(sek) + ' сек ' + #13 + 'Скорость: ' + FloatToStrF(v, ffFixed, 4, 2) + ' км/час';
end;
// щелчок на кнопке Завершить procedure TForm1.Button2Click(Sender: TObject); begin Form1.Close; end;
// нажатие клавиши в поле Дистанция procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin // Key - символ, соответствующий нажатой клавише. // Если символ недопустимый, то процедура заменяет его // на символ с кодом 0. В результате этого символ в поле // редактирования не появляется и у пользователя создается // впечатление, что программа не реагирует на нажатие некоторых // клавиш. case Key of '0'..'9':; // цифра #8:; // < Backspace> #13: Edit2.SetFocus; // < Enter>
// остальные символы - запрещены else Key: =Chr(0); // символ не отображать end; end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin case Key of '0'..'9':; // цифра
', ', '.': // точка или запятая begin if Key = '.' then Key: = ', '; // подменим точку запятой // проверим, есть ли в поле Edit2 запятая if Pos(', ', Edit2.Text) < > 0 // запятая уже есть then Key: =Char(0); // вторую запятую не отображать end;
#8:; // < Backspace>
// остальные символы - запрещены else Key: =Chr(0); // символ не отображать end; end;
end. III. Контрольные вопросы 1. Общая структура Среды Delphi 2. Основные элементы 3. Дополнительные элементы 4. Инструментальные средства 5. Стандартные компоненты 6. Инспектор объектов 7. Сохранение проекта
|