Читайте также:
|
|
Delphi - это среда разработки, используемой прежде всего для создания и поддержки приложений, предназначенных как для отдельных персональных компьютеров, так и для серверов. Delphi, как и разработанные с ее помощью приложения, могут функционировать под практически любой 32 разрядной операционной системой типа Windows 95, 98, 2000, NT. Это довольно легкая в изучении среда, и в то же время довольно сложная. Изучить ее полностью и досконально – невозможно. О Delphi говорят как о среде быстрого создания приложений. Это технология визуального программирования, т.е. пользователь, оформляет свою будущую программу, и видит результаты своей работы еще до запуска самой программы. В принципе, сам процесс написания приложения разделяется на две части. В первой части программист располагает на окна своей программы необходимые элементы, позиционирует, устанавливает нужные размеры, меняет свойства. А во второй части собственно, происходит написания программного кода, описание свойств элементов, доступных только во время работы приложения, описание реакций на событие появление окна, нажатия на кнопку. Использование Delphi позволяет создавать как самые простые приложения, на разработку которых требуется 2-3 часа, так и серьезные корпоративные проекты, предназначенных для работы десятков и сотен пользователей.
Преимущества Delphi по сравнению с аналогичными программными продуктами:
• быстрота разработки приложения;
• высокая производительность разработанного приложения;
• низкие требования разработанного приложения к ресурсам компьютера;
• наращиваемость за счет встраивания новых компонентов и инструментов в среду Delphi;
• возможности за счет встраивания новых компонентов и инструментов собственными средами Delphi (существующие компоненты и инструменты доступные в исходных кодах);
• удачная проработка иерархии объектов.
Система программирования Delphi рассчитана на программирование различных приложений и предоставляет большое количество компонентов для этого.
Код хорошо структурируется, названия всех функций по сути есть сокращения английских слов (IntToStr – целое в строку; Now – возвращает дату и время; UpperCase – приводит к верхнему регистру и т.п.), хорошая модульность и видимость кода – все это способствует скорости разработки. А так же позволяет производить ее в командном режиме более эффективно.
Еще одно очевидное преимущество Delphi – компоненты, число которых исчисляется миллионами. В Delphi есть возможность скомпилировать участок, когда и предоставить его свободное пользование как компонент.
Данная среда показывает лучшую универсальность, производительность и устойчивость конечных приложений.
Назначение и функционирование программной системы
«Библиотека» - программное обеспечение, предназначенное для учета книг в библиотеках. Создаваемый продукт предназначен для удобства и облегчения работы
Минимальные требования для работоспособности программы:
• объем необходимого пространства на жестком диске 1,01 МБ;
• операционные системы: Windows XP/Vista/Seven;
• разрешение экрана 800 х 600 точек;
• оперативная память ОЗУ 512 Мбайт;
• процессор Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz.
РАСЧЕТНО-КОНСТРУКЦИОННАЯ ЧАСТЬ
В процессе разработки программного продукта важную роль играет проектирование приложения.
Разработку приложения необходимо начать с анализа предметной области и постановки задачи.
Чтобы хорошо спроектировать систему, необходимо четко представить себе решаемую задачу. Для этого. В первую очередь, нужно составить набор требований, предъявляемых к конечному продукту. Набор требований составляется исходя из того, что хочет заказчик, и что ему необходимо нужно.
Это не всегда одно и то же. И искусство разработчика состоит в том, чтобы предоставить заказчику то, что ему нужно, и при этом, чтобы заказчику казалось, что это то, чего он хочет.
Чтобы сформулировать реальные требования к системе, необходимо как можно больше информации о предметной области.
Создание интерфейса приложения
Интерфейс – это внешняя оболочка приложения вместе с программами управления доступом и другим скрытым от пользователя механизмами управления, дающая возможность работать с документами, данными и другой информацией, хранящейся в компьютере или за его пределами.
Главная цель любого приложения – обеспечить максимальное удобство и эффективность работы с информацией: документами, базами данных, графикой или изображениями. Хорошо разработанный интерфейс гарантирует удобство работы с приложением и в конечном итоге его коммерческий успех.
При разработке интерфейса необходимо руководствоваться следующими принципами:
1. Стандартизация – рекомендуется использовать стандартные, проверенные многими программистами и пользователями интерфейсные решения. Под решениями подразумевается дизайн форм, распределение элементов управления на форме, их взаимное расположение, знаки на кнопках управления, названия команд меню;
2. Удобство и простота работы – интерфейс должен быть интуитивно понятным, желательно, чтобы все действия легко запоминались и не требовали утомительных процедур: выполнение дополнительных команд, лишний нажатий на кнопки, вызова промежуточных диалоговых окон.
3. Внешний дизайн не должен утомлять зрение, он должен быть рассчитан на длительную работу пользователя с приложением в течении дня;
4. Не перегруженность форм – формы должны быть оптимально загружены элементами управления; при необходимости можно использовать вкладки или дополнительные страницы форм;
5. Группировка – элементы управления в форме необходимо группировать по смыслу;
6. Разреженность объектов форм – элементов управления следует располагать на некотором расстоянии, а не лепить друг на другу; для выделения элементов управления можно организовывать пустые пространства на форме.
Интерфейс программного продукта состоит из тех частей:
1. Основная часть;
2. Поиск;
3. Справка.
На первой части программного продукта расположены следующие компоненты: таблицы, поля ввода информации.
Таблицы состоят из следующих колонок: группа, имя, фамилия, отчество, название книги, автор книги, ответственное лицо и код книги.
Поля ввода информации содержат следующие категории: направления, курс, группа, номер, имя, фамилия, отчество, дата рождения, адрес, телефон, дополнительная информация, название книги, автор книги, ответственное лицо, код книги, дата выдачи и даты возврата.
Во 2 части программного продукта, поиск можно произвести по следующим категориям:
· направление;
· курс;
· группа;
· имя;
· фамилия;
· адрес;
· книга.
3 часть программного продукта предназначена для помощи.
Чтобы пополнить списки книг и читателей в базе данных, необходимо добавить их с помощью навигатора. После их заполнения данных нужно сохранить списки.
ЗАКЛЮЧЕНИЕ
Цель курсовой работы успешно выполнена.
Учет предусматривает получение, обработку, анализ и систематизацию как количественных, так и качественных данных, прежде всего показателей работы библиотеки, и должен служить средством совершенствования содержания и организации библиотечного труда. Он должен быть комплексным и повседневным, как сам и труд, и рассматриваться аппаратом управления библиотеки как органическая часть производственной деятельности. Без точного учета дающего полную и объективную информацию о действительном состоянии дел в библиотеке, нельзя принять правильное решение. Хорошо наложенный учет позволяет выработать эффективные решения следить за их выполнением, выявлять основные тенденции развития библиотечного фонда и использовать опыт и данные прошлых лет.
Необходимо сказать о том, что контроль обеспечивает обратную связь, то есть давать необходимую информацию о ходе и результатах выполнения работы которая позволяла бы сотрудникам сознательно управлять технологическими процессами.
ПРИЛОЖЕНИЕ А
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ExtCtrls, DBCtrls, XPMan, Menus, Grids,
DBGrids, DB, StdCtrls, Mask, ToolWin,Unit2, ExtDlgs,Unit3,Jpeg, DBTables;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
MainMenu1: TMainMenu;
N1: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
About1: TMenuItem;
XPManifest1: TXPManifest;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label1: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
ToolBar1: TToolBar;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ImageList1: TImageList;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit6: TDBEdit;
Label6: TLabel;
Label7: TLabel;
DBEdit8: TDBEdit;
DBEdit13: TDBEdit;
Label13: TLabel;
GroupBox1: TGroupBox;
DBEdit7: TDBEdit;
Label16: TLabel;
DBEdit14: TDBEdit;
TabSheet3: TTabSheet;
Label9: TLabel;
Label10: TLabel;
DBEdit10: TDBEdit;
DBEdit9: TDBEdit;
Label11: TLabel;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
Label14: TLabel;
DBGrid2: TDBGrid;
Label12: TLabel;
Label15: TLabel;
OpenPictureDialog1: TOpenPictureDialog;
DBEdit5: TDBEdit;
DBMemo1: TDBMemo;
N10: TMenuItem;
N11: TMenuItem;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
DBNavigator1: TDBNavigator;
DataSource1: TDataSource;
DBEdit2: TDBEdit;
Label8: TLabel;
Query2: TQuery;
Table2: TTable;
Label19: TLabel;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
procedure N8Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
save, fileSave: boolean;
fileName: String;
stDay: array[1..7] of string[11] = ('воскресенье','понедельник','вторник',
'среда','четверг','пятница','суббота');
stMonth: array[1..12] of string[8] = ('января','февраля','марта',
'апреля','мая','июня','июля',
'августа','сентября','октября',
'ноября','декабря');
implementation
{$R *.dfm}
procedure TForm1.N8Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
Form3.ShowModal;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Close();
end;
procedure TForm1.N10Click(Sender: TObject);
begin
Label5.Caption:='Yo`nalish:';
Label7.Caption:='Kurs:';
Label8.Caption:='Nomer:';
Label1.Caption:='Ismi:';
Label2.Caption:='Familya:';
Label3.Caption:='Otchestva:';
Label4.Caption:='Tugilgan yili:';
Label13.Caption:='Adres:';
Label16.Caption:='Telefon:';
Label9.Caption:='Kitob nomi:';
Label10.Caption:='Kitob mualifi:';
Label12.Caption:='Kitob kodi:';
Label11.Caption:='Masul xodim:';
Label14.Caption:='Talabaning kitob olgan vaqti:';
Label15.caption:='Talabaning to`pshirgan vaqti:';
TabSheet1.Caption:='Asosiy malumotlar';
TabSheet3.Caption:='Kitoblar';
GroupBox1.Caption:='Qo`shimcha malumot';
N1.Caption:='Fayl';
n6.Caption:='Chiqish';
n8.Caption:='Qidirish';
n10.Caption:='Lotincha tilda';
n11.Caption:='Rus tilda';
n9.Caption:='Yordam';
Form2.RadioButton6.Caption:='Yo`nalish';
Form2.RadioButton4.Caption:='kurs';
Form2.RadioButton8.Caption:='Guruh';
Form2.RadioButton1.Caption:='Ism';
Form2.RadioButton2.Caption:='Familya';
Form2.RadioButton5.Caption:='Adres';
Form2.RadioButton7.Caption:='Kitob';
n7.Caption:='Tuzatish';
end;
procedure TForm1.N11Click(Sender: TObject);
begin
Label5.Caption:='Направления:';
Label7.Caption:='Курс:';
Label8.Caption:='Номер:';
Label1.Caption:='Имя:';
Label2.Caption:='Фамилия:';
Label3.Caption:='Отчество:';
Label4.Caption:='Дата рождения:';
Label13.Caption:='Адрес:';
Label13.Caption:='Телефон:';
Label9.Caption:='Имя книги:';
Label10.Caption:='Автор книги:';
Label12.Caption:='Код книги:';
Label11.Caption:='Ответсини литсо:';
Label14.Caption:='Время получение книги студента:';
Label15.caption:='Дата возврата книга студента:';
GroupBox1.Caption:='Дополнительная информация';
N1.Caption:='Файл';
n6.Caption:='Выход';
n8.Caption:='Поиск';
n10.Caption:='Язык латин';
n11.Caption:='Язык Рус';
n9.Caption:='Помищь';
TabSheet1.Caption:='Оснавная информация';
TabSheet3.Caption:=' Книги ';
N7.Caption:='Правка';
Form2.RadioButton6.Caption:='Направления ';
Form2.RadioButton4.Caption:='Курс ';
Form2.RadioButton8.Caption:='Группы';
Form2.RadioButton1.Caption:='Имя';
Form2.RadioButton2.Caption:='Фамилия';
Form2.RadioButton5.Caption:='Адрес';
Form2.RadioButton7.Caption:='Книга';
end;
procedure TForm1.FormActivate(Sender: TObject);
var
Present: TDateTime;
Year, Month, Day: Word;
begin
with Session do
begin
ConfigMode:= cmSession;
try
AddStandardAlias('kollej',
ExtractFilePath(ParamStr(0))+'DATA\',
'PARADOX');
Table2.Active:=True;
finally
ConfigMode:= cmAll;
end;
end;
end;
procedure TForm1.ToolButton8Click(Sender: TObject);
begin
DataSource1.DataSet:=Table2;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, StdCtrls, Buttons, ComCtrls, Mask, ExtCtrls, DB,
DBTables;
type
TForm2 = class(TForm)
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Panel1: TPanel;
RadioButton6: TRadioButton;
RadioButton4: TRadioButton;
RadioButton8: TRadioButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton5: TRadioButton;
RadioButton7: TRadioButton;
Edit1: TEdit;
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
fam:string[30];
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
if RadioButton6.Checked then begin
fam:=Edit1.Text;
if fam <> '' // пользователь ввел фамилию
then
begin
with form1.Query2 do begin
Close; // закрыть файл-результат выполнения предыдущего запроса
SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Yonalish= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open; // активизируем выполнение запроса
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2 // отобразить рез-т выполнения запроса
else begin
ShowMessage('Bunday Yo`nalish mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton4.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Kurs= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday Kurs mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton8.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Guruh= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday Guruh mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton1.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Ism= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday Ismli talaba mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton2.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Fam= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday Familyali talaba mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton5.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Adres= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday Adres mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton7.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(K_nom= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday kitob mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm3 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
end.
Дата добавления: 2015-08-17; просмотров: 90 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ | | | Стельки с турмалином для повседневной носки |