Футбольные команды и игроки

Автор работы: Пользователь скрыл имя, 08 Апреля 2013 в 10:01, реферат

Описание

Программа «Футбольные команды и игроки» разработана на языке высокого уровня Borland Delphi. В программе реализованы следующие компоненты:
• База данных, состоящая из 6 таблиц, из которых 4 справочника, одна операционная таблица и одна вспомогательная таблица;
• Пользовательский интерфейс работы с базой данных;
• Защита от ввода неверных данных.

Содержание

Введение
Постановка задачи
Таблицы БД и связи между ними
Описание внешнего вида пользовательского интерфейса
Описание алгоритма работы программы
Приложения
Текст проекта football.dpr
Текст модуля gl_form.pas
Текст модуля gl_per.pas
Текст модуля igroki.pas
Текст модуля komandi.pas
Текст модуля dob_klyb.pas
Текст модуля stadioni.pas
Текст модуля transfer.pas
Текст модуля ist_trans.pas

Работа состоит из  1 файл

futbolnye_komandy_i_igroki.docx

— 206.65 Кб (Скачать документ)

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

uses avtors, avt, igroki, komandi, stadioni, transfer, ist_trans;

 

{$R *.dfm}

 

 

procedure TForm1.N2Click(Sender: TObject);

begin

  if gp4=1 then begin

  form7:=tform7.Create(application);

  form7.Show;

  gp4:=2;

  end;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  gp1:=1;

  gp2:=1;

  gp3:=1;

  gp4:=1;

  gp5:=1;

  gp6:=1;

  form1.statusbar1.Font.Style:=[fsbold];

  kdr:=0;

end;

 

procedure TForm1.N8Click(Sender: TObject);

begin

  form3.showmodal;

end;

 

procedure TForm1.Timer1Timer(Sender: TObject);

begin

  statusbar1.Panels[0].Text:=timetostr(now);

  statusbar1.Panels[1].Text:=datetostr(now);

  if GetKeyState(VK_CAPITAL) <> 0 then

    statusbar1.panels[2].text := ' CAP';

  if GetKeyState(VK_CAPITAL) = 0 then

    statusbar1.panels[2].text := '';

  if GetKeyState(VK_NUMLOCK) <> 0 then

    statusbar1.panels[3].text := ' NUM';

  if GetKeyState(VK_NUMLOCK) = 0 then

    statusbar1.panels[3].text := '';

  if GetKeyState(VK_SCROLL) <> 0 then

    statusbar1.panels[4].text := ' SCRL';

  if GetKeyState(VK_SCROLL) = 0 then

    statusbar1.panels[4].text := '';

end;

 

procedure TForm1.N11Click(Sender: TObject);

begin

  if gp2=1 then begin

  form4:=tform4.Create(application);

  form4.Show;

  gp2:=2;

  end;

end;

 

procedure TForm1.N12Click(Sender: TObject);

begin

  if gp3=1 then begin

  form5:=tform5.Create(application);

  form5.Show;

  gp3:=2;

  end;

end;

 

procedure TForm1.N9Click(Sender: TObject);

begin

  form1.Close;

end;

 

procedure TForm1.N13Click(Sender: TObject);

begin

  if gp5=1 then begin

  form8:=tform8.Create(application);

  form8.Show;

  gp5:=2;

  end;

end;

 

procedure TForm1.N7Click(Sender: TObject);

begin

  if gp6=1 then begin

  form9:=tform9.Create(application);

  form9.Show;

  gp6:=2;

  end;

end;

end.

 

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

 

unit gl_per;

 

interface

var

  gp1:byte;

  gp2:byte;

  gp3:byte;

  gp4:byte;

  gp5:byte;

  gp6:byte;

  kdr:byte;

implementation

 

end.

 

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

 

unit igroki;

 

interface

 

uses

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

  Dialogs, gl_per, StdCtrls, Mask, DBCtrls, DB, DBTables, ExtCtrls, Grids,

  DBGrids, Buttons, Spin;

 

