Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Interface





uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type TMainForm = class(TForm)

Bevel1: TBevel; {рамка}

NextButton, ExitButton: TButton;

InputLabel, OutPutLabel: TLabel;

InPutEdit, OutPutEdit: TEdit;

procedure FormActivate(Sender: TObject);

procedure InPutEditKeyPress(Sender: TObject; var Key: Char);

procedure NextButtonClick(Sender: TObject);

procedure ExitButtonClick(Sender: TObject);

end;

var MainForm: TMainForm;

Implementation

{$R *.DFM}

procedure TMainForm. FormActivate (Sender: TObject);

begin

NextButton.Enabled:=false;

InPutEdit.ReadOnly:=false;

InPutEdit.Clear;

InPutEdit.Enabled:=true;

InPutEdit.SetFocus;

OutPutLabel.Visible:=false;

OutPutEdit.Visible:=false;

end;

 

procedure TMainForm. InPutEditKeyPress (Sender: TObject; var Key: Char);

var x:real;Code:integer;

begin

If Key=#13 then

begin

Key:=#0;

Val(InPutEdit.Text,x,Code);

if Code=0 then

begin

InputEdit.ReadOnly:=true;

InputEdit.Enabled:=false;

OutPutLabel.Visible:=true;

OutPutEdit.Visible:=true;

OutPutEdit.Text:=floattostr(sqr(x));

NextButton.Enabled:=true;

NextButton.SetFocus;

end

else

begin

MessageDlg('Введенное значение содержит недопустимые символы.', mtError, [mbOk], 0);

end

end

end;

 

procedure TMainForm. NextButtonClick (Sender: TObject);

begin FormActivate(NextButton);end;

 

procedure TMainForm. ExitButtonClick (Sender: TObject);

begin Close;end;

 

End.

 

 

Последовательность действий при создании программы проще всего показать на конкретном примере.

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

Создание программы начинается с задания имени проекта и первого модуля. При определении имени первого модуля следует сначала щелкнуть либо по первой форме (Form1), либо по странице (Unit1) текстового редактора, а затем определить новое имя через меню File\Save As... В появившемся окне создайте новую папку и введите имя модуля - C_unit.pas. Имя проекта определяется через меню File\Save Project As... (сохраните его в той же папке с именем Culc.dpr).

1. Измените заголовок формы Form1 на заголовок Калькулятор. Для этого, предварительно выделив щелчком форму, на странице Propeties инспектора объектов щелчком выделите свойство Caption (Заголовок) и введите имя Калькулятор.

2. Разместите на форме окно ввода чисел. Для этого на странице Standart палитры компонент найдите кнопку Edit. Мышью “перетащите” этот компонент в нужное место формы (см. Рис. 2). После этого измените размер компонента (тащите за черные квадратики в нужную сторону). Теперь удалите текст из окна компонента. Для этого на странице Propeties инспектора объектов выделите свойство Text и удалите информацию из этого поля.

3. Разместите кнопки операций на форме. Для этого на странице Standart палитры компонент найдите кнопку Button. Для того, чтобы не перетаскивать каждый компонент отдельно, перед выбором мышкой компонента нажмите клавишу Shift. Теперь щелкая мышью в нужных местах можно установить сразу все 7 кнопок. Для отмены работы с кнопкой щелкните мышью по стрелке под словом Standart палитры компонент. Затем, последовательно щелкая мышью по установленным кнопкам, измените заголовки кнопок (свойство Caption на странице Propeties инспектора объектов) соответственно на С, =, +, -, х, / и Quit (см. Рис.2).

Одновременно с построением формы Delphi строит новый класс с именем Tform1 (потомок класса стандартного класса Tform) и создает объект данного класса с именем Form1 (на рисунке его не видно).

5. Теперь “научите” форму обрабатывать нажатия на кнопки. Для этого щелкните мышью по кнопке С и перейдите на страницу Events инспектора объектов. На этой странице приведены все события, на которые может реагировать компонент Button. Щелкнув по строке OnClick, выберете событие “щелчок мыши по компоненту”. Двойным щелчком по той же строке вызовете заготовку обработчика данного события:

procedure TForm1.Button1Click(Sender: TObject);

Begin

End;

 

 

Рис.2. Форма “Калькулятор” и фрагмент текста модуля.

 

Между begin и end необходимо ввести текст процедуры:

Edit1.Clear; { очистить окно компонента Edit1 }

operation:='@'; { установить состояние “первая операция “}

Edit1.setfocus; { установить активным окно компонента Edit1 }

Аналогично введите процедуры обработки нажатий на другие клавиши:

Для кнопки = (Button2):

procedure TForm1.Button2Click(Sender: TObject);

var s:string;

Begin

operate; { выполнить предыдущую операцию}

str(sum:6:3,s); { преобразовать результат в строку}

Edit1.text:=s; { вывести строку в окно компонента Edit1 }

Button1.setfocus; { установить курсор на кнопку Button1 }

End;

Для кнопки + (Button3):

procedure TForm1.Button3Click(Sender: TObject);

Begin

operate; { выполнить предыдущую операцию}

operation:='+'; { установить состояние “операция +“}

Edit1.setfocus; { установить активным окно компонента Edit1 }

End;

Для кнопки - (Button4):

procedure TForm1.Button4Click(Sender: TObject);

Begin

operate; { выполнить предыдущую операцию}

operation:='-'; { установить состояние “операция +“}

Edit1.setfocus; { установить активным окно компонента Edit1 }

End;

Для кнопки * (Button5):

procedure TForm1.Button5Click(Sender: TObject);

Begin







Дата добавления: 2015-10-01; просмотров: 309. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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

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

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия