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

Разработка программного обеспечения в объектно-ориентированной среде визуального программирования Delphi 7, реализующую базу данных футбольных игроков. Модули, процедуры, функции проекта и их назначение. Выбор и назначение визуальных компонентов.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 15.12.2012
Размер файла 996,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра АСУ

Пояснительная записка

к курсовой работе по дисциплине

«Высокоуровневые методы информатики и программирования»

БАЗА ДАННЫХ ФУТБОЛЬНЫХ ИГРОКОВ

Группа ПИЭ - 218

Студентка

Шамсутдинова Д.Р.

Принял

Головкин Ю.Б.

Уфа - 2008

Оглавление

1. Проектирование интерфейса. Выбор и назначение визуальных компонентов и формы проекта

2. Разработка программного обеспечения. Модули, процедуры, функции проекта и их назначение

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

Список использованной литературы

программирование проект модуль

Постановка задачи

Разработать программное обеспечение в объектно-ориентированной среде визуального программирования Delphi 7, реализующую базу данных футбольных игроков. Программа позволит работать с базой данных, будет поддерживать возможность добавления, удаления, редактирования, поиска и сортировки записей.

1. Проектирование интерфейса. Выбор и назначение визуальных компонентов и формы проекта

При запуске программы открывается основное её окно (рис. 1). Оно содержит VCL-компоненты, необходимые для удобной и простой работы с базой: TStringGrid, TEdit, TLabel, TMainMenu, TGroupBox, TBevel и TButton. Также на форме содержится компонент класса TCheckBox, создаваемый динамически. Подробнее речь о нём пойдёт ниже.

Рис. 1

Форма по умолчанию располагается в центре экрана, в ней отключена возможность развертывания рабочего пространства (Maximize) и изменения размера окна. На ней находится главное меню, состоящее из следующих пунктов:

1) Файл

1. Создать

2. Открыть

3. Сохранить как

4. Выход

2) Вид

1. Сортировка

1. По цене

2. По имени

2. Диаграммы

3. Поиск

3) О программе

С пункта «Создать» начинается создание новой базы. Очищаются все поля, внутренние переменные и записи, происходит общий сброс к значениям по умолчанию. Действие подтверждается диалоговым окном «Yes/No» (рис. 2).

Рис. 2

Команда «Открыть…» приводит к появлению системного диалогового окна TOpenDialog, с заранее настроенными параметрами (рис. 3). После открытия файла базы заполняются соответствующие поля таблицы TStringGrid. Процесс открытия описан в процедуре ReadFromFile.

Рис. 3

Команда «Сохранить как…» выполняется аналогично предыдущей команде, с учётом лишь сохранения данных в файл, а не открытия. Сохранение также описано во внутриклассовой процедуре WriteToFile.

Пункт «Выход» закрывает приложение.

Доступ к функциям сортировки полей таблицы осуществляется посредством команд «Сортировка - по имени/по цене». Методы сортировки практически идентичны, отличие лишь в номере обрабатываемого столбца. Ниже можно пронаблюдать пример работы функций (рис. 4 - 6).

Рис. 4 (данные до сортировки)

Рис. 5 (результат сортировки по цене)

Рис. 6 (результат сортировки по имени)

Выбор пунктов «Диаграммы…» и «Поиск…» приводит к открытию соответствующих окон приложения. Меню «О программе…» имеет чисто информативный характер, оно отображает окно с информацией о разработчике приложения (рис. 7).

Рис. 7

Разберем подробнее работу главного окна приложения - режим заполнения базы данных.

Всё реализовано посредством интерактивного редактирования значения полей таблицы - изменения в неё вносятся напрямую, без использования посреднических компонентов класса TEdit и TButton. Чтобы осуществить такую возможность, в свойствах компонента StringGrid1 флаг goEditing в множестве Options был установлен в True. Также были прописаны обработчики событий OnClick и OnSelectCell. Следует также отметить, что при выборе какого-либо поля, значения его дополнительно отображаются в компонентах TEdit группы «Свойства». Изменять их оттуда невозможно, свойство Enabled у каждого установлено в False, т.е. они выполняют лишь дополнительную информационную функцию.

Важным замечанием на этапе редактирования полей базы является то, что поле «В сборной» принимает лишь два значения: «Да» и «Нет»; по сути это True и False. Для подобной реализации используется динамический компонент CheckBox1, создаваемый непосредственно Runtime - в режиме работы программы, а не на этапе проектирования в интегрированной среде. При выборе ячейки поля «В сборной» он отображается над соответсвующей ячейкой и значение его свойства Checked влияет на то, какую запись в таблице мы видим - «Да» или «Нет». Данный метод редактирования ограничивает нас от возможных ошибок при вводе текста напрямую и является гораздо более удобным решением (рис. 8).

Рис. 8

Рассмотрим остальные окна приложения.

Рис. 9 (Окно построения диаграмм - группировка по странам)

Приложение способно строить два типа диаграмм, различающихся визуально (рис. 9 - 10). Переключения типа осуществляется посредством выбора переключателя «Страны», «Команды». Построение идёт на основе группировки значений данных базы. Реализация - посредством компонента TChart. При закрытии окна происходит возврат к режиму редактирования данных.

Рис. 10 (Группировка по командам)

Поиск записей также осуществляется в отдельном окне (рис. 11). Возможна точная настройка параметров поиска, включение/выключение отдельных компонентов запроса («ФИО», «Команда», «Страна», «Цена»). CheckBox рядом с полем ввода TEdit делает его доступным к изменению (свойство Enabled). Результаты заносятся в таблицу StringGrid1, аналогичную той, что на главной форме, за исключением лишь возможности непосредственного редактирования. На иллюстрации - поиск по запросу «Страна: Россия» и «Команда: ЦСКА», соответственно - вывод всех футбольных игроков, играющих за Россию.

Рис. 11

Последнее окно - окно информации (рис. 7). Оно закрашено в черный цвет и имеет на фоне объект TImage. Закрытие его происходит путём нажатия кнопки «ОК».

2. Разработка программного обеспечения. Модули, процедуры, функции проекта и их назначение

Unit1 [frmMain] - Главное окно приложения. Редактирование данных.

Unit2 [frmDiagrams] - Окно построения диаграмм по типу.

Unit3 [frmSearch] - Форма поиска данных таблицы.

Unit4 [frmAbout] - Окно «О программе».

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));

d.Name := Edit1.Text;

d.Country := Edit2.Text;

d.Team := Edit3.Text;

d.Cost := Edit4.Text;

d.Side := CheckBox1.Checked;

Write(F, d);

CloseFile(F);

end;

//Закрытие приложения

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

begin

CheckBox1.Destroy;

DeleteFile('Default.dat');

end;

//Сортировка по имени

procedure TfrmMain.N4Click(Sender: TObject);

var Done : Boolean;

l : Byte;

s : BaseField;

begin

With StringGrid1 do

Repeat

Done := false;

For l := 1 to RowCount - 2 do

begin

If (Cells[0, l] > Cells[0, l + 1]) and (Cells[0, l] <> '') then

begin

s.Name:=Cells[0,l];

s.Country:=Cells[1,l];

s.Team:=Cells[2,l];

s.Cost:=Cells[3,l];

s.Side:=(Cells[4,l] = 'Да');

Cells[0,l]:=Cells[0,l+1];

Cells[1,l]:=Cells[1,l+1];

Cells[2,l]:=Cells[2,l+1];

Cells[3,l]:=Cells[3,l+1];

Cells[4,l]:=Cells[4,l+1];

Cells[0,l+1]:=s.Name;

Cells[1,l+1]:=s.Country;

Cells[2,l+1]:=s.Team;

Cells[3,l+1]:=s.Cost;

If s.Side then Cells[4,l+1] := 'Да' else Cells[4,l+1] := 'Нет';

Done := true;

end;

end;

Until not Done;

WriteToFile('Default.dat');

ResetView;

ReadFromFile('Default.dat');

end;

//Сортировка по цене

procedure TfrmMain.N3Click(Sender: TObject);

var Done : Boolean;

l : Byte;

s : BaseField;

begin

With StringGrid1 do

