Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Moya_pz.doc
Скачиваний:
3
Добавлен:
12.11.2019
Размер:
425.47 Кб
Скачать

Заключение

В результате выполнения данной курсовой работы, было разработано, программное средство «Контроль знаний учащихся». Было проведено исследование компонентов программной среды Borland Delphi 7.0, которые использовались при создании программы, также было использовано множество процедур и функций.

При создании программы использовались следующие компоненты: TMainMenu, TSaveDialog, TOpenDialog, TStringGrid, TPageControl, TComboBox, TEdit, TButton.

В ходе разработки программы был также задействован следующий программный продукт, Microsoft Paint, который использовался для создания скриншотов к данному курсовому проекту.

Результатом разработки, проведенной в данном курсовом проекте, стала система, удовлетворяющая следующим требованиям:

  • написанное программное средство, полностью реализует возложенные на нее функции;

  • система оснащена простым интерфейсом;

  • программа имеет классический дизайн;

В целом, цель, поставленная в начале курсового проектирования, была достигнута. В программу вошли все необходимые требования для пользователя.

Список использованных источников

1 Богуславский, А.А. Основы программирования на языке Delphi Часть 4: Программирование для Microsoft Windows

2 Зубов, А. Программирование на Delphi. Трюки и эффекты / А. Зубов. – СПб: Питер, 2005. – 396 с.

3 Павловская, Т. А. Программирование на языке высокого уровня / Т. А. Павловская. – СПб.: Питер, 2010. – 461 с.

4 Прата, С. А. Язык программирования С++. Лекции и упражнения / С. Прата. М.: Вильямс, 2006. – 1184 с.

5 Фаронов, В.В. Delphi. Программирование на языке высокого уровня / В. Фаронов. – СПб: Питер, 2004. – 640 с.

6 Хомоненко А, В. Гофман, Е. Мещеряков, В. Никифоров. – СПб: БХВ, 2008. – 1216 с. Delphi 7. Наиболее полное руководство.

Приложение а

(обязательное)

Листинг программы

unit Unit1;

interface

uses

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

Dialogs, Menus, ComCtrls, Grids, StdCtrls;

type

TForm1 = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

N1: TMenuItem;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

N2: TMenuItem;

N3: TMenuItem;

StringGrid1: TStringGrid;

ComboBox1: TComboBox;

GroupBox1: TGroupBox;

Edit5: TEdit;

Button1: TButton;

Button2: TButton;

StringGrid2: TStringGrid;

Button3: TButton;

N6: TMenuItem;

N7: TMenuItem;

Button4: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure Create_(Sender: TObject);

procedure NewEdit(Sender: TObject);

procedure NewComboBox;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

type

info=record {тип записей}

fio,gr,faq,predmet,ocenka: string[20];

end;

var

//PagesDlg: TPagesDlg; {Строка есть в заголовке модуля}

f: file of info; {Файл записей}

r: info; {Одна запись}

N: integer; {Количество записей}

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.N2Click(Sender: TObject);

{процедура чтения из файла}

var i: integer;

begin

if OpenDialog1.Execute then

begin

AssignFile(F,OpenDialog1.FileName);

Reset(F);

N:=0;

while not eof(f) do

begin

read(F,r);

stringGrid1.Cells[0,N+1]:=r.fio;

stringGrid1.Cells[1,N+1]:=r.gr;

stringGrid1.Cells[2,N+1]:=r.faq;

stringGrid1.Cells[3,N+1]:=r.predmet;

stringGrid1.Cells[4,N+1]:=r.ocenka;

N:=N+1 {увеличение числа записей на 1}

end;

closeFile(F);

NewCombobox {процедура заполняет комбинированный список второй страницы}

end

end;

procedure TForm1.N3Click(Sender: TObject);

var i:integer;

begin

if SaveDialog1.Execute then

begin

AssignFile(F,SaveDialog1.FileName);

Rewrite(F);

i:=1;

while stringGrid1.Cells[3,i]<>'' do

begin

r.fio:=stringGrid1.Cells[0,i];

r.gr:=stringGrid1.Cells[1,i];

r.faq:=stringGrid1.Cells[2,i];

r.predmet:=stringGrid1.Cells[3,i];

r.ocenka:=stringGrid1.Cells[4,i];

write(F,r);

i:=i+1

end;

closeFile(F)

end

end;

procedure TForm1.Create_(Sender: TObject);

begin

stringGrid1.Cells[0,0]:='ФИО';

stringGrid1.Cells[1,0]:='Группа';

stringGrid1.Cells[2,0]:='Факультет';

stringGrid1.Cells[3,0]:='Предмет';

stringGrid1.Cells[4,0]:='Оценка';

stringGrid2.Cells[0,0]:='ФИО';

