Цель работы - создать программу, которая переводит значение температуры по Цельсию в значения температуры по Фаренгейту. Введите графический объект изображения значения температуры.

1. Поместите на форму два поля ввода Edit и четыре кнопки.

Практическая работа № 32 Градусник

Рис. 59.

2. Ввести число в левое поле. По нажатию на кнопку "по Фаренгейту" в правом поле выводится преобразованное число. По нажатию кнопки "Очистить" очищаются поля ввода.

3. Ограничьте вводимые температуры диапазоном от 0°C до 100°C (если введено значение, превышающее 100°C или 212°F, то при нажатии кнопки в полях ввода должно отобразиться 100 и 212 соответственно).

4. Отобразить столбик термометра графически. Добавьте компоненты Image.

5. Сделать видимой только ту кнопку, которая необходима для преобразования.

Практическая работа № 32 Градусник

Рис. 60.

Листинг программы

unit Unitl; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

type

TForml = class(TForm) Editl: TEdit;
Edit2: TEdit;
Buttonl: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Imagel: TImage;
Image2: TImage;
Labell: TLabel;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);

private

{ Private declarations } public

{ Public declarations } end;
var
Forml: TForml;

implementation

{$R *.dfm}

procedure TForml.FormCreate(Sender: TObject);
begin
Editl.Text := ''; Edit2.Text := '';
Imagel.Canvas.Pen.Color := clRed;
Imagel.Canvas.Brush.Color := clWhite;
Imagel.Canvas.Rectangle(l0,l,23,360);
Image2.Canvas.Pen.Color := clBlue;
Image2.Canvas.Brush.Color := clWhite;
Image2.Canvas.Rectangle(l0,l,23,360);
end;
procedure TForml.Button2Click(Sender: TObject);
var a, b, c : real;
begin
a := StrToFloat(Editl.Text);
if (a > 0) or (a <
l00) then b := l.8 * a + 32;
if a >
l00 then b := 2l2;
if a < 0 then b := 32;
Edit2.Text := FloatToStr(b);
Image1.Canvas.Pen.Color := clRed;
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.Rectangle(10,1,23,360);
Image1.Canvas.Pen.Color := clRed;
Image1.Canvas.Brush.Color := clRed;
Image1.Canvas.Rectangle(10,round(360-a),23,360);
Image2.Canvas.Pen.Color := clBlue;
Image2.Canvas.Brush.Color := clWhite;
Image2.Canvas.Rectangle(10,1,23,360);
Image2.Canvas.Pen.Color := clBlue;
Image2.Canvas.Brush.Color := clBlue;
Image2.Canvas.Rectangle(10,round(360-b),23,360);
end;
procedure TForm1.Button1Click(Sender: TObject);
var a, c, d : real;
begin
c := StrToFloat(Edit2.Text);
if (c > 32) or (c < 212) then d := ( c - 32)/1.8;
if c < 32 then d := 0;
if c > 212 then d := 100;
Edit1.Text := FloatToStr(d);
Image2.Canvas.Pen.Color := clBlue;
Image2.Canvas.Brush.Color := clWhite;
Image2.Canvas.Rectangle(10,1,23,360);
Image2.Canvas.Pen.Color := clBlue;
Image2.Canvas.Brush.Color := clBlue;
Image2.Canvas.Rectangle(10,round(360-c),23,360);
Image1.Canvas.Pen.Color := clRed;
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.Rectangle(10,1,23,360);
Image1.Canvas.Pen.Color := clRed;
Image1.Canvas.Brush.Color := clRed;
Image1.Canvas.Rectangle(10,round(360-d),23,360);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Edit1.Text := ''; Edit2.Text := '';
Image1.Canvas.Pen.Color := clRed;
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.Rectangle(10,1,23,360);
Image2.Canvas.Pen.Color := clBlue;
Image2.Canvas.Brush.Color := clWhite;
Image2.Canvas.Rectangle(10,1,23,360);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Edit1Enter(Sender: TObject);
begin
Button2.Visible := true;
Button1.Visible := False;
end;
procedure TForm1.Edit2Enter(Sender: TObject);
begin
Button1.Visible := True;

Button2.Visible := False; end; end.

Практическая работа № 31 Построение графика || Оглавление || Практическая работа № 33 Вывод табличных данных


Практикум по Delphi для решения прикладных задач



Новости за месяц

  • Июнь
    2021
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс