База данных футбольных игроков
Разработка программного обеспечения в объектно-ориентированной среде визуального программирования 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.2014Borland 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