Главная
Решение задач.
Справочные данные.
Формулы.
Программирование.
Как в Windows?
Разное.
Утилиты Windows.
Несправности принтеров.
BIOS по алфавиту.
Тесты.
Карта сайта.
|
Калькулятор площадей и объемов (Delphi).
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label5: TLabel;
Button1: TButton;
Button2: TButton;
procedure ComboBox1Click(Sender: TObject);
procedure ComboBox2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
begin
//Начальное состояние устанавливаемое при запуске программы.===
Edit4.Visible:=false;
form1.Label1.Caption:='Сторона a:';
form1.Label2.Caption:='Сторона b:';
form1.Label3.Caption:='Сторона c:';
form1.Label4.Caption:='';
form1.Label5.Caption:='Ответ';
form1.Edit1.Text:='';
form1.Edit2.Text:='';
form1.Edit3.Text:='';
form1.Edit4.Text:='';
end;
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
Form1.ComboBox2.Clear;
form1.Label1.Caption:='';
form1.Label2.Caption:='';
form1.Label3.Caption:='';
form1.Label4.Caption:='';
Edit2.Visible:=false;
Edit3.Visible:=false;
Edit4.Visible:=false;
//Заполнение выпадающего списка ComboBox2.===
if(form1.ComboBox1.ItemIndex=1) then begin
form1.ComboBox2.Items.Add('Шар');
form1.ComboBox2.Items.Add('Параллелепипед');
form1.ComboBox2.Items.Add('Цилиндр');
form1.ComboBox2.Items.Add('Конус');
form1.ComboBox2.Text:='Шар';
form1.Label1.Caption:='Радиус:';
end;
if((form1.ComboBox1.ItemIndex=-1)OR(form1.ComboBox1.ItemIndex=0)) then begin
form1.ComboBox2.Items.Add('Треугольник');
form1.ComboBox2.Items.Add('Прямоугольник');
form1.ComboBox2.Items.Add('Трапеция');
form1.ComboBox2.Items.Add('Круг');
form1.ComboBox2.Text:='Треугольник';
Edit2.Visible:=true;
Edit3.Visible:=true;
form1.Label1.Caption:='Сторона a:';
form1.Label2.Caption:='Сторона b:';
form1.Label3.Caption:='Сторона c:';
end;
end;
procedure TForm1.ComboBox2Click(Sender: TObject);
begin
Edit2.Visible:=false;
Edit3.Visible:=false;
Edit4.Visible:=false;
form1.Label1.Caption:='';
form1.Label2.Caption:='';
form1.Label3.Caption:='';
form1.Label4.Caption:='';
//площади.===
if((form1.ComboBox1.ItemIndex=-1)OR(form1.ComboBox1.ItemIndex=0)) then begin
if((form1.ComboBox2.ItemIndex=-1)OR(form1.ComboBox2.ItemIndex=0)) then begin
//Треугольник.===
form1.Label1.Caption:='Сторона a:';
form1.Label2.Caption:='Сторона b:';
form1.Label3.Caption:='Сторона c:';
Edit2.Visible:=true;
Edit3.Visible:=true;
end;
if(form1.ComboBox2.ItemIndex=1) then begin
//Прямоугольник.===
form1.Label1.Caption:='Длина:';
form1.Label2.Caption:='Высота:';
Edit2.Visible:=true;
end;
if(form1.ComboBox2.ItemIndex=2) then begin
//Трапеция.===
form1.Label1.Caption:='Верхняя сторона:';
form1.Label2.Caption:='Нижняя сторона:';
form1.Label3.Caption:='Высота:';
Edit2.Visible:=true;
Edit3.Visible:=true;
end;
if(form1.ComboBox2.ItemIndex=3) then begin
//Круг.===
form1.Label1.Caption:='Радиус:';
end;
end;
//Расчет объемов.===
if(form1.ComboBox1.ItemIndex=1) then begin
if((form1.ComboBox2.ItemIndex=-1)OR(form1.ComboBox2.ItemIndex=0)) then begin
//Шар.===
form1.Label1.Caption:='Радиус:';
end;
if(form1.ComboBox2.ItemIndex=1) then begin
//Паралелепипед.===
form1.Label1.Caption:='Ширина:';
form1.Label2.Caption:='Высота:';
form1.Label3.Caption:='Длинна:';
Edit2.Visible:=true;
Edit3.Visible:=true;
end;
if(form1.ComboBox2.ItemIndex=2) then begin
//Цилиндр.===
form1.Label1.Caption:='Радиус:';
form1.Label2.Caption:='Высота:';
Edit2.Visible:=true;
end;
if(form1.ComboBox2.ItemIndex=3) then begin
//Конус.===
form1.Label1.Caption:='Радиус:';
form1.Label2.Caption:='Высота:';
Edit2.Visible:=true;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c,p,s,v:real;
begin
//Расчет площади.===
if((form1.ComboBox1.ItemIndex=-1)OR(form1.ComboBox1.ItemIndex=0)) then begin
if((form1.ComboBox2.ItemIndex=-1)OR(form1.ComboBox2.ItemIndex=0)) then begin
//Треугольник.===
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=StrToFloat(Edit3.Text);
p:=(a+b+c)/2;
s:=(p*(p-a)*(p-b)*(p-c));
if s>0 then begin
s:=sqrt(s);
label5.Caption:='Площадь треугольника равна: '+FloatToStr(s);
end else label5.Caption:='Треугольник с заданными параметрами не существует.';
end;
if(form1.ComboBox2.ItemIndex=1) then begin
//Прямоугольник.===
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
s:=a*b;
label5.Caption:='Площадь прямоугольника равна: '+FloatToStr(s);
end;
if(form1.ComboBox2.ItemIndex=2) then begin
//Трапеция.===
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=StrToFloat(Edit3.Text);
s:=(a+b)*c/2;
label5.Caption:='Площадь трапеции равна: '+FloatToStr(s);
end;
if(form1.ComboBox2.ItemIndex=3) then begin
//Круг.===
a:=StrToFloat(Edit1.Text);
s:=a*a*pi;
label5.Caption:='Площадь круга равна: '+FloatToStr(s);
end;
end;
//Расчет объема.===
if(form1.ComboBox1.ItemIndex=1) then begin
if((form1.ComboBox2.ItemIndex=-1)OR(form1.ComboBox2.ItemIndex=0)) then begin
//Шар.===
a:=StrToFloat(Edit1.Text);
s:=a*a*a*pi*4/3;
label5.Caption:='Объем круга равен: '+FloatToStr(s);
end;
if(form1.ComboBox2.ItemIndex=1) then begin
//Паралелепипед.===
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=StrToFloat(Edit3.Text);
s:=a*b*c;
label5.Caption:='Объем паралелепипеда равен: '+FloatToStr(s);
end;
if(form1.ComboBox2.ItemIndex=2) then begin
//Цилиндр.===
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
s:=a*a*b*pi;
label5.Caption:='Объем цилиндра равен: '+FloatToStr(s);
end;
if(form1.ComboBox2.ItemIndex=3) then begin
//Конус.===
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
s:=a*a*b*pi/3;
label5.Caption:='Объем цилиндра равен: '+FloatToStr(s);
end;
end;
end;
end.
Скачать исходник.
Web программирование Pascal&Delphi Бeйсик
|
|
|