Вход

Разработка информационной системы для автоматизации деятельности библиотеки на примере "МБОУ СОШ №16 г.Екатеринбурга"

Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код 168772
Дата создания 2012
Страниц 104
Источников 17
Мы сможем обработать ваш заказ (!) 27 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
4 570руб.
КУПИТЬ

Содержание

Содержание
ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
ВВЕДЕНИЕ
АНАЛИТИЧЕСКИЙ РАЗДЕЛ
Характеристика предприятия
Организационная структура
Бизнес-процессы предметной области
Законодательные акты
ПРОЕКТНЫЙ РАЗДЕЛ
Этапы жизненного цикла проекта автоматизации
Ожидаемые риски на этапах жизненного цикла проекта
Задачи проекта
ПРОГРАММНЫЙ РАЗДЕЛ
Выбор языка программирования
Нормализация БД
Установка СУБД
Словарь используемых терминов
Описание аппаратных и программных средств
Внутренняя структура данных
Структура программы
Алгоритм работы программы
Пользователи АИС и их права
ИНВЕСТИЦИОННЫЙ РАЗДЕЛ
Этапы разработки системы
Расчет стоимости системы
Расчет затрат на внедрение системы
Расчет экономической эффективности
Расчет срока окупаемости
Выводы об экономической эффективности
ЗАКЛЮЧЕНИЕ
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
ПРИЛОЖЕНИЕ

Фрагмент работы для ознакомления

Среднее количество рабочих дней в месяц принимаем равным 22 дням. Ставка разработчика при восьмичасовом рабочем дне рассчитывается по формуле:Ср=Ор/(22*8), (1)где Ср – стоимость часа работы, рублей; Ор – оклад сотрудника, рублей.Подставив в формулу (1) числовые значения получим 85 рублей/час. Расчеты стоимости работ по проектированию и разработке системы приведены в таблице 6.Таблица 6Расчет стоимости проектирования и разработки системыВид работЧасовКоэффициент доработкиИтого, часовИтого, рублейПроектирование системы481,257,604896Доработка БД1241,3161,2013702Разработка интерфейса961,3124,8010608Тестирование441,252,804488Техническая документация321,135,202992Итого36686По формуле (2) вычисляется полная стоимость разработки программного продукта.S=Sр*Kн, (2)где S – полная расчетная стоимость системы, рублей; Sp – расчетная стоимость системы по таблице 4.1; Kн – налоговый коэффициент (константа, Kн = 1, 40).Таким образом, подставив в формулу (2) числовые значения, получим полную стоимость разработки системы S = 51360,4 рублей.Расчет затрат на внедрение системыПри расчете затрат на внедрение системы необходимо подсчитать капитальные и дополнительные затраты.К капитальным затратам относятся: затраты на закупку лицензий на рабочие места;затраты на закупку оборудования;затраты на закупку программного обеспечения;оплата услуг по разработке и внедрению системы.Внедрение системы будет производиться собственным программистом при бесплатной технической поддержке со стороны разработчика по e-mail и телефону. Расчет капитальных затрат на установку и внедрение системы для предприятия приведен в таблице 7.Таблица 7Капитальные затратыНаименованиеКоличество, штукСумма, рублейПерсональный компьютер (в комплекте)130000,00Office профессиональный 2010122070,00Услуги по внедрению системы-0,00Разработанная АИС-51360,40Итого103430,4Далее приведем расчет дополнительных текущих затрат. К ним относятся затраты на поддержание системы в рабочем состоянии: составляющая заработной платы сотрудника, отвечающего за функционирование системы; социальное страхование; амортизационные отчисления; прочие затраты.Для работы системы предприятию не требуется дополнительный сотрудник. В обязанности штатного сотрудника будет также входить поддержка системы.На сопровождение системы выделено 10 % от заработной платы этого сотрудника, что составляет 1500 рублей в месяц. Исходя из этого, годовой фонд заработной платы сотрудника, выделенный на сопровождение системы, составит 198000 рублей.В социальное страхование входит взнос равный 26,2 % от фонда заработной платы. Эти затраты рассчитываются по формуле:С=Фзп*Сст(3)где С – отчисления на страхование, рублей/год;Фзп – годовой фонд заработной платы, рублей;Сст – социальный страховой взнос;В итоге, подставив в формулу (4.3) числовые значения, получим сумму 4323 рублей. Далее найдём сумму амортизационных отчислений на оборудование (таблица 8).Таблица 8 Амортизация оборудованияОборудованиеСметная стоимость, рублейНормативный срок службы, летАмортизация за год, рублейПерсональный компьютер (в комплекте)30000,0056000,00Итого6000,00Кроме амортизационных отчислений на оборудование, необходимо рассчитать отчисления на программное обеспечение (таблица 9).Таблица 9Амортизация программного обеспеченияОборудованиеСметная стоимость, рублейНормативный срок службы, летАмортизация за год, рублейOffice профессиональный 201022070,0054414,00Разработанная система36686,00312228,67Итого16643,67Найдем сумму амортизационных отчислений по формуле (4).А=Аоб+Апо,(4)где А – амортизация, рублей/год;Аоб – амортизация оборудования, рублей;Апо – амортизация программного обеспечения, рублей.В итоге, подставив в формулу (4.4) числовые значения, получим сумма 18229,67 рублей в год.Прочие затраты (состоящие только из затрат на электроэнергию) вычислим по формуле:Сэл = К*W*Ц* (365*24),(5)где Сэл – затраты на электроэнергию, рублей/год;К – количество компьютеров (равно 1);W – удельная потребляемая мощность (равна 0,4 кВт/час);Ц – цена 1кВт/час (равна 2 рубля).В итоге, подставив в формулу (4.5) числовые значения, получим сумма 7008,00 рублей в год.Суммарные данные по дополнительным текущим затратам приведены в таблице 10.Таблица 10Дополнительные текущие затратыНаименованиеСумма, рублейФонд заработной платы16500,00Социальное страхование4323,00Амортизация16643,67Прочие затраты7008,00Итого44474,67Расчет экономической эффективностиЭкономическая эффективность инвестиционного проекта оценивается в течение расчетного периода, для настоящего проекта – 1 год.В результате внедрения системы опытным путем выявлено, что временные затраты сотрудника, занимающегося занимающего выдачей книг, уменьшились на 50 %. Окладная часть заработной платы сотрудника 15000 рублей, соответственно цена 1 часа работы составляет 85 рублей.Расчет годового экономического эффекта представлен в таблице 11.Таблица 11Годовой экономический эффектДовнедрения системыПосле внедрения системыВеличина сниженияВремя, % 100,0050,0050,00Время, часов в год2112,001056,001056,00Стоимость часа работы сотрудника, рублей/час85,0085,000Затраты в год, рублей179520,0089760,0089760,00Таким образом, годовой экономический эффект составил 89760,00 рублей.Метод оценки эффективности включает в себя определение следующих показателей:простую норму прибыли;срок окупаемости.Простая норма прибыли рассчитывается по формуле (6) как отношение годового экономического эффекта за вычетом дополнительных текущих затрат к капитальным затратам: ПНП = (Эг - Сдоп)/Скап*100 %, (6)где Эг – годовой экономический эффект, рублей/год;Сдоп – сумма дополнительных затрат, рублей/год;Скап – сумма капитальных затрат, рублей;После подстановки численных данных простая норма прибыли получилась равной 43,48 %.Простая норма прибыли заключается в оценке того, какая часть капитальных затрат возмещается в виде прибыли в течение одного интервала планирования.Расчет срока окупаемостиСрок окупаемости – это продолжительность периода, в течение которого проект будет работать «на себя». Данный параметр рассчитывается по формуле (7).Ток = Скап/(Эг - Сдоп), (7)где Ток – срок окупаемости, лет.После подстановки в формулу (7) численных данных, получим срок окупаемости системы равный – 2,28 года.Выводы об экономической эффективностиПо результатам формального анализа экономической эффективности системы можно сделать следующие выводы:эффективность от внедрения системы составляет 43,48 %;срок окупаемости системы составляет 2 года 4 месяца, что меньше 3 лет, рекомендуемых для программных продуктов.Полученные значения экономических показателей позволяют сделать вывод о том, что введение в эксплуатацию программы автоматизации школьной библиотеки является экономически целесообразным, так как происходит значительная экономия времени и человеческих ресурсов, а величина снижения годовых затрат составляет значительную сумму, несмотря на немалый срок окупаемости системы.ЗаключениеЛюбая информационная система в зависимости от ее назначения имеет дело с той или иной частью реального мира, которую принято называть предметной областью системы. Исследование предметной области является необходимым начальным этапом разработки информационной системы. Именно на этом этапе определяются информационные потребности всей совокупности пользователей будущей системы, которые в свою очередь, предопределяют содержание ее базы данных.Под АИС понимается взаимосвязанная совокупность информации, автоматизированных информационных технологий, а также обеспечивающих их реализацию программно-технических средств и специалистов, предназначенная для эффективного выполнения комплекса работ, необходимых информационным субъектам – пользователям АИС в их деятельности.В дипломной работе дана общая характеристикашкольной библиотеки, перечислены бизнес-процессы предметной области, определен процесс выдачи книг учащимся как бизнес-процесс, подлежащий автоматизации, рассмотрены законодательные акты, относящиеся к авторскому праву, приведено обоснование BorlandDelphi 7 как языка программирования, MSSQLServerExpress 2005 как СУБД, проведено тестирование созданного программного продукта.В дипломном проекте определена экономическая эффективность от реализации АИС для школьной библиотеки, исходя из которой можно сделать вывод, что введение в эксплуатацию данной системы является экономически целесообразным, так как происходит значительная экономия времени и человеческих ресурсов, а величина снижения годовых затрат составляет значительную сумму. Цель дипломной работы достигнута, так как реализованы все задачи, которые необходимо было решить. Тестирование разработанной АИС показало корректную работу приложения на введенных данных. Библиографический списокАрхангельский, А.Я. Программирование в Delphi 7 / А.Я. Архангельский– Бином-Пресс, 2003. – 1152 с. – ISBN   5-9518-0042-0.Архангельский, А.Я. Delphi 2006. Справочное пособие. Язык Delphi, классы, функции Win32 и .NET / А.Я. Архангельский– Бином-Пресс, 2003. – 1152 с. – ISBN   5-9518-0138-9.Бакнелл, Д. Фундаментальные алгоритмы и структуры данных в Delphi / Д. Бакнелл – СПб.: Питер, 2006. – 560 с. – ISBN 5-469-01495-9, 5-93772-087-3.Бобровский, С.И. Delphi 7. Учебный курс / С.И. Бобровский – СПб.: Питер, 2008. – 736 с.: ил. – ISBN 978-5-8046-0086-1.Грабер, М. Введение в SQL / Пер. с англ. В. Ястребов – Издательство «Лори», 1996. – 380 с. – ISBN: 5-85582-010-6.Дарахвелидзе, П.Г., Марков, Е. П. Программирование в Delphi 7 / П.Г. Дарахвелидзе, Е. П.Марков.– СПб.: БХВ-Петербург, 2003. – 784 с. – ISBN 5-94157-116-Х.Кадлец, В. Delphi. Книга рецептов. Практические примеры, трюки и секреты / В. Кадлец– СПб.: Наука и техника, 2006. – 384 с. – ISBN 5-94387-269-8, 80-251-0017-0.Карпов, Б. Delphi: специальный справочник / Б. Карпов – СПб.: Питер, 2002. – 688 с.: ил. – ISBN 5-272-00353-5.Кузин, А. В. Базы данных: учеб.пособие для студ. высш. учеб. заведений / А.В. Кузин, С.В. Левонисова. – 2-е изд., стер. – М.: Издательский центр «Академия», 2008. – 320 с. ISВN 978-5-7695-4833-8.Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник / А.С. Марков, К.Ю. Лисовский – М.: Финансы и статистика, 2006. – 512 с: ил. – ISBN 5-279-02298-5.Стивенс, Р. Delphi. Готовыеалгоритмы / Р. Стивенс – М.: ДМКПресс; СПб.: Питер, 2004. - 384 с.: ил. –ISBN 5-94074-202-5.Фленов, М.Е. Библия Delphi. / М.Е. Фленов – СПб.: БХВ-Петербург, 2005.– 880 с. –ISBN 5-94157-456-8.Фленов, М.Е. Программирование в Delphi глазами хакера. / М.Е. Фленов – СПб.: БХВ-Петербург, 2005.– 368 с.: ил. –ISBN 5-94157-351-0.Хармон, Э. Разработка COM-приложений в среде Delphi / Э. Хармон– Вильямс, 2000.– 464 с.: ил. – ISBN 5-8459-0074-3, 1-57870-221-6.Шумаков, П.В. Delphi 3 и разработка приложений баз данных / П.В. Шумаков. – М.: Нолидж, 1999. – 704 с.: ил. – ISBN 5-89251-022-0.Шпак, Ю. А. Delphi 7 на примерах / Ю. А. Шпак. – М.: Юниор, 2003. – 344 с. –ISBN 966-7323-28-5.[Электронный ресурс]. - Режим доступа:http://www.consultant.ru/popular/gkrf4/79_2.htmlПриложениеТекст процедур и функцийunit lib;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBGrids, DB, ADODB, IniFiles, TeEngine, Series, TeeProcs, Chart, ComCtrls, DBCtrls, dbcgrids, CheckLst, StdCtrls, ExtCtrls, Grids, Buttons, Spin, Mask, Menus, ImgList, ComObj, ShellApi, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, IdMessage;type TForm1 = class(TForm) ADC: TADOConnection; MainMenu1: TMainMenu; PageControl1: TPageControl; TabSheet1: TTabSheet; ADOQuery1: TADOQuery; TabSheet2: TTabSheet; TabSheet3: TTabSheet; DataSource3: TDataSource; ADOTable3: TADOTable; Panel1: TPanel; DBGrid3: TDBGrid; DBNavigator3: TDBNavigator; Panel2: TPanel; Splitter1: TSplitter; DBGrid4: TDBGrid; DBNavigator4: TDBNavigator; ADOTable4: TADOTable; DataSource4: TDataSource; TabSheet4: TTabSheet; Panel3: TPanel; DBNavigator5: TDBNavigator; DataSource5: TDataSource; ADOTable5: TADOTable; DBGrid5: TDBGrid; Splitter2: TSplitter; Panel4: TPanel; DBGrid6: TDBGrid; DBNavigator6: TDBNavigator; DataSource6: TDataSource; ADOTable6: TADOTable; ADOTable6_: TAutoIncField; ADOTable6_2: TWideStringField; ADOTable6_3: TIntegerField; ADOTable6_4: TIntegerField; TabSheet5: TTabSheet; DataSource7: TDataSource; ADOTable7: TADOTable; DBGrid7: TDBGrid; DBNavigator7: TDBNavigator; ADOTable7_: TAutoIncField; ADOTable7_2: TIntegerField; ADOTable7_3: TIntegerField; ADOTable7_4: TSmallintField; ADOTable6_5: TStringField; ADOTable6__: TStringField; TabSheet6: TTabSheet; DataSource8: TDataSource; Panel5: TPanel; Panel6: TPanel; Edit2: TEdit; Label1: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; ADOTable8: TADOTable; Panel7: TPanel; Panel8: TPanel; DBGrid8: TDBGrid; DBNavigator8: TDBNavigator; Splitter3: TSplitter; DataSource9: TDataSource; DBNavigator9: TDBNavigator; ADOTable9: TADOTable; ADOTable9_: TAutoIncField; ADOTable9_2: TIntegerField; ADOTable9_3: TDateTimeField; ADODataSet1: TADODataSet; DataSource2: TDataSource; OpenDialog1: TOpenDialog; Panel9: TPanel; SpinEdit1: TSpinEdit; BitBtn3: TBitBtn; Panel10: TPanel; DBGrid1: TDBGrid; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; DataSource1: TDataSource; DBNavigator1: TDBNavigator; CheckBox1: TCheckBox; ADOQuery2: TADOQuery; TabSheet7: TTabSheet; Panel11: TPanel; E_user: TEdit; E_pass: TEdit; Label8: TLabel; Label9: TLabel; BitBtn4: TBitBtn; DBCtrlGrid2: TDBCtrlGrid; Label10: TLabel; DBText1: TDBText; DBText2: TDBText; DBText3: TDBText; DBText4: TDBText; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; DBText5: TDBText; Label15: TLabel; DBText6: TDBText; Label16: TLabel; DBText7: TDBText; RadioGroup2: TRadioGroup; ADOTable1: TADOTable; ADODataSet1_: TIntegerField; ADODataSet1_2: TIntegerField; ADODataSet1_3: TDateTimeField; ADODataSet1_4: TDateTimeField; ADODataSet1___: TStringField; ADOTable4_: TAutoIncField; ADOTable4DSDesigner: TWideStringField; ADOTable3_: TAutoIncField; ADOTable3DSDesigner: TWideStringField; ADOTable8_: TAutoIncField; ADOTable8_2: TWideStringField; ADOTable8DSDesigner: TWideStringField; ADOTable8_3: TDateTimeField; DBCtrlGrid9: TDBCtrlGrid; DBEdit1: TDBEdit; Label17: TLabel; ADOTable5_: TAutoIncField; ADOTable5_2: TWideStringField; Label18: TLabel; DBEdit2: TDBEdit; StatusBar1: TStatusBar; StatusBar2: TStatusBar; RadioGroup1: TRadioGroup; BitBtn5: TBitBtn; CheckBox2: TCheckBox; ADOTable7__: TStringField; ADOTable7_5: TStringField;procedure excel_array(QQ:TDataSet;Page_Orientation:Integer;Title_Excel:String;Header_Excel:TStringList);function Col_name(i_col:Integer):String;procedure FormCreate(Sender: TObject);procedure BitBtn2Click(Sender: TObject);procedure BitBtn1Click(Sender: TObject);procedure BitBtn3Click(Sender: TObject);procedure ADODataSet1BeforePost(DataSet: TDataSet);procedure BitBtn4Click(Sender: TObject);procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);procedure DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);procedure DBGrid4DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);procedure DBGrid7DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);procedure DBGrid5DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);procedure DBGrid6DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);procedure DBGrid8DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);procedure DataSource9DataChange(Sender: TObject; Field: TField);procedure DBGrid1TitleClick(Column: TColumn);procedure BitBtn5Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);var server,bd : String;Ini : TIniFile; Layout: array[0.. KL_NAMELENGTH] of char;begin//переходналатиницуLoadKeyBoardLayout(StrCopy(Layout,'00000409'),KLF_ACTIVATE);Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'lib.ini');server:=Ini.ReadString('NAME_SERVER','name','.\SQLEXPRESS');bd:=Ini.ReadString('NAME_BD','name','LIBR');ShortDateFormat:='dd.mm.yyyy';DecimalSeparator:='.';//ADC.Connected:=False;ADC.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog='+bd+';Data Source='+server;tryADC.Connected:=True;except //попыткаподключениякБД master сцельюсозданияБД LIBRARYif Application.MessageBox('Создатьбазуданных?','Вопрос ',mb_YESNO+mb_ICONEXCLAMATION)=IDYES thenbegin ADC.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=master;Data Source='+server;try ADC.Connected:=True; ADC.Connected:=True; ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add('USE master'); ADOQuery1.ExecSQL; ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add('CREATE DATABASE LIBR_ ');ADOQuery1.SQL.Add('ON ( NAME = LIBR, FILENAME = '+QuotedStr(ExtractFilePath(Application.ExeName)+'libr.mdf'));ADOQuery1.SQL.Add(', SIZE = 4, MAXSIZE = 10, FILEGROWTH = 1 ); '); ADOQuery1.ExecSQL; ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add('USE LIBR;');ADOQuery1.SQL.Add('CREATE TABLE [dbo].[Авторы]( ');ADOQuery1.SQL.Add('[Код_автора] [int] IDENTITY(1,1) NOT NULL, ');ADOQuery1.SQL.Add('[ФИО_автора] [nchar](255) COLLATE Cyrillic_General_CI_AS NOT NULL, ');ADOQuery1.SQL.Add('CONSTRAINT [PK_Авторы] PRIMARY KEY CLUSTERED ');ADOQuery1.SQL.Add('([Код_автора] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ');ADOQuery1.SQL.Add(') ON [PRIMARY];');ADOQuery1.SQL.Add('CREATE TABLE [dbo].[Жанры]( ');ADOQuery1.SQL.Add('[Код_жанра] [int] IDENTITY(1,1) NOT NULL, ');ADOQuery1.SQL.Add('[Жанр] [nchar](48) COLLATE Cyrillic_General_CI_AS NOT NULL,');ADOQuery1.SQL.Add('CONSTRAINT [PK_Жанры] PRIMARY KEY CLUSTERED ');ADOQuery1.SQL.Add('( [Код_жанра] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ');ADOQuery1.SQL.Add(') ON [PRIMARY];');ADOQuery1.SQL.Add('CREATE TABLE [dbo].[Книги]( ');ADOQuery1.SQL.Add('[Код_книги] [int] IDENTITY(1,1) NOT NULL, ');ADOQuery1.SQL.Add('[Название_книги] [nchar](255) COLLATE Cyrillic_General_CI_AS NOT NULL, ');ADOQuery1.SQL.Add('[Код_автора] [int] NOT NULL, ');ADOQuery1.SQL.Add('[Код_жанра] [int] NOT NULL, ');ADOQuery1.SQL.Add('CONSTRAINT [PK_Книги] PRIMARY KEY CLUSTERED ');ADOQuery1.SQL.Add('([Код_книги] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ');ADOQuery1.SQL.Add(') ON [PRIMARY]; ');ADOQuery1.SQL.Add('ALTER TABLE [dbo].[Книги] WITH CHECK ADD CONSTRAINT [FK_Книги_Жанры] FOREIGN KEY([Код_жанра]) ');ADOQuery1.SQL.Add('REFERENCES [dbo].[Жанры] ([Код_жанра]);');ADOQuery1.SQL.Add('ALTER TABLE [dbo].[Книги] WITH CHECK ADD CONSTRAINT [FK_Книги_Авторы] FOREIGN KEY([Код_автора]) ');ADOQuery1.SQL.Add('REFERENCES [dbo].[Авторы] ([Код_автора])');ADOQuery1.SQL.Add('CREATE TABLE [dbo].[Издательства]( ');ADOQuery1.SQL.Add('[Код_издательства] [int] IDENTITY(1,1) NOT NULL, ');ADOQuery1.SQL.Add('[Издательство] [nchar](255) COLLATE Cyrillic_General_CI_AS NOT NULL, ');ADOQuery1.SQL.Add('CONSTRAINT [PK_Издательства] PRIMARY KEY CLUSTERED ');ADOQuery1.SQL.Add('([Код_издательства] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]');ADOQuery1.SQL.Add(') ON [PRIMARY]; ');ADOQuery1.SQL.Add('CREATE TABLE [dbo].[Экземпляр_книги]( ');ADOQuery1.SQL.Add('[Код_экземпляра] [int] IDENTITY(1,1) NOT NULL, ');ADOQuery1.SQL.Add('[Код_книги] [int] NOT NULL, ');ADOQuery1.SQL.Add('[Код_издательства] [int] NOT NULL, ');ADOQuery1.SQL.Add('[Год_выпуска] [smallint] NOT NULL, ');ADOQuery1.SQL.Add('CONSTRAINT [PK_Экземпляр_книги] PRIMARY KEY CLUSTERED ');ADOQuery1.SQL.Add('([Код_экземпляра] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]');ADOQuery1.SQL.Add(') ON [PRIMARY]; ');ADOQuery1.SQL.Add('ALTER TABLE [dbo].[Экземпляр_книги] WITH CHECK ADD CONSTRAINT [FK_Экземпляр_книги_Книги] FOREIGN KEY([Код_книги]) ');ADOQuery1.SQL.Add('REFERENCES [dbo].[Книги] ([Код_книги]); ');ADOQuery1.SQL.Add('ALTER TABLE [dbo].[Экземпляр_книги] WITH CHECK ADD CONSTRAINT [FK_Экземпляр_книги_Издательства] FOREIGN KEY([Код_издательства])');ADOQuery1.SQL.Add('REFERENCES [dbo].[Издательства] ([Код_издательства]); ');ADOQuery1.SQL.Add('CREATE TABLE [dbo].[Учащиеся]( ');ADOQuery1.SQL.Add('[Код_учащегося] [int] IDENTITY(1,1) NOT NULL, ');ADOQuery1.SQL.Add('[ФИО_учащегося] [nchar](255) COLLATE Cyrillic_General_CI_AS NOT NULL, ');ADOQuery1.SQL.Add('[Класс] [nchar](48) COLLATE Cyrillic_General_CI_AS NOT NULL, ');ADOQuery1.SQL.Add('[Дата_рождения] [smalldatetime] NOT NULL ');ADOQuery1.SQL.Add('CONSTRAINT [PK_Учащиеся] PRIMARY KEY CLUSTERED ');ADOQuery1.SQL.Add('([Код_учащегося] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]');ADOQuery1.SQL.Add(') ON [PRIMARY]; ');;ADOQuery1.SQL.Add('CREATE TABLE [dbo].[Читательский_билет]( ');ADOQuery1.SQL.Add('[Код_билета] [int] IDENTITY(1,1) NOT NULL, ');ADOQuery1.SQL.Add('[Код_учащегося] [int] NOT NULL, ');ADOQuery1.SQL.Add('[Дата_оформления] [smalldatetime] NOT NULL ');ADOQuery1.SQL.Add('CONSTRAINT [PK_Читательский_билет] PRIMARY KEY CLUSTERED ');ADOQuery1.SQL.Add('([Код_билета] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]');ADOQuery1.SQL.Add(') ON [PRIMARY]; ');ADOQuery1.SQL.Add('ALTER TABLE [dbo].[Читательский_билет] WITH CHECK ADD CONSTRAINT [FK_Читательский_билет] FOREIGN KEY([Код_учащегося]) ');ADOQuery1.SQL.Add('REFERENCES [dbo].[Учащиеся] ([Код_учащегося]); ');ADOQuery1.SQL.Add('CREATE TABLE [dbo].[Выдача_возврат]( ');ADOQuery1.SQL.Add('[Код_билета] [int] NOT NULL, ');ADOQuery1.SQL.Add('[Код_экземпляра] [int] NOT NULL, ');ADOQuery1.SQL.Add('[Дата_выдачи] [smalldatetime] NOT NULL, ');ADOQuery1.SQL.Add('[Дата_возврата] [smalldatetime] NULL ');ADOQuery1.SQL.Add(') ON [PRIMARY]; ');ADOQuery1.SQL.Add('ALTER TABLE [dbo].[Выдача_возврат] WITH CHECK ADD CONSTRAINT [FK_Выдача_возврат_Экземпляр_книги] FOREIGN KEY([Код_экземпляра]) ');ADOQuery1.SQL.Add('REFERENCES [dbo].[Экземпляр_книги] ([Код_экземпляра]); ');ADOQuery1.SQL.Add('ALTER TABLE [dbo].[Выдача_возврат] WITH CHECK ADD CONSTRAINT [FK_Выдача_возврат_Читательский_билет] FOREIGN KEY([Код_билета]) ');ADOQuery1.SQL.Add('REFERENCES [dbo].[Читательский_билет] ([Код_билета]); ');ADOQuery1.SQL.Add('CREATE UNIQUE NONCLUSTERED INDEX [PK_Выдача_возврат] ON [dbo].[Выдача_возврат] ');ADOQuery1.SQL.Add('([Код_билета] ASC,[Код_экземпляра] ASC,[Дата_выдачи] ASC ');ADOQuery1.SQL.Add(')WITH (PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY] ');ADOQuery1.SQL.SaveToFile('c:\1.txt'); ADOQuery1.ExecSQL;exceptApplication.MessageBox('Нетдоступаксерверу!','Сообщение',mb_Ok+mb_ICONINFORMATION); Application.Terminate;end;endelsebeginApplication.MessageBox('Работаприложениязавершена!','Сообщение',mb_Ok+mb_ICONINFORMATION); Application.Terminate;end;end;LoadKeyBoardLayout(StrCopy(Layout,'00000419'),KLF_ACTIVATE);PageControl1.Align:=AlClient;DBCtrlGrid2.Align:=AlClient;//DBGrid2.Align:=AlClient;DBGrid3.Align:=AlClient;ADOTable3.Open;DBGrid4.Align:=AlClient;ADOTable4.Open;DBGrid5.Align:=AlClient;ADOTable5.Open;DBGrid6.Align:=AlClient;ADOTable6.Open;DBGrid7.Align:=AlClient;ADOTable7.Open;DBGrid8.Align:=AlClient;ADOTable8.Open;//DBGrid9.Align:=AlClient;ADOTable9.Open;DBCtrlGrid9.Align:=AlClient;DBGrid1.Align:=AlClient;//DBGrid2.Align:=AlClient;PageControl1.ActivePageIndex:=0;Label5.Caption:='';Label6.Caption:='';Label7.Caption:='';end;procedure TForm1.BitBtn2Click(Sender: TObject);begin//поисккниг ADOQuery2.Close; ADOQuery2.SQL.Clear;ADOQuery2.SQL.Add('SELECT dbo.Авторы.ФИО_автора, dbo.Книги.Название_книги, ');ADOQuery2.SQL.Add('dbo.Жанры.Жанр, dbo.Издательства.Издательство,');ADOQuery2.SQL.Add('dbo.Экземпляр_книги.Год_выпуска, dbo.Экземпляр_книги.Код_экземпляра ');ADOQuery2.SQL.Add(', (select max(dbo.Выдача_возврат.Дата_выдачи) ');ADOQuery2.SQL.Add('FROM dbo.Выдача_возврат ');ADOQuery2.SQL.Add('WHERE dbo.Выдача_возврат.Код_экземпляра=dbo.Экземпляр_книги.Код_экземпляра ');ADOQuery2.SQL.Add('AND dbo.Выдача_возврат.Дата_возврата IS NULL) as Дата_выдачи ');ADOQuery2.SQL.Add('FROM dbo.Экземпляр_книги INNER JOIN ');ADOQuery2.SQL.Add('dbo.Книги ON dbo.Экземпляр_книги.Код_книги = dbo.Книги.Код_книги INNER JOIN ');ADOQuery2.SQL.Add('dbo.Авторы ON dbo.Книги.Код_автора = dbo.Авторы.Код_автора INNER JOIN ');ADOQuery2.SQL.Add('dbo.Жанры ON dbo.Книги.Код_жанра = dbo.Жанры.Код_жанра INNER JOIN ');ADOQuery2.SQL.Add('dbo.Издательства ON dbo.Экземпляр_книги.Код_издательства = dbo.Издательства.Код_издательства ');ADOQuery2.SQL.Add('WHERE 1=1 ');if (CheckBox2.Checked) thenbegin DBText7.Visible:=True; Label16.Visible:=True;endelsebeginADOQuery2.SQL.Add(' AND (select max(dbo.Выдача_возврат.Дата_выдачи) ');ADOQuery2.SQL.Add('FROM dbo.Выдача_возврат ');ADOQuery2.SQL.Add('WHERE dbo.Выдача_возврат.Код_экземпляра=dbo.Экземпляр_книги.Код_экземпляра ');ADOQuery2.SQL.Add('AND dbo.Выдача_возврат.Дата_возврата IS NULL) IS NULL '); DBText7.Visible:=False; Label16.Visible:=False;end;if (trim(Edit2.Text)<>'') thenbeginif (RadioGroup2.ItemIndex=0) thenADOQuery2.SQL.Add('AND ФИО_автора like '+QuotedStr('%'+trim(Edit2.Text)+'%'));if (RadioGroup2.ItemIndex=1) thenADOQuery2.SQL.Add('AND Название_книги like '+QuotedStr('%'+trim(Edit2.Text)+'%'));end; //ShowMessage(ADOQuery2.SQL.Text);if (RadioGroup1.ItemIndex=0) thenADOQuery2.SQL.Add('ORDER BY dbo.Авторы.ФИО_автора ');if (RadioGroup1.ItemIndex=1) thenADOQuery2.SQL.Add('ORDER BY dbo.Книги.Название_книги ');if (RadioGroup1.ItemIndex=2) thenADOQuery2.SQL.Add('ORDER BY dbo.Жанры.Жанр ');if (RadioGroup1.ItemIndex=3) thenADOQuery2.SQL.Add('ORDER BY dbo.Издательства.Издательство ');if (RadioGroup1.ItemIndex=4) thenADOQuery2.SQL.Add('ORDER BY dbo.Экземпляр_книги.Год_выпуска '); ADOQuery2.Open;StatusBar2.Panels[0].Text:='Всегокнигпозапросу: '+IntToStr(ADOQuery2.RecordCount);end;procedure TForm1.BitBtn1Click(Sender: TObject);//загрузкаизфайла Excelvar MSExcel : Variant; name_xls : String;i, j, k : Integer;begin//добавитьиз ExcelOpenDialog1.InitialDir:=ExtractFilePath(paramstr(0));if (OpenDialog1.Execute) then name_xls:=OpenDialog1.FileNameelsebeginexit;end;tryMSExcel := CreateOleObject('Excel.Application');exceptShowMessage('Невозможнаработас Microsoft Excel!');exit;end;Screen.Cursor:=crHourGlass;MSExcel.WorkBooks.Open(name_xls);j:=0;k:=0; //данныесо 2 строкиfor i:=2 to 65000 dobeginif (trim(MSExcel.Sheets[1].Cells[i,1].Text)='') then break; ADOQuery1.SQL.Text:='INSERT INTO dbo.Учащиеся (ФИО_учащегося,Класс,Дата_рождения) values ('+ QuotedStr(MSExcel.Sheets[1].Cells[i,1].Text)+','+QuotedStr(MSExcel.Sheets[1].Cells[i,2].Text)+','+QuotedStr(MSExcel.Sheets[1].Cells[i,3].Text)+')';tryj:=j+1; ADOQuery1.ExecSQL;k:=k+1;except on E:Exception dobeginShowMessage(E.Message);end;end;end;MSExcel.Quit;ADOTable8.Close;ADOTable8.Open;Screen.Cursor:=crDefault;ShowMessage('Всегострок: '+IntToStr(j)+'. Записано: '+IntToStr(k)+'.');end;procedure TForm1.BitBtn3Click(Sender: TObject);begin//поиск по читательскому билетуLabel5.Caption:='';Label6.Caption:='';Label7.Caption:='';DBGrid1.Visible:=True;ADODataSet1.Close; ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add('SELECT dbo.Учащиеся.ФИО_учащегося,dbo.Учащиеся.Класс,dbo.Читательский_билет.Дата_оформления FROM dbo.Читательский_билет ');ADOQuery1.SQL.Add('INNER JOIN dbo.Учащиеся ON dbo.Учащиеся.Код_учащегося=dbo.Читательский_билет.Код_учащегося ');ADOQuery1.SQL.Add('where Код_билета='+IntToStr(SpinEdit1.Value)); ADOQuery1.Open;if (ADOQuery1.RecordCount=1) thenbeginLabel5.Caption:=ADOQuery1.FieldByName('ФИО_учащегося').AsString; Label6.Caption:=ADOQuery1.FieldByName('Класс').AsString; Label7.Caption:=ADOQuery1.FieldByName('Дата_оформления').AsString;end else ShowMessage('Указанный номер читательского билета не найден!'); ADOQuery1.Close; ADODataSet1.CommandText:='select dbo.Выдача_возврат.Код_билета,dbo.Выдача_возврат.Код_экземпляра,dbo.Выдача_возврат.Дата_выдачи,dbo.Выдача_возврат.Дата_возврата '+ 'from dbo.Выдача_возврат where Код_билета='+IntToStr(SpinEdit1.Value);if (CheckBox1.Checked=False) then ADODataSet1.CommandText:=ADODataSet1.CommandText+' and Дата_возврата is NULL ';ADODataSet1.CommandText:=ADODataSet1.CommandText+' order by dbo.Выдача_возврат.Дата_выдачи,dbo.Выдача_возврат.Дата_возврата ';ADODataSet1.Open;StatusBar1.Panels[0].Text:='Всего: '+IntToStr(ADODataSet1.RecordCount);end;procedure TForm1.ADODataSet1BeforePost(DataSet: TDataSet);beginif (ADODataSet1.FieldByName('Код_билета').IsNull) thenADODataSet1.FieldByName('Код_билета').AsInteger:=SpinEdit1.Value;end;procedure TForm1.BitBtn4Click(Sender: TObject);begin//добавление нового пользователя ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(' CREATE LOGIN ['+trim(E_user.Text)+ '] WITH PASSWORD=N'+ Quotedstr(trim(E_pass.Text)));ADOQuery1.SQL.Add(', DEFAULT_DATABASE=[LIBR], DEFAULT_LANGUAGE=[русский], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON ;');ADOQuery1.SQL.Add('CREATE USER ['+trim(E_user.Text)+'] FOR LOGIN ['+trim(E_user.Text)+'] WITH DEFAULT_SCHEMA=[dbo]; ');ADOQuery1.SQL.Add('GRANT SELECT ON dbo.Авторы TO '+ trim(E_user.Text)+';');ADOQuery1.SQL.Add('GRANT SELECT ON dbo.Жанры TO '+ trim(E_user.Text)+';');ADOQuery1.SQL.Add('GRANT SELECT ON dbo.Книги TO '+ trim(E_user.Text)+';');ADOQuery1.SQL.Add('GRANT SELECT ON dbo.Издательства TO '+ trim(E_user.Text)+';');ADOQuery1.SQL.Add('GRANT SELECT ON dbo.Экземпляр_книги TO '+ trim(E_user.Text)+';');ADOQuery1.SQL.Add('GRANT SELECT ON dbo.Учащиеся TO '+ trim(E_user.Text)+';');ADOQuery1.SQL.Add('GRANT SELECT, INSERT, UPDATE ON dbo.Читательский_билет TO '+ trim(E_user.Text)+';');ADOQuery1.SQL.Add('GRANT SELECT, INSERT, UPDATE ON dbo.Выдача_возврат TO '+ trim(E_user.Text)+';');try ADOQuery1.ExecSQL;ShowMessage('Пользователь '+trim(E_user.Text)+' добавлен!'); E_user.Text:=''; E_pass.Text:='';excepton e : Exception dobeginShowMessage('Ошибка при добавлении пользователя! '+e.Message);end;end;end;procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif (not ADODataSet1.Active) then exit;if (ADODataSet1.RecNo mod 2=0) then DBGrid1.Canvas.Brush.Color:=$00E8D7E7 //$00D3DBCAelse DBGrid1.Canvas.Brush.Color:= $00FCE2EE ;//$00D8D7CD;DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);end;procedure TForm1.DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif (ADOTable3.RecordCount=0) then exit;if (ADOTable3.RecNo mod 2=0) then DBGrid3.Canvas.Brush.Color:=$00E0DED8else DBGrid3.Canvas.Brush.Color:= $00E1EAEC;DBGrid3.DefaultDrawColumnCell(Rect,DataCol,Column,State);end;procedure TForm1.DBGrid4DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif (ADOTable4.RecordCount=0) then exit;if (ADOTable4.RecNo mod 2=0) then DBGrid4.Canvas.Brush.Color:=$00E2EEDBelse DBGrid4.Canvas.Brush.Color:=$00D9F0E9;DBGrid4.DefaultDrawColumnCell(Rect,DataCol,Column,State);end;procedure TForm1.DBGrid7DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif (ADOTable7.RecordCount=0) then exit;if (ADOTable7.RecNo mod 2=0) then DBGrid7.Canvas.Brush.Color:= $00DFE6EAelse DBGrid7.Canvas.Brush.Color:= $00D0DDE1;DBGrid7.DefaultDrawColumnCell(Rect,DataCol,Column,State);end;procedure TForm1.DBGrid5DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif (ADOTable5.RecordCount=0) then exit;if (ADOTable5.RecNo mod 2=0) then DBGrid5.Canvas.Brush.Color:=$00EAF0CAelse DBGrid5.Canvas.Brush.Color:= $00ECF2E1;DBGrid5.Canvas.Font.Color:=clBlack;DBGrid5.DefaultDrawColumnCell(Rect,DataCol,Column,State);end;procedure TForm1.DBGrid6DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif (ADOTable6.RecordCount=0) then exit;if (ADOTable6.RecNo mod 2=0) then DBGrid6.Canvas.Brush.Color:=$00E6F9F7else DBGrid6.Canvas.Brush.Color:= $00E3FBF8;DBGrid6.Canvas.Font.Color:=clBlack;DBGrid6.DefaultDrawColumnCell(Rect,DataCol,Column,State);end;procedure TForm1.DBGrid8DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif (ADOTable8.RecordCount=0) then exit;if (ADOTable8.RecNo mod 2=0) then DBGrid8.Canvas.Brush.Color:=$00F4DAD5else DBGrid8.Canvas.Brush.Color:=$00F9E8EC;DBGrid8.Canvas.Font.Color:=clBlack;DBGrid8.DefaultDrawColumnCell(Rect,DataCol,Column,State);end;procedure TForm1.DataSource9DataChange(Sender: TObject; Field: TField);beginif (ADOTable9.RecordCount<4) thenbegin DBCtrlGrid9.ColCount:=ADOTable9.RecordCount; DBCtrlGrid9.RowCount:=1; Panel7.Height:=100;endelsebegin DBCtrlGrid9.ColCount:=3; DBCtrlGrid9.RowCount:=round(ADOTable9.RecordCount/3+0.5); Panel7.Height:=100*DBCtrlGrid9.RowCount;end;end;procedure TForm1.DBGrid1TitleClick(Column: TColumn);beginif pos(Column.FieldName+' ',(Column.Grid.DataSource.DataSet as TADOTable).Sort)<>0 thenif pos(' DESC',(Column.Grid.DataSource.DataSet as TADOTable).Sort)<>0 then (Column.Grid.DataSource.DataSet as TADOTable).Sort:=Column.FieldName+' ASC'else (Column.Grid.DataSource.DataSet as TADOTable).Sort:=Column.FieldName+' DESC'else (Column.Grid.DataSource.DataSet as TADOTable).Sort:=Column.FieldName+' ASC'; (Column.Grid as TDBGrid).Refresh; (Column.Grid.DataSource.DataSet as TADOTable).First;end;procedure TForm1.BitBtn5Click(Sender: TObject);var varr : String; TT:TstringList;i : Integer;begin//выводв ExcelTT:=TStringList.Create;varr:='Списоккниг ';ADOQuery2.DisableControls;for i:=0 to ADOQuery2.Fields.Count-1 doTT.Add(ADOQuery2.Fields[i].FieldName);excel_array(ADOQuery2,1,varr,TT);ADOQuery2.EnableControls;end;function TForm1.Col_name(i_col:Integer):String;beginif i_col>255 then result:=''elsebeginif i_col<26 then result:=chr(65+i_col)elseresult:=chr((i_col div 26)+64)+chr((i_col mod 26)+65);end;end;procedure TForm1.excel_array(QQ:TDataSet;Page_Orientation:Integer;Title_Excel:String;Header_Excel:TStringList);var XL, TableVals,WorkBook : Variant; // Врем.массив для переноса значений в Excel i, LineCounter : Integer; // Счетчик строк для переноса записей в ExcelbeginTableVals:=VarArrayCreate([0, QQ.RecordCount-1,//кол-вострок 0, Header_Excel.Count-1], // кол-востолбцовvarVariant);QQ.First;LineCounter := 0;while not QQ.EOF dobeginfor i := 0 to Header_Excel.Count-1 dobeginif not QQ.Fields[i].IsNull thenTableVals[LineCounter, i] := QQ.Fields[i].AsStringelseTableVals[LineCounter, i] := '';end;LineCounter := LineCounter + 1;QQ.Next;end;XL := CreateOleObject('Excel.Application');WorkBook := XL.WorkBooks.Add;WorkBook := XL.WorkBooks[1] ; XL.Application.WindowState:=1;try XL.ActiveSheet.PageSetup.Orientation:=Page_Orientation;XL.ActiveSheet.PageSetup.LeftMargin:=0; XL.ActiveSheet.PageSetup.RightMargin:=0; XL.ActiveSheet.PageSetup.TopMargin:=0; XL.ActiveSheet.PageSetup.BottomMargin:=0;exceptend;XL.Cells.Select; XL.Selection.Font.Name:='Arial Cyr';XL.Selection.Font.Size:=8;XL.range['A1'].Select;XL.ActiveCell.FormulaR1C1:=Title_Excel;XL.Selection.Font.Size:=10;XL.Selection.Font.Bold:=True;for i:=0 to Header_Excel.Count-1 dobeginXL.range[col_name(i)+'2'].Select; XL.ActiveCell.FormulaR1C1:=Header_Excel[i];end;XL.Rows['2'].Select;XL.Selection.Font.Bold:=True;//данные с 3 строкиXL.Range[XL.Cells[3,1],XL.Cells[QQ.RecordCount+2,Header_Excel.Count]].Value := TableVals;XL.Range['A2:'+col_name(Header_Excel.Count-1)+IntToStr(QQ.RecordCount+2)].Select;XL.Selection.Columns.AutoFit;XL.Selection.Borders[7].LineStyle:=1;XL.Selection.Borders[8].LineStyle:=1;XL.Selection.Borders[9].LineStyle:=1;XL.Selection.Borders[10].LineStyle:=1;XL.Selection.Borders[11].LineStyle:=1;XL.Range['A1:'+col_name(Header_Excel.Count-1)+'1'].Select;XL.Selection.HorizontalAlignment:=-4108;XL.Selection.MergeCells:=True;XL.Range['A1:'+col_name(Header_Excel.Count-1)+IntToStr(QQ.RecordCount+2)].Select;XL.Selection.Font.Size:=8;XL.Visible := True;end;end.

Список литературы [ всего 17]

БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1.Архангельский, А.Я. Программирование в Delphi 7 / А.Я. Архангельский– Бином-Пресс, 2003. – 1152 с. – ISBN 5-9518-0042-0.
2.Архангельский, А.Я. Delphi 2006. Справочное пособие. Язык Delphi, классы, функции Win32 и .NET / А.Я. Архангельский– Бином-Пресс, 2003. – 1152 с. – ISBN 5-9518-0138-9.
3.Бакнелл, Д. Фундаментальные алгоритмы и структуры данных в Delphi / Д. Бакнелл – СПб.: Питер, 2006. – 560 с. – ISBN 5-469-01495-9, 5-93772-087-3.
4.Бобровский, С.И. Delphi 7. Учебный курс / С.И. Бобровский – СПб.: Питер, 2008. – 736 с.: ил. – ISBN 978-5-8046-0086-1.
5.Грабер, М. Введение в SQL / Пер. с англ. В. Ястребов – Издательство «Лори», 1996. – 380 с. – ISBN: 5-85582-010-6.
6.Дарахвелидзе, П.Г., Марков, Е. П. Программирование в Delphi 7 / П.Г. Дарахвелидзе, Е. П.Марков.– СПб.: БХВ-Петербург, 2003. – 784 с. – ISBN 5-94157-116-Х.
7.Кадлец, В. Delphi. Книга рецептов. Практические примеры, трюки и секреты / В. Кадлец– СПб.: Наука и техника, 2006. – 384 с. – ISBN 5-94387-269-8, 80-251-0017-0.
8.Карпов, Б. Delphi: специальный справочник / Б. Карпов – СПб.: Питер, 2002. – 688 с.: ил. – ISBN 5-272-00353-5.
9.Кузин, А. В. Базы данных: учеб.пособие для студ. высш. учеб. заведений / А.В. Кузин, С.В. Левонисова. – 2-е изд., стер. – М.: Изда¬тельский центр «Академия», 2008. – 320 с. ISВN 978-5-7695-4833-8.
10.Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник / А.С. Марков, К.Ю. Лисовский – М.: Финансы и статистика, 2006. – 512 с: ил. – ISBN 5-279-02298-5.
11.Стивенс, Р. Delphi. Готовыеалгоритмы / Р. Стивенс – М.: ДМКПресс; СПб.: Питер, 2004. - 384 с.: ил. –ISBN 5-94074-202-5.
12.Фленов, М.Е. Библия Delphi. / М.Е. Фленов – СПб.: БХВ-Петербург, 2005.– 880 с. –ISBN 5-94157-456-8.
13.Фленов, М.Е. Программирование в Delphi глазами хакера. / М.Е. Фленов – СПб.: БХВ-Петербург, 2005.– 368 с.: ил. –ISBN 5-94157-351-0.
14.Хармон, Э. Разработка COM-приложений в среде Delphi / Э. Хармон– Вильямс, 2000.– 464 с.: ил. – ISBN 5-8459-0074-3, 1-57870-221-6.
15.Шумаков, П.В. Delphi 3 и разработка приложений баз данных / П.В. Шумаков. – М.: Нолидж, 1999. – 704 с.: ил. – ISBN 5-89251-022-0.
16.Шпак, Ю. А. Delphi 7 на примерах / Ю. А. Шпак. – М.: Юниор, 2003. – 344 с. –ISBN 966-7323-28-5.
17.[Электронный ресурс]. - Режим доступа:http://www.consultant.ru/popular/gkrf4/79_2.html
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00489
© Рефератбанк, 2002 - 2024