Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание процедур обработки событий FormCreate и Button1Click






Двойным нажатием клавиши “мыши” на Форме и кнопке Button1 создайте соответствующие процедуры обработки событий. Используя текст модуля UnZap, внимательно наберите операторы этих процедур.

 

Листинг Модуля UnZap

Unit UnZap;

Interface

Uses

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

StdCtrls, Buttons, Grids;

Type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

Button1: TButton;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

End;

Var

Form1: TForm1;

Implementation

{$R *.DFM}

Type

zap= record // объявление записи

fio: string[20];

mat, fiz, soch: integer;

srbal: extended

end;

Var

MZap: array [1..9] of zap; // объявление массива записей

procedure TForm1.FormCreate(Sender: TObject);

Var

i: integer;

Begin

with StringGrid1 do

begin // занесение информации в ячейки StringGrid1

Cells[0, 0]: =' №пп ’;

Cells[1, 0]: = 'Фамилия, инициалы';

Cells[2, 0]: =' Математика';

Cells[3, 0]: =' Физика ';

Cells[4, 0]: =' Сочинение ';

Cells[5, 0]: = 'Ср.балл';

for i: =1 to 9 do

Cells[0, i]: =IntToStr(i);

Cells[1, 1]: = 'Первый П.П. '; Cells[2, 1]: =' 3 '; Cells[3, 1]: =' 3 '; Cells[4, 1]: =' 3 ';

Cells[1, 2]: = 'Второй В.В. '; Cells[2, 2]: =' 3 '; Cells[3, 2]: =' 3 '; Cells[4, 2]: =' 4 ';

Cells[1, 3]: = 'Третий Т.Т. '; Cells[2, 3]: =' 3 '; Cells[3, 3]: =' 4 '; Cells[4, 3]: =' 4 ';

Cells[1, 4]: = 'Четвертый Ч.Ч. '; Cells[2, 4]: =' 4 '; Cells[3, 4]: =' 4 '; Cells[4, 4]: =' 4 ';

Cells[1, 5]: = 'Пятый П.П. '; Cells[2, 5]: =' 3 '; Cells[3, 5]: =' 4 '; Cells[4, 5]: =' 5 ';

Cells[1, 6]: = 'Шестой Ш.Ш. '; Cells[2, 6]: =' 5 '; Cells[3, 6]: =' 4 '; Cells[4, 6]: =' 4 ';

Cells[1, 7]: = 'Седьмой С.С. '; Cells[2, 7]: =' 5 '; Cells[3, 7]: =' 5 '; Cells[4, 7]: =' 4 ';

Cells[1, 8]: = 'Восьмой В.В. '; Cells[2, 8]: =' 5 '; Cells[3, 8]: =' 5 '; Cells[4, 8]: =' 5 ';

Cells[1, 9]: = 'Девятый Д.Д. '; Cells[2, 9]: =' 3 '; Cells[3, 9]: =' 5 '; Cells[4, 9]: =' 5 ';

for i: =1 to 9 do

with MZap[i] do

begin // формирование полей массива записей

fio: =Cells[1, i];

mat: =StrToInt(Cells[2, i]);

fiz: =StrToInt(Cells[3, i]);

soch: =StrToInt(Cells[4, i]);

srbal: =(mat+fiz+soch)/3; // вычисление значения ср. балла

Cells[5, i]: =FloatToStrF(srbal, ffFixed, 5, 2); // вывод значения ср.балла

end; // в последнюю колонку StringGrid1

End;

End;

procedure TForm1.Button1Click(Sender: TObject);

Var

i, j: integer;

vper: zap;

Begin

for i: =1 to 9 do

with StringGrid1, MZap[i] do

Begin

fio: =Cells[1, i];

mat: =StrToInt(Cells[2, i]);

fiz: =StrToInt(Cells[3, i]);

soch: =StrToInt(Cells[4, i]);

srbal: =(mat+fiz+soch)/3;

Cells[5, i]: =FloatToStrF(srbal, ffFixed, 5, 2);

end;

for i: =2 to 9 do // сортировка методом " пузырька"

for j: =9 downto i do

if MZap[j-1].srbal< MZap[j].srbal then

Begin

vper: =MZap[j-1];

MZap[j-1]: =MZap[j];

MZap[j]: =vper;

End;

for i: =1 to 9 do // заполнение ячеек StringGrid1 полями массива записей

with StringGrid1, MZap[i] do

Begin

Cells[1, i]: =fio;

Cells[2, i]: =IntToStr(mat);

Cells[3, i]: =IntToStr(fiz);

Cells[4, i]: =IntToStr(soch);

Cells[5, i]: =FloatToStrF(srbal, ffFixed, 5, 2);

End;

End;

End.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.