ПРОЦЕСС РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

В результате разработки программного продукта получилась рабочая программа по чету посещаемости студентов.

На главной форме выбирается специальность, группа, студент, дата, количество пропущенных часов, по какой причине. После нажатия на кнопку «Утвердить» выбранные данных заносятся в базу данных. Так же с этой формы осуществляется переход на другие формы.

Используемые компоненты: DataSource, DBGrid, ADOQuery, ADOTable, Label, Button, ComboBox, DateTimePicker, MainMenu.

Код программы:

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, DB, ADODB, Grids, DBGrids, ComCtrls, Menus;

type

TForm1 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

ADOQuery1: TADOQuery;

ADOTable1: TADOTable;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

Label8: TLabel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Button1: TButton;

ComboBox6: TComboBox;

ComboBox5: TComboBox;

ComboBox4: TComboBox;

ComboBox3: TComboBox;

ComboBox2: TComboBox;

ComboBox1: TComboBox;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

DateTimePicker1: TDateTimePicker;

N3: TMenuItem;

N4: TMenuItem;

procedure ComboBox1Change(Sender: TObject);

procedure ComboBox2Change(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit3, Unit2, Unit7;

{$R *.dfm}

procedure TForm1.ComboBox1Change(Sender: TObject);

var pr:String;

begin

ADOTable1.Open;

ADOTable1.First;

ComboBox2.Items.Clear;

While not ADOTable1.Eof do

begin

if ADOTable1.Fieldbyname('Spesi').AsString=ComboBox1.Text Then

ComboBox2.Items.Add(ADOTable1.fieldbyname('Gruppa').AsString);

ADOTable1.Next;

end;

ADOTable1.Close;

ComboBox2.Sorted:=True;

end;

procedure TForm1.ComboBox2Change(Sender: TObject);

var pr1:String;

begin

ADOTable2.Open;

ADOTable2.First;

ComboBox3.Items.Clear;

While not ADOTable2.Eof do

begin

if ADOTable2.Fieldbyname('Gruppa').AsString=ComboBox2.Text Then

ComboBox3.Items.Add(ADOTable2.fieldbyname('FIO').AsString);

ADOTable2.Next;

end;

ADOTable2.Close;

ComboBox3.Sorted:=True;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

ADOTable3.Insert;

ADOTable3.FieldByName('Spesi').AsString:=Combobox1.Text;

ADOTable3.FieldByName('Gruppa').AsString:=Combobox2.Text;

ADOTable3.FieldByName('FIO').AsString:=Combobox3.Text;

ADOTable3.FieldByName('Date').AsString:=DateToStr (DateTimePicker1.Date);

ADOTable3.FieldByName('Uvazh').AsString:=Combobox4.Text;

ADOTable3.FieldByName('Neuvazh').AsString:=Combobox5.Text;

ADOTable3.FieldByName('Bolezn').AsString:=Combobox6.Text;

ADOTable3.Post;

ADOTable3.Close;

ADOTable3.Open;

ComboBox3.ClearSelection;

ComboBox4.Text:='0';

ComboBox6.Text:='0';

ComboBox5.Text:='0';

end;

procedure TForm1.N1Click(Sender: TObject);

begin

Form3.Show;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Form2.Show;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

form7.ADOTable1.UpdateBatch;

Form7.Show;

end;

end.

 

На форме корректировки данных осуществляется изменение или удаление ранее введенных данных.

Используемые компоненты: DataSource, DBGrid, ADOTable, MainMenu, Label, DBNavigator.

Код программы:

unit Unit2;

interface

uses

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

Dialogs, Menus, DB, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls;

type

TForm2 = class(TForm)

DBNavigator1: TDBNavigator;

DBGrid1: TDBGrid;

ADOTable1: TADOTable;

DataSource1: TDataSource;

MainMenu1: TMainMenu;

N1: TMenuItem;

DataSource2: TDataSource;

DBNavigator2: TDBNavigator;

DBGrid2: TDBGrid;

ADOTable2: TADOTable;

Label1: TLabel;

procedure N1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.N1Click(Sender: TObject);

begin

close;

end;

end.

 

На форме статистики идет поиск студентов по специальности, группе, ФИО, или дате. Так же можно выбрать студентов имеющих пропуски по неуважительным причинам. Выводится количество пропусков, по какой причине и их процентное соотношение, среднее количество пропущенных часов на одного человека. Все найденные записи могут быть выведены на печать в виде списка.

Используемые компоненты: DataSource, DBGrid, ADOQuery, GroupBox, CheckBox, ADOTable, Label, Button, MainMenu.

Код программы:

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, Menus;

type

TForm3 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

ADOQuery1: TADOQuery;

GroupBox1: TGroupBox;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

CheckBox4: TCheckBox;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Edit6: TEdit;

Edit7: TEdit;

Edit8: TEdit;

Label6: TLabel;

Edit9: TEdit;

Button2: TButton;

Button3: TButton;

Label7: TLabel;

MainMenu1: TMainMenu;

Label8: TLabel;

N2: TMenuItem;

Edit10: TEdit;

Edit11: TEdit;

Edit12: TEdit;

Label9: TLabel;

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit4, Unit5, Unit6, Unit1;

{$R *.dfm}

procedure TForm3.Button2Click(Sender: TObject);

Var s, a,b,c,d:real;

begin

ADOQuery1.First;

a:=0;

b:=0;

c:=0;

d:=0;

while not ADOQuery1.Eof do begin

a:=a+ADOQuery1.FieldByName('Uvazh').AsFloat;

b:=b+ADOQuery1.FieldByName('Bolezn').AsFloat;

c:=c+ADOQuery1.FieldByName('Neuvazh').AsFloat;

d:=a+b+c;

ADOQuery1.Next;

end;

Edit6.Text:=FloatToStr(a);

Edit7.Text:=FloatToStr(b);

Edit8.Text:=FloatToStr(c);

Edit9.Text:=FloatToStr(d);

d:=100/d;

edit10.Text:=FloatToStr(a*d) ;

edit11.Text:=FloatToStr(b*d) ;

edit12.Text:=FloatToStr(c*d) ;

end;

procedure TForm3.Button3Click(Sender: TObject);

begin

if CheckBox1.Checked then

begin

Form4.QRLabel10.Caption:=Edit9.Text;

Form4.QRLabel11.Caption:=Edit6.Text;

Form4.QRLabel12.Caption:=Edit7.Text;

Form4.QRLabel13.Caption:=Edit8.Text;

Form4.QRLabel14.Caption:=Edit1.Text;

Form4.QuickRep1.Preview;

end;

if CheckBox2.Checked then

begin

Form5.QRLabel9.Caption:=Edit9.Text;

Form5.QRLabel10.Caption:=Edit6.Text;

Form5.QRLabel11.Caption:=Edit7.Text;

Form5.QRLabel12.Caption:=Edit8.Text;

Form5.QRLabel13.Caption:=Edit2.Text;

Form5.QuickRep1.Preview;

end;

if CheckBox3.Checked then

begin

Form6.QRLabel8.Caption:=Edit9.Text;

Form6.QRLabel9.Caption:=Edit6.Text;

Form6.QRLabel10.Caption:=Edit7.Text;

Form6.QRLabel11.Caption:=Edit8.Text;

Form6.QRLabel12.Caption:=Edit3.Text;

Form6.QuickRep1.Preview;

end;

end;

procedure TForm3.Button1Click(Sender: TObject);

var s:String;

begin

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

if CheckBox1.Checked then

ADOQuery1.SQL.Add('SELECT *FROM Student WHERE (((Student.Spesi)="'+Edit1.Text+'"));');

if CheckBox2.Checked then

ADOQuery1.SQL.Add('SELECT * FROM Student WHERE (((Student.Gruppa)="'+Edit2.Text+' "));');

if CheckBox3.Checked then

ADOQuery1.SQL.Add('SELECT * FROM Student WHERE (((Student.FIO)="'+Edit3.Text+' "));');

if CheckBox4.Checked then

ADOQuery1.SQL.Add('SELECT * FROM Student WHERE (((Student.Date)="'+Edit4.Text+' "));');

//ShowMessage(ADOQuery1.SQL.Text);

ADOQuery1.Active:=True;

end;

procedure TForm3.N2Click(Sender: TObject);

begin

close;

end;

end.

 

На форме справочников добавляются группы и фамилии студентов, а также специальности и группы.

Используемые компоненты: DataSource, DBGrid, ADOTable, Label, MainMenu,DBNavigator.

Код программы:

unit Unit7;

interface

uses

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

Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls, Menus;

type

TForm7 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

ADOTable1: TADOTable;

Label1: TLabel;

MainMenu1: TMainMenu;

N1: TMenuItem;

DBNavigator1: TDBNavigator;

procedure N1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

{$R *.dfm}

procedure TForm7.N1Click(Sender: TObject);

begin

form7.Close;

end;

 

Все найденные результаты на форме статистики можно вывести на экран в виде отчета и распечатать его.

Используемые компоненты:QRLabel, QuickRep, PageHeaderBand, TitleBand, DetailBand, SummaryBand, QRDBText.



Дата: 2019-12-22, просмотров: 193.