type

  TForm4 = class(TForm)

    DataSource1: TDataSource;

    Table1: TTable;

    DBEdit1: TDBEdit;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label9: TLabel;

    Label10: TLabel;

    Label11: TLabel;

    DBEdit2: TDBEdit;

    DBEdit3: TDBEdit;

    DBEdit4: TDBEdit;

    DBEdit6: TDBEdit;

    DBEdit7: TDBEdit;

    DBEdit9: TDBEdit;

    DBEdit10: TDBEdit;

    DBEdit11: TDBEdit;

    Button1: TButton;

    Button2: TButton;

    Label13: TLabel;

    Timer1: TTimer;

    DataSource2: TDataSource;

    Table2: TTable;

    Timer2: TTimer;

    Table3: TTable;

    DataSource3: TDataSource;

    Label17: TLabel;

    Bevel2: TBevel;

    Bevel4: TBevel;

    Label18: TLabel;

    Button3: TButton;

    Button4: TButton;

    Button5: TButton;

    Button6: TButton;

    Button7: TButton;

    Button8: TButton;

    Edit1: TEdit;

    Button9: TButton;

    Label21: TLabel;

    RadioButton5: TRadioButton;

    RadioButton6: TRadioButton;

    Button10: TButton;

    Label22: TLabel;

    ComboBox1: TComboBox;

    Button11: TButton;

    Edit2: TEdit;

    ComboBox2: TComboBox;

    ComboBox3: TComboBox;

    Timer3: TTimer;

    Label8: TLabel;

    SpinEdit1: TSpinEdit;

    SpinEdit2: TSpinEdit;

    Label12: TLabel;

    Label14: TLabel;

    Button12: TButton;

    RadioButton1: TRadioButton;

    RadioButton2: TRadioButton;

    DBGrid1: TDBGrid;

    Label15: TLabel;

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure FormCreate(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure FormActivate(Sender: TObject);

    procedure Timer2Timer(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button9Click(Sender: TObject);

    procedure Button10Click(Sender: TObject);

    procedure Button11Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure Button12Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button8Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure Timer3Timer(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form4: TForm4;

  tr:byte;

  a:byte;

implementation

 

{$R *.dfm}

procedure a1(n:integer);

var

  a:integer;

begin

  form4.Table2.Locate('nom_kom', n, [loCaseInsensitive,

    loPartialKey]);

    form4.Edit2.Text:=form4.Table2.fieldbyname('naim').AsString;

end;

 

procedure klyb;

begin

  form4.Table2.First;

  while not form4.Table2.eof do

   begin

     form4.ComboBox2.Items.Add(form4.Table2.fieldbyname('naim').AsString);

     form4.Table2.Next;

   end;

end;

 

procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);

begin

  action:=cafree;

  gp2:=1;

end;

 

procedure TForm4.FormCreate(Sender: TObject);

begin

  table1.Active:=true;

  table2.Active:=true;

  table3.Active:=true;

  table1.First;

  tr:=0;

end;

 

procedure TForm4.Timer1Timer(Sender: TObject);

begin

   label13.Caption:=inttostr(table1.Recordcount);

end;

 

procedure TForm4.Button2Click(Sender: TObject);

begin

  if table1.RecordCount>0 then begin

    table1.Next;

    a1(table1.fieldbyname('nom_kom').Value);

  end;

end;

 

 

procedure TForm4.Button1Click(Sender: TObject);

begin

  if table1.RecordCount>0 then begin

    table1.Prior;

    a1(table1.fieldbyname('nom_kom').Value);

  end;

 

end;

 

procedure TForm4.FormActivate(Sender: TObject);

begin

  button8.Enabled:=false;

  table1.Filtered:=false;

  combobox2.Hide;

  combobox3.Hide;

end;

 

procedure TForm4.Timer2Timer(Sender: TObject);

begin

  a1(table1.fieldbyname('nom_kom').Value);

  klyb;

  timer2.Enabled:=false;

end;

 

procedure TForm4.Button3Click(Sender: TObject);

begin

  table1.First;

end;

 

procedure TForm4.Button4Click(Sender: TObject);

begin

  table1.Last;

end;

 

procedure TForm4.Button9Click(Sender: TObject);

begin

    if radiobutton5.Checked=true then begin //поиск по номеру

       if edit1.text='' then exit;

      if not Table1.Locate('nom_igr', Edit1.Text, [loCaseInsensitive,

    loPartialKey])  then

      ShowMessage('Запись не найдена');

     end;

     if radiobutton6.Checked=true then

     begin         //поиск по фамилии

       if edit1.text='' then exit;

       if not Table1.Locate('fam', Edit1.Text, [loCaseInsensitive,

    loPartialKey])  then

       ShowMessage('Запись не найдена');

     end;

end;

 

procedure TForm4.Button10Click(Sender: TObject);

begin

table1.Filtered:=true;

table1.Filter:='ampl='+''''+combobox1.Text+'''';

end;

 

procedure TForm4.Button11Click(Sender: TObject);

begin

   table1.Filtered:=false;

end;

 

procedure TForm4.Button6Click(Sender: TObject);

begin

   tr:=1;

   dbedit1.Enabled:=true;

   dbedit2.Enabled:=true;

   dbedit3.Enabled:=true;

   dbedit4.Enabled:=true;

   dbedit6.Enabled:=true;

   dbedit7.Enabled:=true;

   dbedit9.Enabled:=true;

   dbedit10.Enabled:=true;

   dbedit11.Enabled:=true;

   button1.Enabled:=false;

   button2.Enabled:=false;

   button3.Enabled:=false;

   button4.Enabled:=false;

   button5.Enabled:=false;

   button7.Enabled:=false;

   button8.Enabled:=true;

     combobox3.Top:=234;

  combobox3.Left:=324;

  combobox3.Show;

  table1.Edit;

end;

 

procedure TForm4.Button12Click(Sender: TObject);

var

  a,b:integer;

begin

  if (radiobutton1.Checked=false) and (radiobutton2.Checked=false) then

  begin

    showmessage('Выберите  критерий фильтрации');

    exit;

  end;

  a:=spinedit1.Value;

  b:=spinedit2.Value;

  if (a>b) or (a=b) then begin

    showmessage('Фильтрация невозможна. Измените значение фильтрации!');

    exit;

  end;

  if radiobutton1.Checked then begin

    table1.Filtered:=true;

    table1.Filter:='ves>='+inttostr(a)+'and ves<='+inttostr(b);

  end;

  if radiobutton2.Checked then begin

    table1.Filtered:=true;

    table1.Filter:='rost>='+inttostr(a)+'and rost<='+inttostr(b);

  end;

end;

 

procedure TForm4.Button5Click(Sender: TObject);

var

  t:integer;

begin

   table1.Filtered:=false;

  tr:=2;

  table1.last;

  t:=table1.fieldbyname('nom_igr').Value;

  t:=t+1;

  table1.Insert;

  table1.FieldByName('nom_igr').Value:=t;

  combobox2.Top:=150;

  combobox2.Left:=324;

  combobox2.Show;

  combobox3.Top:=234;

  combobox3.Left:=324;

  combobox3.Show;

  button1.Enabled:=false;

  button2.Enabled:=false;

  button3.Enabled:=false;

  button4.Enabled:=false;

  button6.Enabled:=false;

  button5.Enabled:=false;

  button8.Enabled:=true;

   dbedit1.Enabled:=true;

   dbedit2.Enabled:=true;

   dbedit3.Enabled:=true;

   dbedit4.Enabled:=true;

   dbedit6.Enabled:=true;

   dbedit7.Enabled:=true;

   dbedit9.Enabled:=true;

   dbedit10.Enabled:=true;

   dbedit11.Enabled:=true;

end;

 

procedure TForm4.Button8Click(Sender: TObject);

var

  s:string;

begin

  if tr=2 then begin  //открыли добавление

  a:=1;

  if dbedit2.text='' then a:=2;

  if dbedit3.text='' then a:=2;

  if dbedit4.text='' then a:=2;

  if dbedit6.text='' then a:=2;

   if dbedit7.text='' then a:=2;

  if dbedit10.text='' then a:=2;

  if dbedit11.text='' then a:=2;

  if combobox2.text='' then a:=2;

  if combobox3.text='' then a:=2;

  if a=2 then begin showmessage('Введены не все данные'); exit; end;

  Table2.Locate('naim', combobox2.Text, [loCaseInsensitive,

    loPartialKey]);

  table1.FieldByName('nom_kom').Value:=table2.FieldByName('nom_kom').Value;

  table1.FieldByName('ampl').AsString:=combobox3.Text;

  table1.Append;

  table1.Refresh;

  button1.Enabled:=true;

  button2.Enabled:=true;

  button3.Enabled:=true;

  button4.Enabled:=true;

  button6.Enabled:=true;

  button5.Enabled:=true;

  button8.Enabled:=false;

  combobox2.Hide;

  combobox3.Hide;

  dbedit1.Enabled:=false;

   dbedit2.Enabled:=false;

   dbedit3.Enabled:=false;

   dbedit4.Enabled:=false;

   dbedit6.Enabled:=false;

   dbedit7.Enabled:=false;

   dbedit9.Enabled:=false;

   dbedit10.Enabled:=false;

   dbedit11.Enabled:=false;

   button7.Enabled:=true;

   a:=1;

   a1(table1.fieldbyname('nom_kom').Value);

end;      //закрыли редактирование

if tr=1 then     begin

  if combobox3.text='' then begin showmessage('Есть пустые поля'); exit;end;

  table1.FieldByName('ampl').AsString:=combobox3.Text;

   table1.Append;

  table1.Refresh;

  button1.Enabled:=true;

  button2.Enabled:=true;

  button3.Enabled:=true;

  button4.Enabled:=true;

  button6.Enabled:=true;

  button5.Enabled:=true;

  button8.Enabled:=false;

  combobox2.Hide;

  combobox3.Hide;

   dbedit1.Enabled:=false;

   dbedit2.Enabled:=false;

   dbedit3.Enabled:=false;

   dbedit4.Enabled:=false;

   dbedit6.Enabled:=false;

   dbedit7.Enabled:=false;

   dbedit9.Enabled:=false;

   dbedit10.Enabled:=false;

   dbedit11.Enabled:=false;

   button7.Enabled:=true;

   a:=1;

   table1.Refresh;

  end;

end;

 

procedure TForm4.Button7Click(Sender: TObject);

begin

    if application.MessageBox('Вы  действительно хотите удалить  текущую запись?','Удаление записи',

  mb_iconQuestion+mb_yesno)=idyes then

  table1.delete;

  button1.Enabled:=true;

  button2.Enabled:=true;

  button3.Enabled:=true;

  button4.Enabled:=true;

  button6.Enabled:=true;

  button5.Enabled:=true;

  button8.Enabled:=false;

  combobox2.Hide;

  combobox3.Hide;

  dbedit1.Enabled:=false;

   dbedit2.Enabled:=false;

   dbedit3.Enabled:=false;

   dbedit4.Enabled:=false;

   dbedit6.Enabled:=false;

   dbedit7.Enabled:=false;

   dbedit9.Enabled:=false;

   dbedit10.Enabled:=false;

   dbedit11.Enabled:=false;

end;

end.

 

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

 

unit komandi;

 

interface

 

uses

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

  Dialogs, gl_per, DB, DBTables, Grids, DBGrids, StdCtrls, Mask, DBCtrls,

  Buttons, ExtCtrls;

 

type

  TForm5 = class(TForm)

    DataSource1: TDataSource;

    DataSource2: TDataSource;

    DataSource3: TDataSource;

    komandi: TTable;

    igroki: TTable;

    stadioni: TTable;

    DBGrid2: TDBGrid;

    Button1: TButton;

    Button2: TButton;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    strani: TTable;

    DataSource4: TDataSource;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    DBEdit2: TDBEdit;

    DBEdit3: TDBEdit;

    DBEdit4: TDBEdit;

    DBEdit5: TDBEdit;

    DBEdit6: TDBEdit;

    DBEdit7: TDBEdit;

    DBEdit8: TDBEdit;

    DBEdit9: TDBEdit;

    Label10: TLabel;

    Label11: TLabel;

    Label12: TLabel;

    Label13: TLabel;

    DBEdit10: TDBEdit;

    DBEdit11: TDBEdit;

    Button3: TButton;

    Button4: TButton;

    Label14: TLabel;

    Button5: TButton;

    Button6: TButton;

    Button7: TButton;

    Label15: TLabel;

    Edit1: TEdit;

    Button8: TButton;

    Label16: TLabel;

    DBEdit1: TDBEdit;

    DBEdit12: TDBEdit;

    Label17: TLabel;

    BitBtn1: TBitBtn;

    Label19: TLabel;

    Label21: TLabel;

    Timer1: TTimer;

    Bevel1: TBevel;

    Bevel2: TBevel;

    Bevel3: TBevel;

    Label18: TLabel;

    Label20: TLabel;

    Label22: TLabel;

    Bevel4: TBevel;

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure FormActivate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure Button8Click(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form5: TForm5;

 

implementation

 

uses dob_klyb;

 

{$R *.dfm}

 

procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);

begin

  action:=cafree;

  gp3:=1;

end;

 

procedure TForm5.FormActivate(Sender: TObject);

begin

  komandi.Refresh;

  komandi.First;

  bitbtn1.Caption:='';

  label20.Caption:=komandi.fieldbyname('naim').AsString;

  label18.Caption:=inttostr(igroki.recordcount);

end;

 

procedure TForm5.Button1Click(Sender: TObject);

begin

  komandi.Prior;

  label20.Caption:=komandi.fieldbyname('naim').AsString;

  label18.Caption:=inttostr(igroki.recordcount);

end;

 

procedure TForm5.Button2Click(Sender: TObject);

begin

  komandi.Next;

  label20.Caption:=komandi.fieldbyname('naim').AsString;

  label18.Caption:=inttostr(igroki.recordcount);

end;

 

procedure TForm5.Button5Click(Sender: TObject);

var

  a:byte;

begin

  kdr:=1; //включаем режим  добавления команды

  komandi.Last;

  a:=komandi.fieldbyname('nom_kom').Value;

  form6.komandi.Insert;

  form6.komandi.FieldByName('nom_kom').Value:=a+1;

  form6.showmodal;

end;

 

procedure TForm5.Button7Click(Sender: TObject);

begin

  if application.MessageBox('Вы действительно хотите удалить текущую запись?',

  'Удаление записи',  mb_iconQuestion+mb_yesno)=idyes then

  komandi.delete;

end;

 

procedure TForm5.Button6Click(Sender: TObject);

begin

   kdr:=2; // включаем режим  редактирования команд

Информация о работе Футбольные команды и игроки