Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Федеральное ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
КРАСНОГОРСКИЙ ГОСУДАРТСВЕННЫЙ КОЛЛЕДЖ
КУРСОВОЙ ПРОЕКТ
по дисциплине “Технология разработки программных продуктов”
на тему: Разработка ПП АИС «Колледжи Москвы»
Студент ______________________________ Коструба
(подпись)
Проверил ______________________________ Студенова О.В.
(оценка и подпись)
Красногорск
2011 год
[1] Содержание
[2] [3] Разработка системного проекта АИС БД «Колледжи Москвы» [3.1] Назначение разработки [3.2] Требования к функциональным характеристикам [3.2.1] Состав выполняемых функций [3.3] Требования к надежности и безопасности [3.4] Требования к составу и параметрам технических средств [3.5] Требования к информационной программной совместимости
[4] [4.1] Анализ требований и определение спецификации ПО [4.2] Проектирование модели данных [4.3] Детальное проектирование ПО [5] Реализация [5.1] Обоснование выбора средств разработки [5.2] Описание основных программных модулей
[6] [7] Заключение [8] Список литературы [9] Приложение №1. Листинг программы [10] Приложение №2. Руководство пользователя. |
Программный продукт АИС БД «Колледжи Москвы» разрабатывается с целью систематизации и обобщения сведений о колледжах. Он предназначен для выпускников средней школы и позволяет сотрудникам добавлять новых клиентов и тренеров, искать и редактировать информацию о клиентах и тренерах, определять в какой группе находится клиент и какой у него тренер. Это доступно благодаря широкой информационной базе ПП, необходимым фильтрам и удобному интерфейсу, которые делают информацию удобной для восприятия.
В данном программном продукте будут предусмотрены функции просмотра БД о тренерах, клиентах и групп. Также предусмотрен поиск по двум критериям, редактирование и печать отчётов.
Подсистема АИС БД «Колледжи Москвы» используется с целью обобщения информации о колледжах, их адресов и о контактных данных. Данный программный продукт использует для решения следующих задач:
Разрабатываемая АИС БД «Колледжи Москвы» обеспечивает сбор сведений о колледжах. Также ПП имеет функцию быстрого поиска необходимой информации, способов её отображения и при необходимости формирования отчета и вывода его на печать.
Входными данными являются: название, адрес, еще чтото, номер телефона и вид обучения.
Система функционирует в многопользовательском режиме и даёт возможность добавлять новые и изменять существующие записи, а также удалять некорректные и устаревшие.
Источниками отчетов являются выходные данные по:
Формы входных документов представлены в приложении к курсовому проекту.
Надёжность программы поддерживается благодаря грамотной обработке входных и выходных данных, а так же корректной обработке возникающих ошибок, которые не выводят из строя всю программу и дают подробное объяснение возникшей проблемы и как ей можно впоследствии избежать.
Тактовая частота процессора 2000Гц
Объем ОЗУ не менее 512Мб
Объем свободного места не жестком диске 20Мб
Разрешение монитора (рекомендуемое) 1024х768
ОС Windows XP/Vista/7
MS Office 2000/2003/2007
Основные спецификации:
Рисунок 1. Функциональная схема
Рисунок 2. Структурная схема.
В ходе анализа имеющихся средств программирования был выбран вариант написания программного продукта с использованием системы визуального программирования Borland Delphi 10. Данное заключение основывалось на следующем.
Среда визуального программирования Delphi 10 работает в среде Windows и предоставляет программисту возможность реализации всех достоинств графического интерфейса этой системы.
Многие системы разработки приложений для Windows генерируют код-полуфабрикат, который не может быть выполнен процессором без дополнительной трансляции во время работы самой программы, что существенно снижает производительность компьютера. Delphi же использует настоящий компилятор и компоновщик и генерирует стопроцентный машинный код.
Так как Delphi 10 является средой программирования для Windows, то, как и сама операционная система Delphi поддерживает длинные имена файлов и папок.
Для запуска программ, написанных на Delphi, не требуются никакие дополнительные библиотеки, интерпретаторы кода и прочее.
Запуск программы осуществляется с помощью файла SportClub.exe.
После запуска появится главная форма Vxod. При нажатии на надпись «Вход в базу данных» открывается главная функциональная форма Glavnaia.
На форме Unit1 расположены следующие компоненты:
Форма «Поиск по Ф.И.О.» позволяет найти в таблице «Тренеры» необходимую запись. Критерии поиска: Фамилия, Имя, Отчество. Заполнив все или хотя бы одну из них, мы получает результат поиска удовлетворяющий введённым данным.
Форма «Поиск по виду спорта» позволяет осуществить поиск необходимой записи или группы записей в таблице «Группы», для этого необходимо ввести интересующий вид спорта. В результате получаем список групп по данному виду спорта, а так же фамилию тренера, который ведёт занятия в этой группе.
Форма «Добавление тренера» осуществляет добавление в таблицу «Тренеры» новой записи. Для этого необходимо заполнить все поля и при удачном внесении новой записи, откроется форма «Res», в которой вы увидите, какие поля были добавлены и как они отобразились.
Форма «Регистрация нового клиента» осуществляет добавление в таблицу «Члены Клуба» новой записи. Для этого необходимо заполнить все поля и при удачном внесении новой записи, откроется форма «Res2», в которой вы увидите, какие поля были добавлены и как они отобразились.
Форма «Отчёты» содержит данные из интересующей вас таблицы или результата поиска. Так же в ней вы можете отредактировать эти данные и распечатать их.
Тестирование осуществлялось по принципу «Белый ящик».
Был выбран метод тестирования «Тестирование переходов между состояниями».
Тест заключается в том, что необходимо ввести набор таких данных, которые смогут показать весь функционал программы.
Если одно из полей не было заполнено, то появится окно с ошибкой («необходимо заполнить все поля»)
Данная автоматизированная информационная система является основой для спортивного клуба и охватывает весь спектр вопросов связанных со стабильной работой и функционированием клуба.
Она предназначена для администрации клуба и позволяет сотрудникам добавлять новых клиентов и тренеров, искать и редактировать информацию о клиентах и тренерах, определять в какой группе находится клиент и какой у него тренер. Это доступно благодаря широкой информационной базе ПП, необходимым фильтрам и удобному интерфейсу, которые делают информацию удобной для восприятия.
При появлении необходимости модернизации или дополнения программы новыми модулями, разработчик готов приступить к работе и выполнить работу в максимально короткие сроки и внедрить их в работу.
unit Unit3;//начальная форма программы
interface
uses unit1,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
type
Tvxod = class(TForm)
Image1: TImage;
Image2: TImage;
procedure Image2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
vxod: Tvxod;
implementation
{$R *.dfm}
procedure Tvxod.Image2Click(Sender: TObject);
begin
gl.Show;
vxod.Visible:=false;
end;
end.
unit Unit1;//главная форма программы с меню и кнопками
interface
uses unit2,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls, ExtCtrls, DBCtrls, jpeg, Menus;
type
Tgl = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
DBNavigator1: TDBNavigator;
Button3: TButton;
Image1: TImage;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
Button6: TButton;
N9: TMenuItem;
N10: TMenuItem;
procedure N9Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure N10Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
gl: Tgl;
implementation
uses unit3,unit6,unit7,unit8,unit10;
{$R *.dfm}
procedure Tgl.Button3Click(Sender: TObject);//копирование пути к базе из главного компонента
begin
reg.show;
reg.adoquery1.Active:=false;//деактивируем компонент
reg.adoquery1.ConnectionString:=adoquery1.ConnectionString;//заносим источник данных
reg.ADOQuery1.Active:=true;//активируем компонент
reg.adoquery2.Active:=false;
reg.adoquery2.ConnectionString:=adoquery1.ConnectionString;
reg.ADOQuery2.Active:=true;
end;
procedure Tgl.Button6Click(Sender: TObject);//открытие формы регистрации тренера
begin
reg2.show;
end;
procedure Tgl.FormCreate(Sender: TObject);//универсальный путь к базе
begin
adoquery1.Active:=false;
adoquery1.ConnectionString:=('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.ExeName)+'SportClub.mdb;Persist Security Info=False');
//Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\ТРПП\СпортКлуб\SportClub.mdb;Persist Security Info=False
end;
procedure Tgl.N4Click(Sender: TObject);//вывод всей базы Тренеры
begin
adoquery1.Active:=false;
ADOQuery1.Close;
adoquery1.SQL.Clear;//очищаем поле запросов
adoquery1.SQL.Add('SELECT фамилия,имя,отчество,вид_спорта FROM trener');//запрос
adoquery1.ExecSQL;//выполняем запрос
adoquery1.Active:=true;
end;
procedure Tgl.N7Click(Sender: TObject);//процедура выхода из прораммы
begin
case messagebox(0,'Выход из программы','Выход',mb_yesno) of idyes:
begin
vxod.Close;
end;
idno:
begin
end;
end;
end;
procedure Tgl.N8Click(Sender: TObject);
begin
poisk1.Show;
end;
procedure Tgl.N9Click(Sender: TObject);//открытие формы поиска по тренерам
begin
poisk2.Show;
end;
procedure Tgl.N5Click(Sender: TObject);//вывод всей базы Члены Клуба
begin
adoquery1.Active:=false;
ADOQuery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('SELECT фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа FROM Chl');
adoquery1.ExecSQL;
adoquery1.Active:=true;
end;
procedure Tgl.N6Click(Sender: TObject);//вывод всей базы Группы
begin
adoquery1.Active:=false;
ADOQuery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('SELECT groups.*,chl.фамилия FROM groups inner join chl on groups.группа=chl.группа');
adoquery1.ExecSQL;
adoquery1.Active:=true;
end;
function GridSelectAll(Grid: TDBGrid): Longint;//выделение всех строк для вывода в отчёты
begin
Result := 0;
Grid.SelectedRows.Clear;
with Grid.Datasource.DataSet do
begin
First;
DisableControls;
try
while not EOF do
begin
Grid.SelectedRows.CurrentRowSelected := True;
inc(Result);
Next;
end;
finally
EnableControls;
end;
end;
end;
procedure Tgl.N10Click(Sender: TObject);//открытие формы отчётов и передача информации
var
i, j: Integer;
s: string;
begin
form10.memo1.Clear;
GridSelectAll(DBGrid1);
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin
if (j>0) then s:=s+'| ';
s:=s+Fields[j].AsString;
end;
form10.memo1.Lines.add(s);
s:= '';
end;
form10.Show;
end;
end.
unit Unit2;//форма регистрации нового клиента
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, DB, ADODB;
type
Treg = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
DBLookupComboBox2: TDBLookupComboBox;
Label6: TLabel;
procedure DBLookupComboBox1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
reg: Treg;
implementation
uses unit1,unit4,unit5;
{$R *.dfm}
procedure Treg.Button1Click(Sender: TObject);//добавление в базу нового клиента
var a,b,c,d,e,f:string;
begin
a:=edit1.Text;
b:=edit2.Text;
c:=edit3.Text;
d:=edit4.Text;
e:=dblookupcombobox1.Text;
f:=dblookupcombobox2.Text;
if (length(a)<>0) or (length(b)<>0) or (length(c)<>0) or (length(d)<>0) or (length(e)<>0) or (length(f)<>0)then begin
gl.ADOQuery1.Close;
gl.ADOQuery1.SQL.Clear;
gl.ADOQuery1.SQL.Add('insert into Chl(фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа)values("'+a+'","'+b+'","'+c+'","'+d+'","'+e+'","0","'+f+'")');
gl.ADOQuery1.ExecSQL;
yd.Visible:=true;
yd.Label3.Caption:=edit1.Text;
yd.Label4.Caption:=edit2.Text;
yd.Label5.Caption:=edit3.Text;
yd.Label6.Caption:=edit4.Text;
yd.Label7.Caption:=dblookupcombobox1.Text;
yd.Label8.Caption:=dblookupcombobox2.Text;
end
else
neyd.Visible:=true;
end;
procedure Treg.DBLookupComboBox1Click(Sender: TObject);//передача параметров в компонент
var q:string;
begin
q:=dblookupcombobox1.Text;
adoquery2.Active:=false;
ADOQuery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('SELECT* FROM groups where спорт="'+q+'"');
adoquery2.ExecSQL;
adoquery2.Active:=true;
end;
end.
unit Unit4;//форма отчёта о внесении нового тренера
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Tyd = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
yd: Tyd;
implementation
uses unit2,unit6;
{$R *.dfm}
procedure Tyd.FormClose(Sender: TObject; var Action: TCloseAction);//очистка полей в формах
begin
reg.edit1.Clear;//очищаем поле ввода
reg.edit2.Clear;
reg.edit3.Clear;
reg.edit4.Clear;
reg2.edit1.Clear;
reg2.edit2.Clear;
reg2.edit3.Clear;
reg2.edit4.Clear;
reg2.Edit5.Clear;
end;
end.
unit Unit5;//форма ошибки внесения новой записи
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Tneyd = class(TForm)
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
neyd: Tneyd;
implementation
{$R *.dfm}
end.
unit Unit6;//форма регистрации нового тренера
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, DB, ADODB;
type
Treg2 = class(TForm)
Button1: TButton;
Label5: TLabel;
Label3: TLabel;
Edit3: TEdit;
Label2: TLabel;
Edit2: TEdit;
Edit1: TEdit;
Label1: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
reg2: Treg2;
implementation
uses Unit1, Unit4, Unit5;
{$R *.dfm}
procedure Treg2.Button1Click(Sender: TObject);//внесение в базу новой записи
var a,b,c,e,d:string;
begin
d:=edit5.Text;
a:=edit1.Text;
b:=edit2.Text;
c:=edit3.Text;
e:=edit4.Text;
if (length(a)<>0) or (length(b)<>0) or (length(c)<>0) or (length(e)<>0) then begin
gl.ADOQuery1.Close;
gl.ADOQuery1.SQL.Clear;
gl.ADOQuery1.SQL.Add('insert into trener(код,фамилия,имя,отчество,вид_спорта)values("'+d+'","'+a+'","'+b+'","'+c+'","'+e+'")');
gl.ADOQuery1.ExecSQL;
gl.ADOQuery1.SQL.Clear;
gl.ADOQuery1.SQL.Add('insert into groups(спорт,группа)values("'+e+'","'+d+'")');
gl.ADOQuery1.ExecSQL;
yd.Visible:=true;
yd.Label3.Caption:=edit1.Text;
yd.Label4.Caption:=edit2.Text;
yd.Label5.Caption:=edit3.Text;
yd.Label6.Caption:=edit4.Text;
end
else
neyd.Visible:=true;
end;
end.
unit Unit7;//форма поиска по виду спорта
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TPoisk1 = class(TForm)
Button1: TButton;
Button4: TButton;
Button2: TButton;
edit1: TEdit;
Label1: TLabel;
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Poisk1: TPoisk1;
implementation
uses unit1;
{$R *.dfm}
procedure Tpoisk1.Button1Click(Sender: TObject);//поиск по таблице Тренеры
begin
gl.adoquery1.Active:=false;
gl.ADOQuery1.Close;
gl.adoquery1.SQL.Clear;
if length(edit1.text)=0 then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,вид_спорта FROM trener')
else
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,вид_спорта FROM trener where вид_спорта="'+edit1.text+'"');
gl.adoquery1.ExecSQL;
gl.adoquery1.Active:=true;
end;
procedure Tpoisk1.Button2Click(Sender: TObject);//поиск по таблице Члены Клуба
begin
gl.adoquery1.Active:=false;
gl.ADOQuery1.Close;
gl.adoquery1.SQL.Clear;
if length(edit1.text)<>0 then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа FROM chl where вид_спорта="'+edit1.text+'"')
else
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа FROM Chl');
gl.adoquery1.ExecSQL;
gl.adoquery1.Active:=true;
end;
procedure Tpoisk1.Button4Click(Sender: TObject);//поиск по таблице Группы
begin
gl.adoquery1.Active:=false;
gl.ADOQuery1.Close;
gl.adoquery1.SQL.Clear;
if length(edit1.text)<>0 then begin
gl.adoquery1.SQL.Add('SELECT groups.*,chl.фамилия FROM groups inner join chl on groups.группа=chl.группа where groups.спорт="'+edit1.text+'"');
end
else
gl.adoquery1.SQL.Add('SELECT groups.*,chl.фамилия FROM groups inner join chl on groups.группа=chl.группа');
gl.adoquery1.ExecSQL;
gl.adoquery1.Active:=true;
end;
end.
unit Unit8;//форма поиска по Ф.И.О.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TPoisk2 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Poisk2: TPoisk2;
implementation
uses Unit1;
{$R *.dfm}
procedure TPoisk2.Button2Click(Sender: TObject);//поиск по одному или нескольким полям в //таблице Члены Клуба
begin
gl.adoquery1.Active:=false;
gl.ADOQuery1.Close;
gl.adoquery1.SQL.Clear;
if (length(edit1.text)<>0) and (length(edit2.text)<>0) and (length(edit3.text)<>0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа FROM chl where фамилия="'+edit1.text+'" and имя="'+edit2.Text+'" and отчество="'+edit3.Text+'"');
if (length(edit3.text)=0) and(length(edit2.Text)<>0) and(length(edit1.Text)<>0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа FROM Chl where имя="'+edit2.Text+'" and фамилия="'+edit1.Text+'"');
if (length(edit1.Text)=0) and(length(edit3.Text)<>0) and(length(edit2.Text)<>0)then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа FROM Chl where имя="'+edit2.Text+'" and отчество="'+edit3.Text+'"');
if (length(edit2.Text)=0) and(length(edit3.Text)<>0) and(length(edit1.Text)<>0)then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа FROM Chl where отчество="'+edit3.Text+'" and фамилия="'+edit1.Text+'"');
if (length(edit1.Text)=0)and(length(edit2.Text)=0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа FROM Chl where отчество="'+edit3.Text+'"');
if (length(edit1.Text)=0)and(length(edit3.Text)=0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа FROM Chl where имя="'+edit2.Text+'"');
if (length(edit2.Text)=0)and(length(edit3.Text)=0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,дата_рождения,вид_спорта,стаж,группа FROM Chl where фамилия="'+edit1.Text+'"');
gl.adoquery1.ExecSQL;
gl.adoquery1.Active:=true;
end;
procedure TPoisk2.Button1Click(Sender: TObject);//поиск по одному или нескольким полям в //таблице Тренеры
begin
gl.adoquery1.Active:=false;
gl.ADOQuery1.Close;
gl.adoquery1.SQL.Clear;
if (length(edit1.text)<>0) and (length(edit2.text)<>0) and (length(edit3.text)<>0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,вид_спорта FROM trener where (фамилия="'+edit1.text+'" and имя="'+edit2.Text+'" and отчество="'+edit3.Text+'")');
if (length(edit3.text)=0) and(length(edit2.Text)<>0) and(length(edit1.Text)<>0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,вид_спорта FROM trener where (имя="'+edit2.Text+'" and фамилия="'+edit1.Text+'")');
if (length(edit1.Text)=0) and(length(edit3.Text)<>0) and(length(edit2.Text)<>0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,вид_спорта FROM trener where (имя="'+edit2.Text+'" and отчество="'+edit3.Text+'")');
if (length(edit2.Text)=0) and(length(edit3.Text)<>0) and(length(edit1.Text)<>0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,вид_спорта FROM trener where (отчество="'+edit3.Text+'" and фамилия="'+edit1.Text+'")');
if (length(edit1.Text)=0)and(length(edit2.Text)=0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,вид_спорта FROM trener where отчество="'+edit3.Text+'"');
if (length(edit1.Text)=0)and(length(edit3.Text)=0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,вид_спорта FROM trener where имя="'+edit2.Text+'"');
if (length(edit2.Text)=0)and(length(edit3.Text)=0) then
gl.adoquery1.SQL.Add('SELECT фамилия,имя,отчество,вид_спорта FROM trener where фамилия="'+edit1.Text+'"');
gl.adoquery1.ExecSQL;
gl.adoquery1.Active:=true;
end;
end.
unit Unit10;//форма печати отчётов
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Printers;
type
TForm10 = class(TForm)
Memo1: TMemo;
Button1: TButton;
PrintDialog1: TPrintDialog;
PrinterSetupDialog1: TPrinterSetupDialog;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form10: TForm10;
implementation
{$R *.dfm}
procedure TForm10.Button1Click(Sender: TObject);//процедура печати
var i, j:integer;
Prn:textfile;
begin
if PrintDialog1.Execute then
for I := 1 to PrintDialog1.Copies do
begin
AssignPrn(Prn);
Rewrite(Prn);
for j := 0 to Memo1.Lines.Count - 1 do
Writeln(Prn, Memo1.Lines.Strings[j]);
CloseFile(Prn);
end;
end;
end.
Изм.
Лист
№ докум.
Подпись
Дата
Лист
2
КП 230105.11.14
Разраб.
Коструба А.В..
Провер.
Студёнова О.В.
Реценз.
Н. Контр.
Утверд.
Курсовой проект по теме: Разработка ПП АИС «Колледжи Москвы»
Лит.
Листов
5
Группа 47
Изм.
Лист
№ докум.
Подпись
Дата
Лист
3
КП 230105.11.14
Изм.
Лист
№ докум.
Подпись
Дата
Лист
4
КП 230105.11.14
Изм.
Лист
№ докум.
Подпись
Дата
Лист
5
КП 230105.11.14
Изм.
Лист
№ докум.
Подпись
Дата
Лист
6
КП 230105.11.14
Управление с помощью запросов SQL
Отчёты
Результаты запросов
АИС колледжы
Работа с базами данных в Delphi
Изм.
Лист
№ докум.
Подпись
Дата
Лист
7
КП 230105.11.14
Изм.
Лист
№ докум.
Подпись
Дата
Лист
8
КП 230105.11.14
Изм.
Лист
№ докум.
Подпись
Дата
Лист
9
КП 230105.11.14
Изм.
Лист
№ докум.
Подпись
Дата
Лист
10
КП 230105.11.14
Изм.
Лист
№ докум.
Подпись
Дата
Лист
11
КП 230105.11.14
Изм.
Лист
№ докум.
Подпись
Дата
Лист
12
КП 230105.11.14