Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

База данных футболистов на Delphi - файл Description.doc


База данных футболистов на Delphi
скачать (1459.1 kb.)

Доступные файлы (24):

database_kr.cfg
database_kr.dof
database_kr.dpr
database_kr.dsk
database_kr.exe
database_kr.res
Description.doc541kb.23.12.2008 01:05скачать
Football.dat
Unit1.dcu
Unit1.ddp
Unit1.dfm
Unit1.pas
Unit2.dcu
Unit2.ddp
Unit2.dfm
Unit2.pas
Unit3.dcu
Unit3.ddp
Unit3.dfm
Unit3.pas
Unit4.dcu
Unit4.ddp
Unit4.dfm
Unit4.pas

содержание

Description.doc

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

Государственное образовательное учреждение высшего профессионального образования
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ

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

Кафедра АСУ

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

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

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

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

Группа ПИЭ – 218

Студентка ______________ _____________ Шамсутдинова Д. Р.

(подпись) (дата) (ФИО)

Консультант ______________ _____________ ^ Головкин Ю.Б.

Принял ______________ _____________ Головкин Ю.Б.

____________

(оценка)

Уфа – 2008

Оглавление


Оглавление 2

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

Проектирование интерфейса 4

Выбор и назначение визуальных компонентов и формы проекта 4

Разработка программного обеспечения 13

Модули, процедуры, функции проекта и их назначение 13

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

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


^

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


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

Проектирование интерфейса

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



При запуске программы открывается основное её окно (рис. 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. Закрытие его происходит путём нажатия кнопки «ОК».
^

Разработка программного обеспечения

Модули, процедуры, функции проекта и их назначение



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

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

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

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


^

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


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с.


Скачать файл (1459.1 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации