![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Создание процедур обработки событий FormCreate и Button1Click ⇐ ПредыдущаяСтр 2 из 2
Двойным нажатием клавиши “мыши” на Форме и кнопке 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.
|