Repeat

Done := false;

For l := 1 to RowCount - 2 do

begin

If (Cells[3, l] <> '') and (Cells[3, l + 1] <> '') then If (StrToInt(Cells[3, l]) > StrToInt(Cells[3, l + 1])) then

begin

s.Name:=Cells[0,l];

s.Country:=Cells[1,l];

s.Team:=Cells[2,l];

s.Cost:=Cells[3,l];

s.Side:=(Cells[4,l] = 'Да');

Cells[0,l]:=Cells[0,l+1];

Cells[1,l]:=Cells[1,l+1];

Cells[2,l]:=Cells[2,l+1];

Cells[3,l]:=Cells[3,l+1];

Cells[4,l]:=Cells[4,l+1];

Cells[0,l+1]:=s.Name;

Cells[1,l+1]:=s.Country;

Cells[2,l+1]:=s.Team;

Cells[3,l+1]:=s.Cost;

If s.Side then Cells[4,l+1] := 'Да' else Cells[4,l+1] := 'Нет';

Done := true;

end;

end;

Until not Done;

WriteToFile('Default.dat');

ResetView;

ReadFromFile('Default.dat');

end;

//Открытие окна Диаграмм

procedure TfrmMain.N11Click(Sender: TObject);

begin

frmDiagrams.Show;

end;

//Прорисовка CheckBox1 в нужной позиции внутри таблицы

procedure TfrmMain.StringGrid1SelectCell(Sender: TObject; ACol,

ARow: Integer; var CanSelect: Boolean);

var

r : TRect;

begin

if (cell_x>=StringGrid1.LeftCol) and

(cell_x<=StringGrid1.LeftCol+StringGrid1.VisibleColCount)

then CheckBox1.Visible := true

else

CheckBox1.Visible:=false;

if acol = cell_x then

begin

//Подгоняем наш CheckBox1 в размер выбранного поля в StringGrid1

r := StringGrid1.CellRect(ACol, ARow);

r.Left := r.left + GroupBox1.Left + stringgrid1.left + 2;

r.right := r.right + stringgrid1.left + 2;

r.top := r.top + GroupBox1.Top + stringgrid1.top + 4;

r.bottom := r.bottom + stringgrid1.top + 2;

CheckBox1.BoundsRect := r;

end

else

CheckBox1.Visible:=false;

end;

//Открытие окна Поиска

procedure TfrmMain.N22Click(Sender: TObject);

begin

frmSearch.Show;

end;

//Открытие окна О программе

procedure TfrmMain.N31Click(Sender: TObject);

begin

frmAbout.Show;

end;

//Выход из приложения по кнопке Закрыть и Файл-Выход

procedure TfrmMain.N14Click(Sender: TObject);

begin

Close;

end;

end.

unit Unit2;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series;

type

Data = record

Caption : String [24];

Num : Byte;

Exist : Boolean;

end;

TfrmDiagrams = class(TForm)

RadioGroup1: TRadioGroup;

Chart1: TChart;

Series1: TPieSeries;

Label6: TLabel;

Label7: TLabel;

Bevel1: TBevel;

Series2: TBarSeries;

procedure RadioGroup1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

private

procedure ResetSettings;

public

{ Public declarations }

end;

var

frmDiagrams: TfrmDiagrams;

Fields : Array [1..40] of Data;

implementation

uses Unit1, Grids;

{$R *.dfm}

//Изменение отображаемой диаграммы на основе выбранного пункта

procedure TfrmDiagrams.RadioGroup1Click(Sender: TObject);

var

i, j, A : integer;

flag: Boolean;

begin

ResetSettings;

If RadioGroup1.ItemIndex = 0 then A := 1 else A := 2;

Chart1.Series[0].Clear;

Chart1.Series[1].Clear;

With frmMain.StringGrid1 do

For j := 1 to RowCount - 1 do

begin

Flag := true;

For i := 1 to 40 do

begin

If (Flag) and(Fields[i].Exist) then

If Fields[i].Caption = Cells[A, j] then

begin

Inc(Fields[i].Num);

Flag := false;

end;

If (Flag) and (not (Fields[i].Exist)) then

