Инструкция case
Процедура пересчета, которая выполняется в результате щелчка на командной кнопке Вычислить, умножает вес в фунтах на коэффициент, равный количеству килограммов в одном фунте. Значение коэффициента определяется по номеру выбранного из списка элемента.
В листинге 2.3 приведен текст программы пересчета веса из фунтов в килограммы.
Листинг 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, которое происходит в момент создания формы (форма создается автоматически при запуске программы). Эту процедуру можно использовать для инициализации переменных программы, в том числе и для добавления элементов в список. В приведенном тексте программы инструкции создания списка закомментированы, т. к. список был создан при помощи редактора строк во время создания формы.