unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CheckLst, ExtCtrls;
type
Tform1 = class(TForm)
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
RadioGroup3: TRadioGroup;
CheckListBox1: TCheckListBox;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure RadioGroup1Click(Sender: TObject);
procedure RadioGroup2Click(Sender: TObject);
procedure RadioGroup3Click(Sender: TObject);
procedure CheckListBox1ClickCheck(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation {$R *.DFM}
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: Edit1.Font.Style:= [ ];
1: Edit1.Font.Style:= [fsltalic];
2: Edit1.Font.Style:= [fsBold];
3: Edit1.Font.Style:= [fsltalic,fsBold];
end;
CheckListBox1ClickCheck(Self);
end;
procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
case RadioGroup2.ItemIndex of
0: Edit1.Font.Size:= 8;
1: Edit1.Font.Size:= 10;
2: Edit1.Font.Size:= 12;
3: Edit1.Font.Size:= 14;
end
end;
procedure TForm1.RadioGroup3Click(Sender: TObject);
begin
case RadioGroup3.ItemIndex of
0: Edit1.Font.Color:= clBlack;
1: Edit1.Font.Color:= clGreen;
2: Edit1.Font.Color:= clRed;
3: Edit1.Font.Color:= clBlue;
end
end;
procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
begin
if CheckListBox1.Checked[0]
then Edit1.Font.Style:= Edit1.Font.Style + [fsStrikeOut]
else Edit1.Font.Style:= Edit1.Font.Style - [fsStrikeOut];
if CheckListBox1.Checked[1]
then Edit1.Font.Style:= Edit1.Font.Style + [fsUnderline]
else Edit1.Font.Style:= Edit1.Font.Style - [fsUnderline]:
end;
|
|
end.
Списки: ListBox и ComboBox
В целочисленном массиве А(10) найти максимальный и минимальный элементы и поменять их местами.
Решение
1. Для нового проекта создадим новую папку, например, D:\MyProject\LBOX.
2. Откроем новый проект, используя команду главного меню File| New | Application.
3. Из страницы Standard поместим на Form1 следующие компоненты Edit, две кнопки Button и два компонента ListBox.
4. С помощью Инспектора Объектов зададим в качестве значения для свойства Text компонента Edit1 пустую строку. Установим для левой кнопки значение свойства Caption равным ‘Ввод’ а для правой – ‘Решение’.
5. В разделе interface вставим описание массива а и используемых переменных:
a: аrrаy[1..10] of integer;
i, min, max, imax, imin: integer;
6. Выполним двойной щелчок по форме Form1, в результате чего будет создана заготовка события OnCreate для формы, возникающего в момент создания формы. Размещение операторов в этом обработчике во многих случаях эквивалентно размещению операторов в секции initialization модуля. Поместим там следующие строки:
i:= 0;
ListBox1.Clear;
ListBox2.Clear;
7. Активизируем двойным щелчком кнопку «Ввод» и в заготовку обработчика события
OnClick поместим следующий код:
ListBox1.Items.Add(Edit1.Text);
i:= i+1;
a[i]:= StrToInt(Edit1.Text);
Edit1.SetFocus
9. Активизируем кнопку «Решение» и в заготовку обработчика события поместим
следующий текст:
max:= a[1];
imax:= 1;
min:= a[1];
imin:= 1;
for k:= 2 to 10 do
begin
if max < a[k] then
begin
max:= a[k];
imax:= k
end;
if min > a[k] then
begin
min:= a[k];
imin:= k
end;
end;
a[imax]:= min;
a[imin]:= max;
for k:= 1 to 10 do
ListBox2.Items.Add(IntToStr(a[k]));
9. Для удобства работы с приложением создаём обработчик события OnKeyDown для строки ввода Edit1, в котором при нажатии на клавишу Enter фокус ввода будет переводиться на кнопку «Ввод»:
|
|
if key = 13 then Button1.SetFocus
10.Сохраним проект при помощи команды главного меню File|Save All.
11.Запустим программу с помощью клавиши F9.
Для ввода целых чисел используем строку ввода Edit. Ввод каждого числа завершаем
нажатием кнопки Enter либо щелчком мыши по кнопке «Ввод». Введенные числа отображаются в первом списке. После нажатия на клавишу «Решение» получим результат во втором списке.
Полный текст разработанного модуля.