begin

Fields[i].Exist := true;

Fields[i].Caption := cells[A, j];

Fields[i].Num := 1;

Flag := false;

end;

end;

If Flag then messagedlg('Ошибка', mtError, [mbOk], 0);

end;

For i:=1 to 40 do

If (Fields[i].Num > 0) and (Fields[i].Caption <> '') then

begin

If RadioGroup1.ItemIndex = 0 then

Chart1.Series[0].Add(Fields[i].Num, Fields[i].Caption, random(93562))

else

Chart1.Series[1].Add(Fields[i].Num, Fields[i].Caption, random(93562));

end;

end;

//Принудительный вызов события OnClick для первого отображения диаграмм

procedure TfrmDiagrams.FormShow(Sender: TObject);

begin

RadioGroup1Click(self);

end;

//Сброс всех настроек

procedure TfrmDiagrams.ResetSettings;

begin

ZeroMemory(@Fields, SizeOf(Fields));

Chart1.Series[0].Clear;

Chart1.Series[1].Clear;

end;

end.

unit Unit3;

interface

uses

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

Dialogs, Grids, StdCtrls, ExtCtrls;

type

TfrmSearch = class(TForm)

GroupBox1: TGroupBox;

StringGrid1: TStringGrid;

GroupBox2: TGroupBox;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

CheckBox4: TCheckBox;

Button1: TButton;

Label6: TLabel;

Label7: TLabel;

Bevel1: TBevel;

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure CheckBox2Click(Sender: TObject);

procedure CheckBox4Click(Sender: TObject);

procedure CheckBox3Click(Sender: TObject);

private

procedure ResetView;

public

{ Public declarations }

end;

var

frmSearch: TfrmSearch;

implementation

uses Unit1;

{$R *.dfm}

{ TfrmSearch }

//Сброс всех настроек

procedure TfrmSearch.ResetView;

var i : integer;

begin

StringGrid1.RowCount := 40;

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.Cells[0,0] := 'ФИО';

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

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

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

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

Edit1.Clear;

Edit2.Clear;

Edit3.Clear;

Edit4.Clear;

Edit1.Enabled := false;

Edit2.Enabled := false;

Edit3.Enabled := false;

Edit4.Enabled := false;

CheckBox1.Checked := false;

CheckBox2.Checked := false;

CheckBox3.Checked := false;

CheckBox4.Checked := false;

end;

//При отображении формы

procedure TfrmSearch.FormShow(Sender: TObject);

begin

ResetView;

end;

//Действие кнопки Поиск

procedure TfrmSearch.Button1Click(Sender: TObject);

var

Max : Integer;

Match: Boolean;

A, 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;

Max := 0;

For a := 1 to frmMain.StringGrid1.RowCount - 1 do

begin

Match := true; //Факт совпадения

If CheckBox1.Checked then

If pos(Edit1.Text, frmMain.StringGrid1.Cells[0, a]) = 0 then Match := false;

If CheckBox2.Checked then

If pos(Edit2.Text, frmMain.StringGrid1.Cells[1, a]) = 0 then Match := false;

If CheckBox3.Checked then

If pos(Edit3.Text, frmMain.StringGrid1.Cells[2, a]) = 0 then Match := false;

If CheckBox4.Checked then

If pos(Edit4.Text, frmMain.StringGrid1.Cells[3, a]) = 0 then Match := false;

If Match then

begin

Inc(max);

StringGrid1.Cells[0, Max] := frmMain.StringGrid1.Cells[0, a];

StringGrid1.Cells[1, Max] := frmMain.StringGrid1.Cells[1, a];

StringGrid1.Cells[2, Max] := frmMain.StringGrid1.Cells[2, a];

StringGrid1.Cells[3, Max] := frmMain.StringGrid1.Cells[3, a];

StringGrid1.Cells[4, Max] := frmMain.StringGrid1.Cells[4, a];

end;

end;

end;

//Доступность поля ФИО

procedure TfrmSearch.CheckBox1Click(Sender: TObject);

begin

Edit1.Enabled := CheckBox1.Checked;

end;

//Доступность поля Страна

