Пересчет веса из фунтов в килограммы
Листинг 2.3. Пересчет веса из фунтов в килограммы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label2: TLabel;
Editl: TEdit; // поле ввода веса в фунтах
Button1: TButton; // кнопка Вычислить
Label1: TLabel;
LabelS: TLabel;
ListBox1: TListBox; // список стран
Label4: TLabel; // поле вывода рез-та — веса в килограммах
procedure FqrmCreate(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
private
{ Private declarations } public
{ Public declarations } end;
var
Form1: TForml;
implementation
{$R *.DFM}
procedure TForml.FormCreate(Sender: TObject);
begin
{
ListBox1.items.add('Россия');
ListBox1.items.add('Австрия');
ListBox1.iterns.add('Англия');
ListBox1.items.add('Германия');
ListBox1.iterns.add ('Дания');
ListBoxl.iterns.add('Исландия');
ListBox1.iterns.add ('Италия');
ListBox1.items.add ('Нидерланды');
}
ListBox1.itemindex:=0; end;
procedure TForm1.ButtonlClick(Sender: TObject);
var
funt:real; // вес в фунтах
kg:real; // вес в килограммах
k:real; // коэффициент пересчета
begin
case ListBoxl.Itemindex of
0: k:=0.4095; // Россия
1: k:=0.453592; // Англия
2:k:=0.56001; // Австрия
3..5,7:k:=0.5; // Германия, Дания, Исландия, Нидерланды
6: k:=0.31762; // Италия
end;
funt:=StrToFloat(Editl.Text);
kg:=k*funt;
label4.caption:=Editl.Text
+ ' ф. — это '
+ FloatToStrF(kg,ffFixed, 6,3) + 'кг.';
end;
end.
Следует обратить внимание на процедуру обработки события FormCreate, которое происходит в момент создания формы (форма создается автоматически при запуске программы). Эту процедуру можно использовать для инициализации переменных программы, в том числе и для добавления элементов в список. В приведенном тексте программы инструкции создания списка закомментированы, т. к. список был создан при помощи редактора строк во время создания формы.
Рассмотрим еще один пример использования инструкции case. При выводе числовой информации с поясняющим текстом возникает проблема согласования выводимого значения и окончания поясняющего текста.
Например, в зависимости от числового значения поясняющий текст к денежной величине может быть: "рубль", "рублей" или "рубля" (123 рубля, 120 рублей, 121 рубль). Очевидно, что окончание поясняющего слова определяется последней цифрой числа, что отражено в табл. 2.8.