unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms. Dialogs, StdCtrls, ExtCtris;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
RadioGroup1: TRadioGroup;
Button1: TButton;
Edit3: TEdit;
Label3: TLabel;
procedure Button1ClickCSender: 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);
{обработчик события щелчка на кнопке Button1}
var
a,b:integer; {2 операнда - целые числа.}
с:real; {результат арифметических операций}
begin
if (Edit1.Text<>’’) and (Edit2.Text<>’’) then
begin
a:=StrToInt(Edit1.text); {если значения заданы}
b:=StrToInt(Edit2.text); {преобразование текстовой строки
в целое число}
Edit3.text:=''; {очистить от результата предыдущих вычислений}
{выбор операции в зависимости от значения свойства RadioGroup1.ItemIndex}
Case RadioGroup1.ItemIndex of
: c:=a+b; {сложение}
: c:=a-b; {вычитание}
: c:=a*b; {умножение}
: {деление} if b=0 then ShowMessage('Ha ноль делить нельзя!')
else c:=a/b;
end;
if RadioGroup1.ItemIndex <>3 than {вывод результата операций}
Edit3.text:=F1oatToStrF(c,ffGeneral,10,4)
{преобразование результата вещественного деления в текстовую строку}
else if b<>0 then
Edit3.text:=FloatToStrF(c,ffGeneral,10.4)
end
else ShowMessage('He заданы значения');
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin {разрешить ввод в Edit1 только цифр}
if not (Key in ['0'..'9','+','-']) then Key:=#0;
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin {разрешить ввод в Edit2 только цифр}
if not (Key in ['0'..'9','+','-']) then Key:=#0;
end;
end.
Сохраните, откомпилируйте и запустите приложение на выполнение. Попробуйте ввести в качестве значений операндов не цифры, а символы и убедитесь, что созданные выше обработчики событий. OnKeyPress для Edit1 и Edit2 не позволяют пользователю вести нецифровую информацию. Закройте окно приложения.
Лабораторная работа №4
Создайте приложение, предлагающее пользователю ввести строку, определяющее количество символов в ней и выводящее результат, согласуя окончание слова «символов» с числом символов, например, «В тексте 1 символ», «В тексте 32 символа», «В тексте 47 символов».
Вид окна приложения, подсчитывающего число символов в тексте
Алгоритм выполнения работы
1. Создайте форму и разместите на ней компоненты: Edit1, Label1, Label2, Button1, как показано на рис. 41.
2. Задайте значения свойств Label1.Caption — «Введите текст», Label2.Caption — «В тексте», Button1.Caption — «Вычислить».
3. Удалите текст Edit1 из соответствующего компонента. Выровняйте компоненты на форме.
4. Для вычисления количества символов во введенной строке и вывода результатов создайте процедуру обработчика события щелчка мышью на кнопке Button1. Выберите в окне Инспектора объектов объект Button1, затем на странице Событий произведите двойной щелчок мышью на пустом поле списка в событии OnClick. После этого в окне Редактора кода будет сгенерирована заготовка процедуры обработчика события procedure TForm1.Button1Click (Sender: TObject);.
Достарыңызбен бөлісу: |