procedure TfrmSearch.CheckBox2Click(Sender: TObject);

begin

Edit2.Enabled := CheckBox2.Checked;

end;

//Доступность поля Команда

procedure TfrmSearch.CheckBox4Click(Sender: TObject);

begin

Edit4.Enabled := CheckBox4.Checked;

end;

//Доступность поля Цена

procedure TfrmSearch.CheckBox3Click(Sender: TObject);

begin

Edit3.Enabled := CheckBox3.Checked;

end;

end.

unit Unit4;

interface

uses

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

Dialogs, StdCtrls, jpeg, ExtCtrls;

type

TfrmAbout = class(TForm)

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

frmAbout: TfrmAbout;

implementation

{$R *.dfm}

//Закрытие окна

procedure TfrmAbout.Button1Click(Sender: TObject);

begin

Hide;

end;

end.

Список использованной литературы

1. Фаронов В.В. Delphi 5. Учебный курс - М.: “Нолидж”, 2000.- 608 c.

2. Архангельский А. Программирование в Delphi. - М.: “БИНОМ”, 2005. - 768 с.

3. Бобровский С.Е. Delphi 5: учебный курс. - Спб.: “Питер”, 2000. - 640 с.

4. Фаронов В.В. Программирование баз данных в Delphi 6. Учебный курс - Спб.: “Питер”, 2003 - 352с.

Размещено на Allbest.ru


Подобные документы

  • Разработка программного обеспечения в объектно-ориентированной среде визуального программирования Microsoft Office VBA, реализующего базу данных "Энциклопедия домашних животных". Выбор языка программирования. Реализация программных модулей в блоках.

    курсовая работа [3,3 M], добавлен 11.01.2013

  • Анализ проектирования интерфейса программы. Выбор и назначение визуальных компонентов. Изучение экранных форм приложения. Модули, процедуры, функции проекта и их назначение. Листинг программного кода. Результаты работы автоматизированного продукта.

    курсовая работа [1,9 M], добавлен 11.12.2017

  • Проектирование и создание пользовательского интерфейса и визуального программирования в среде Delphi. Система управления базой данных. Локальные и глобальное пользовательские представления. Анализ предметной области. Назначение форм и компонентов.

    курсовая работа [758,0 K], добавлен 07.03.2014

  • Borland Delphi 7 как универсальный инструмент разработки, применяемый во многих областях программирования, функции: добавление информации об абитуриентах в базу данных, формирование отчетов. Рассмотрение и характеристика основных компонентов Delphi.

    контрольная работа [3,6 M], добавлен 18.10.2012

  • Разработка простейшей базы данных с использованием приемов работы с Microsoft Access в среде программирования Delphi. Назначение базы данных, условия эксплуатации, выполнения и запуска программы "База данных районного отдела налоговой инспекции".

    курсовая работа [1,3 M], добавлен 14.12.2012

  • Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi.

    курсовая работа [40,8 K], добавлен 15.07.2009

  • Разработка приложения для работы с базой данных с использованием объектно-ориентированного и визуального программирования. Обзор языка элементов языка программирования Delphi. Проектирование базы данных автозаправки. Клиентская система приложения.

    курсовая работа [2,3 M], добавлен 31.01.2016

  • Новые тенденции развития СУБД и областей их применения. Структурные элементы базы данных. Объектно-ориентированная модель программных компонентов. Формы, модули и метод разработки "Two-Way Tools". Масштабируемые средства для построения баз данных.

    дипломная работа [589,5 K], добавлен 16.12.2013

  • Анализ исходных данных. Определение структуры модуля для работы файлом. Разработка объектно-ориентированного приложения, использующего массив объектов, в среде Delphi. Модульная структура программного комплекса. Процедура сортировки методом вставки.

    курсовая работа [2,2 M], добавлен 20.09.2014

  • Обзор преимуществ и недостатков среды программирования Delphi, ее сравнение с аналогичными продуктами. Разработка инфологической, датологической, модели базы данных. Проектирование структуры программного обеспечения и понятного интерфейса базы данных.

    курсовая работа [964,8 K], добавлен 27.09.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.