База данных футбольных игроков

Автор работы: Пользователь скрыл имя, 26 Декабря 2011 в 13:29, курсовая работа

Описание работы

Курсовая работа посвящена решению задачи проектирования программы, которая предоставляла бы собой базу данных футбольных игроков на языке Objekt Pascal, используемый в инструментальной среде разработки приложения Delphi7. Для написания приложения была использована инструментальная среда разработки (ИСР) Delphi 7 ввиду большого количества ее преимуществ;
- поддержка технологий быстрой разработки приложения (Rapid Application Development);
- поддержка технологий визуальной разработки;
- наличие мощных средств отладки и тестирования разработанных приложений;

Содержание работы

Введение…………………………………………………………………………………………...4
1 Разработка эскизного и технического проектов программы (ГОСТ 19.404–79)……………5
1.1 Задание…………………………………………………………………………………………5
1.2 Назначение и область применения…………………………………………………..............5
1.3 Технические характеристики………………………………………………………………...5
1.3.1 Постановка задачи…………………………………………………………………………..5
1.3.2 Описание алгоритма………………………………………………………………………...6
1.3.3 Организация входных и выходных данных……………………………………………….7
1.3.4 Выбор состава технических и программных средств…………………………………….7
2 Разработка рабочего проекта…………………………………………………………………...8
2.1 Разработка программы………………………………………………………………………..8
2.2 Спецификация программы………………………………………………………………….18
2.3 Текст программы…………………………………………………………………………….19
2.4 Описание программы………………………………………………………………………..36
2.5 Тестирование программы……………………………………………………………………42
3 Внедрение………………………………………………………………………………………44
Заключение……………………………………………………………………………………….45
Список используемой литературы…………………

Файлы: 1 файл

Документ Microsoft Office Word.docx

— 382.58 Кб (Скачать файл)
 

