Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_ЗАД_ООПТС_15_06_2012.doc
Скачиваний:
7
Добавлен:
24.09.2019
Размер:
193.54 Кб
Скачать

Interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1 : TEdit;

ListBox1: TListBox;

ListBox2: TListBox;

Button1 : TButton;

Button2 : TButton;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender : TObject);

procedure Button2Click(Sender: TObject);

procedure Edit1KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

a: array[1..10] of integer;

i, min, max, imax, imin: integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

ListBox1.Items.Add(Edit1.Text);

i := i+1;

a[i] := StrToInt(Edit1.Text);

Edit1.SetFocus

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

i:=0;

ListBox1.Clear;

ListBox2.Clear;

end;

procedure TForm1.Button2Click(Sender: TObject);

var k:integer;

begin

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]));

end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;

Shift : TShiftState);

begin

if key = 13 then Button1.SetFocus

end; end.

Пример 4.2

Выполним задание из Примера 4.1 с использованием компонента ComboBox.

Решение

  1. Для нового проекта создадим новую папку, например D:\MyProject\CBOX.

  2. Откроем новый проект.

  3. Со страницы Standard поместим на Form1следующие компоненты: две кнопки Button и два компонента ComboBox.

  4. Положим свойство DropDownCount для компонентов ComboBox1 и ComboBox2 равным 10. Дальнейшая последовательность действий анало­гична приведенной в решении примера 4.1. Отличия, появляющиеся при написании обработчиков собы­тий, становятся понятными при сравнении программ­ного кода из предыдущего примера и программного кода, приведенного ниже.

Текст модуля Unit1.pas

unit Unit1;

Interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1 : TButton;

Button2 : TButton;

ComboBox1: TComboBox;

ComboBox2: TComboBox;

procedure Button1Click(Sender: TObject);

procedure FormCreate( Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure ComboBox1KeyDown(Sender: TObject;

var Key: Word; Shift: TShiftState);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

A : array[1..10] of integer;

i, min, max, imax, imin : integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

ComboBox1.Items.Add(ComboBox1.Text);

i := i+1;

a[i] := StrToInt(ComboBox1.Text);

ComboBox1.SetFocus;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

i:=0;

ComboBox1.Clear;

ComboBox2.Clear;

ComboBox1.TabOrder := 0;

end;

procedure TForm1.Button2Click(Sender: TObject);

var k:integer;

begin

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

ComboBox2.Items.Add(IntToStr(a[k]));

ComboBox2.DroppedDown := true;

end;

procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

if key = 13 then Button1.SetFocus

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]