stringGrid2.Cells[1,0]:='Группа';

stringGrid2.Cells[2,0]:='Факультет';

stringGrid2.Cells[3,0]:='Предмет';

stringGrid2.Cells[4,0]:='Оценка';

ComboBox1.Items.Add('<'); {Создаем пустую строку в комбинированном списке}

ComboBox1.ItemIndex:=0 {Активизируем эту строку на случай создания нового справочника}

end;

procedure TForm1.NewEdit(Sender: TObject);

var i,j,k:integer; {номер строки данных в таблице}

begin

k:=0;

for i:=0 to stringgrid2.RowCount-1 do

for j:=1 to stringgrid2.ColCount-1 do

stringgrid2.Cells[i,j]:='';

for i:=1 to N do

begin

if StringGrid1.Cells[0,i]=ComboBox1.Items[ComboBox1.ItemIndex]

then

begin

k:=k+1;

stringgrid2.Cells[0,k]:=stringgrid1.Cells[0,i];

stringgrid2.Cells[1,k]:=stringgrid1.Cells[1,i];

stringgrid2.Cells[2,k]:=stringgrid1.Cells[2,i];

stringgrid2.Cells[3,k]:=stringgrid1.Cells[3,i];

stringgrid2.Cells[4,k]:=stringgrid1.Cells[4,i];

end;

end;

i:=1; k:=0;

While Stringgrid2.Cells[0,i]<>'' do

begin

k:=k+strtoint(Stringgrid2.Cells[4,i]);

i:=i+1;

end;

if i<>1 then

i:=i-1;

label3.Caption:= floattostr(k/i);

end;

procedure Tform1.NewComboBox;

var i,j,k: integer; key:boolean;

begin

{Запоминаем активную позицию комбинированного списка}

j:=ComboBox1.ItemIndex;

ComboBox1.Clear; {очищаем список}

key:=true;

for i:=1 to n do

begin

for k:=0 to combobox1.Items.Count-1 do

if ComboBox1.Items[k]=StringGrid1.Cells[0,i] then

key:=false;

if key=true then ComboBox1.Items.Add(StringGrid1.Cells[0,i]);

key:=true;

end;

ComboBox1.ItemIndex:=j {Переходим на позицию j}

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

if ComboBox1.ItemIndex=0

then ComboBox1.ItemIndex:=N-1

else ComboBox1.ItemIndex:=ComboBox1.ItemIndex-1;

NewEdit(ComboBox1) {Обновляем панель «Найдена запись»}

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

if ComboBox1.ItemIndex=N-1

then ComboBox1.ItemIndex:=0

else ComboBox1.ItemIndex:=ComboBox1.ItemIndex+1;

NewEdit(ComboBox1) {Обновляем панель «Найдена запись»}

end;

procedure TForm1.Button3Click(Sender: TObject);

var i,j,k:integer; {номер строки данных в таблице}

begin

if Edit5.Text='' then begin showmessage('Введите строку для поиска');exit;end;

k:=0;

for i:=0 to stringgrid2.RowCount-1 do

for j:=1 to stringgrid2.ColCount-1 do

stringgrid2.Cells[i,j]:='';

for i:=1 to N do

begin

if StringGrid1.Cells[0,i]=Edit5.Text

then

begin

k:=k+1;

stringgrid2.Cells[0,k]:=stringgrid1.Cells[0,i];

stringgrid2.Cells[1,k]:=stringgrid1.Cells[1,i];

stringgrid2.Cells[2,k]:=stringgrid1.Cells[2,i];

stringgrid2.Cells[3,k]:=stringgrid1.Cells[3,i];

stringgrid2.Cells[4,k]:=stringgrid1.Cells[4,i];

combobox1.ItemIndex:=i-1;

end;

end;

i:=1; k:=0;

While Stringgrid2.Cells[0,i]<>'' do

begin

k:=k+strtoint(Stringgrid2.Cells[4,i]);

i:=i+1;

end;

if i<>1 then

i:=i-1;

label3.Caption:= floattostr(k/(i));

if stringgrid2.Cells[0,1]='' then Showmessage('Ничего не найдено');

end;

procedure TForm1.N7Click(Sender: TObject);

begin

close;

end;

procedure TForm1.Button4Click(Sender: TObject);

var i,j:integer; s:string;

begin

s:=combobox1.Text;

for i:=0 to stringgrid2.RowCount-1 do

for j:=1 to stringgrid2.ColCount-1 do

stringgrid2.Cells[i,j]:='';

for i:=0 to Combobox1.Items.Count do

begin

if Combobox1.Items[i]=s then Combobox1.DeleteSelected;

end;

Button2Click(Sender);

end;

end.

КП.2-40 01 01.T17.84.12.ПЗ 27

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