2.3 Текст программы 

     unit Unit1;

     interface

     uses

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

       Dialogs, StdCtrls, Grids, Menus, ExtCtrls, XPMan;

     const

      cell_x = 4;

     type

       BaseField = record

                    Name    : String[28];

                    Country : String[28];

                    Team    : String[28];

                    Cost    : String[28];

                    Side    : Boolean;

                   end;

       TfrmMain = class(TForm)

         MainMenu1: TMainMenu;

         N1: TMenuItem;

         N12: TMenuItem;

         N14: TMenuItem;

         N2: TMenuItem;

         N10: TMenuItem;

         N22: TMenuItem;

         N27: TMenuItem;

         GroupBox1: TGroupBox;

         StringGrid1: TStringGrid;

         N28: TMenuItem;

         N29: TMenuItem;

         N30: TMenuItem;

         N3: TMenuItem;

         N4: TMenuItem;

         N5: TMenuItem;

         N11: TMenuItem;

         N24: TMenuItem;

         N31: TMenuItem;

         Bevel1: TBevel;

         Label6: TLabel;

         Label7: TLabel;

         Button7: TButton;

         XPManifest1: TXPManifest;

         OpenDialog1: TOpenDialog;

         SaveDialog1: TSaveDialog;

         GroupBox2: TGroupBox;

         Label1: TLabel;

         Label2: TLabel;

         Label3: TLabel;

         Label5: TLabel;

         Edit1: TEdit;

         Edit2: TEdit;

         Edit3: TEdit;

         Edit4: TEdit;

         PopupMenu1: TPopupMenu;

         C1: TMenuItem;

         N6: TMenuItem;

         N7: TMenuItem;

         N8: TMenuItem;

         N9: TMenuItem;

         N13: TMenuItem;

         N15: TMenuItem;

         procedure FormCreate(Sender: TObject);

         procedure N12Click(Sender: TObject);

         procedure N29Click(Sender: TObject);

         procedure N30Click(Sender: TObject);

         procedure CheckBox1Click(Sender: TObject);

         procedure StringGrid1Click(Sender: TObject);

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

         procedure N4Click(Sender: TObject);

         procedure N3Click(Sender: TObject);

         procedure N11Click(Sender: TObject);

         procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;

           var CanSelect: Boolean);

         procedure N22Click(Sender: TObject);

         procedure N31Click(Sender: TObject);

         procedure N14Click(Sender: TObject);

       private

         { Private declarations }

       public

         procedure ResetView;

         procedure WriteToFile(AFile: String);

         procedure AppendToFile(AFile: String);

         procedure ReadFromFile(AFile: String);

       end;

     var

       frmMain: TfrmMain;

       FileName: String;

       K: BaseField;

       F: File of BaseField;

       CheckBox1: TCheckBox;

       //All: Array [0..24] of BaseField;

     implementation

     uses Unit2, Unit3, Unit4;

     {$R *.dfm}

     //Сброс и очистка

     procedure TfrmMain.ResetView;

     var i: integer;

     begin

     For i := 0 to StringGrid1.ColCount - 1 do StringGrid1.Cols[i].Clear;

     For i := 0 to StringGrid1.RowCount - 1 do StringGrid1.Rows[i].Clear;

     StringGrid1.RowCount := 40;

     Edit1.Clear;

     Edit2.Clear;

     Edit3.Clear;

     Edit4.Clear;

     CheckBox1.Checked := false;

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

     StringGrid1.Cells[1,0]:='Страна';

     StringGrid1.Cells[2,0]:='Команда';

     StringGrid1.Cells[3,0]:='Цена';

     StringGrid1.Cells[4,0]:='В сборной';

     end;

     //Предварительные  операции при создании формы

     procedure TfrmMain.FormCreate(Sender: TObject);

     begin

     //Динамическое создание СheckBox1

     CheckBox1:=TCheckBox.Create(frmMain);

     CheckBox1.Parent := frmMain;

     CheckBox1.Caption := 'В сборной';

     CheckBox1.Visible := false;

     CheckBox1.OnClick := CheckBox1Click;

     //Очистка области памяти, занятой k

     ZeroMemory(@k, SizeOf(k));

     ResetView;

     end;

     //Файл - Создать...

     procedure TfrmMain.N12Click(Sender: TObject);

     begin

     //Проверка, какая кнопка нажата на окне сообщения

     If MessageDlg('Это приведёт к очистке. Продолжить?', mtConfirmation, [mbYes, mbNo], 0) = mrNo then Exit;

     ResetView;

     end;

     //Файл - Открыть...

     procedure TfrmMain.N29Click(Sender: TObject);

     begin

     If not OpenDialog1.Execute then Exit;

     ResetView;

     ReadFromFile(OpenDialog1.FileName);

     end;

     //Файл - Сохранить как...

     procedure TfrmMain.N30Click(Sender: TObject);

     begin

     If not SaveDialog1.Execute then Exit;

     WriteToFile(SaveDialog1.FileName);

     end;

     //Чтение данных из файла и заполнение таблицы StringGrid1

     procedure TfrmMain.ReadFromFile(AFile: String);

     var d : BaseField;

         i : Integer;

         s : string;

     begin

     ZeroMemory(@d, SizeOf(d));

     AssignFile(F, AFile);

     Reset(F);

     i := 1;

     while not EOF(F) do

       begin

       Read(F, d);

       If d.Name = '' then Continue;

       StringGrid1.Cells[0, i] := d.Name;

       StringGrid1.Cells[1, i] := d.Country;

       StringGrid1.Cells[2, i] := d.Team;

       StringGrid1.Cells[3, i] := d.Cost;

       If d.Side then s := 'Да' else s := 'Нет';

       StringGrid1.Cells[4, i] := s;

       Inc(i);

       If i > StringGrid1.RowCount then

         StringGrid1.RowCount := i;

       end;

     CloseFile(F);

     end;

     //Запись  данных в файл из таблицы  StringGrid1

     procedure TfrmMain.WriteToFile(AFile: String);

     var d : BaseField;

         i : Integer;

     begin

     AssignFile(F, AFile);

     Rewrite(F);

     ZeroMemory(@d, SizeOf(d));

     For i := 1 to StringGrid1.RowCount - 1 do

       begin

       d.Name := StringGrid1.Cells[0, i];

       d.Country := StringGrid1.Cells[1, i];

       d.Team := StringGrid1.Cells[2, i];

       d.Cost := StringGrid1.Cells[3, i];

       d.Side := (StringGrid1.Cells[4, i] = 'Да');

       Write(F, d);

       end;

     CloseFile(F);

     end;

     //Изменение  флажка "В сборной"

     procedure TfrmMain.CheckBox1Click(Sender: TObject);

     begin

     If CheckBox1.Checked then StringGrid1.Cells[4, StringGrid1.Row] := 'Да' else StringGrid1.Cells[4, StringGrid1.Row] := 'Нет';

     end;

     //Реакция  на изменение номера текущего  поля в таблице. Обновление

     procedure TfrmMain.StringGrid1Click(Sender: TObject);

     begin

     //Копируем  в Editы соответствующие тексты таблицы

     Edit1.Text:=StringGrid1.Cells[0, StringGrid1.Row];

     Edit2.Text:=StringGrid1.Cells[1, StringGrid1.Row];

     Edit3.Text:=StringGrid1.Cells[2, StringGrid1.Row];

     Edit4.Text:=StringGrid1.Cells[3, StringGrid1.Row];

     //Ставим CheckBox1 в нужное состояние (да, нет)

     CheckBox1.Checked := (StringGrid1.Cells[4, StringGrid1.Row] = 'Да');

     end;

     //Добавление  данных в конец существующего файла

     procedure TfrmMain.AppendToFile(AFile: String);

     var d : BaseField;

     begin

     If not FileExists(AFile) then

       begin

       AssignFile(F, AFile);

       Rewrite(F);

       CloseFile(F);

       end;

     AssignFile(F, AFile);

     Reset(F);

     Seek(F, FileSize(F));

     ZeroMemory(@d, SizeOf(d));

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