Создание программы "Библиотека"
Технико-экономическое обоснование системы "Библиотека", назначение и область применения баз данных. Описание интерфейса, форм и спецификаций системы "Библиотека", разработка алгоритма, аппаратных и программных средств. Инсталляция системы "Библиотека".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.09.2018 |
Размер файла | 508,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Так как площадь рассматриваемого помещения составляет 28 м2, объем помещения - 70 м3, а максимальное число одновременно работающих - 2 человека, то на одного работающего приходится площадь 14 м2 и объем производственного помещения - 35 м3. Эти значения соответствуют требуемым параметрам.
Условия среды помещений определяются действующими на организм человека сочетаниями температуры, влажности и скорости движения воздуха и теплового облучения. Допустимые параметры, определяющие условия труда на рабочем месте, могут вызывать переходящие и быстро нормализующиеся изменения функционального и теплового состояния организма и напряжение реакции терморегуляции, не выходящие за пределы физиологической приспособленности организма, не создающие нарушений состояния здоровья, но вызывающие дискомфортные ощущения, ухудшение самочувствия и снижение работоспособности. Концентрация пыли в воздухе составляет не более 0,5 мг/м3. Оптимальные и допустимые параметры для рабочей зоны производственных помещений (то есть для пространства высотой до 2 м над уровнем пола). Выполняемые на рабочем месте работы относятся к категории легких физических с затратой энергии до 120 Ккал/ч (категория I), а рассматриваемое помещение - к помещениям с незначительными избытками явной теплоты (до 23 Вт/м2). Оптимальные параметры микроклимата приведены в таблице 8:
Таблица 8. Оптимальные нормы температуры, влажности и скорости движения воздуха в рабочей зоне производственных помещений
Период года |
Категория работ |
Температура, °С |
Влажность, % |
Скорость воздуха, м/с не более |
|
Холодный |
I |
21-24 |
60-40 |
0,1 |
|
Теплый |
I |
22-25 |
60-40 |
0,1; 0,2 |
Для обеспечения микроклиматических условий труда в помещении имеется система отопления и вентиляции,что обеспечивает поддержание оптимальных условий труда на рабочем месте.
Освещение рабочих мест. Свет имеет исключительно важное значение для человека, обеспечивая связь организма с окружающей средой.
В рассматриваемом помещении используется одностороннее естественное фронтальное освещение, осуществляемое через одно окно общей площадью 3 м2. Считается, что при работе с дисплеями площадь световых проемов в помещении должна составлять 25% площади пола. Площадь помещения 28 м2, значит, площадь световых проемов должна составлять 7 м2. Отсюда следует, что естественное освещение соответствует условиям труда.
Высота потолка и размещение светильников обеспечивают угол падения света, исключающий отраженную блескость; отсутствие прямой блескости обеспечивается оптимальным взаимным расположением рабочих мест и ламп дневного света. Кроме того, окраска мебели и цвет обоев исключает интенсивное отражение света.
Таким образом, освещение рабочего места соответствует нормам.
Анализ воздействия электромагнитных излучений. Основным источником различного вида излучений на рабочем месте являются мониторы. Их спектр излучения включает в себя рентгеновскую, ультрафиолетовую и инфракрасную области излучений, а также широкий диапазон электромагнитных волн более низких частот. Из вышеперечисленных излучений наиболее опасно рентгеновское, которое обладает большой проницаемостью.
На сегодня считается, что кратковременное и длительное воздействие всех видов излучений мониторов, особенно при наличии защитных экранов, не представляют опасности для здоровья оператора.
Рекомендуется применение мониторов, удовлетворяющих стандарту безопасности MPR II.
Максимальная напряженность на кожухе монитора Samsung SyncMaster 510s, который соответствует стандарту MPR II, составляет по паспортным данным 3,6 В/м, что соответствует фоновому уровню.
Интенсивность электромагнитного излучения в 5 см от экрана составляет 64 В/м, но на расстоянии 30 см, не превышает 2,4 В/м, что ниже, чем допустимый уровень. Это же можно сказать и об интенсивности ультрафиолетового и инфракрасного излучения.
Таким образом, при работе на расстоянии 40 - 50 см от экрана дисплея вредное воздействие исключено.
Анализ электробезопасности на рабочем месте. Электрический ток, действуя на организм человека, может вызвать нарушения его деятельности, вплоть до летального исхода. Тяжесть поражения определяется величиной протекающего через тело человека тока, частотой тока, длительностью протекания и другими факторами.
Рассматриваемое помещение относится к классу помещений без повышенной опасности поражения электрическим током, так как в данном помещении отсутствуют признаки повышенной или особой опасности (влажности, проводящей пыли, токоведущих оснований (металлических, земляных), повышенной температуры (длительное превышение 35 С или кратковременное превышение 40С) и т.д.
Возникновению вышеперечисленных факторов препятствуют:
соблюдение требований охраны труда на рабочем месте;
характер работ в помещении;
использование в качестве покрытия пола дерева.
Применяемая техника (компьютеры PC и принтеры HP Laser Jet 1100) относятся к электроустановкам напряжением до 1000 В, питание которых осуществляется от сети однофазного переменного тока напряжением 220 В, частотой 50 Гц. Напряжение подается через автоматический выключатель с силовым расцепителем, имеющим ток срабатывания 25 А. В мониторах компьютеров имеются и более высокие напряжения (до 25 кВ), которые надежно изолированы от оператора и не могут представлять опасности, доступ к цепям с таким напряжением возможен лишь при проведении ремонтных работ, которые осуществляются в специализированных ремонтных организациях специально подготовленным персоналом.
Устранить опасность поражения током при замыкании на корпус можно с помощью установки в помещении нулевого защитного проводника.
Занулением называется преднамеренное электрическое соединение с нулевым защитным проводником металлических нетоковедущих частей оборудования, которые могут оказаться под напряжением.
Нулевым защитным проводником называется проводник, соединяющий зануляемые части с глухозаземленной нейтральной точки источника питания или ее эквивалентом. Назначение нулевого защитного проводника - создание для тока короткого замыкания цепи с малым сопротивлением, чтобы этот ток был достаточным для быстрого срабатывания защиты, то есть быстрого отключения поврежденной установки от сети.
Кроме того, на рабочем месте человека работающего за персональным компьютером необходимо обеспечить защиту от статического электричества.
В вычислительных центрах разрядные токи статического электричества чаще всего возникают при прикосновении обслуживающего персонала к любому из элементов компьютера. Такие разряды могут привести к выходу из строя компьютера. Они оказывают неблагоприятное воздействие на работающих, ухудшают условия труда.
Для снижения величины возникающих разрядов статического электричества в ВЦ, покрытие технологических полов следует выполнять из однослойного антистатического линолеума марки АСН. К общим мерам защиты от статического
электричества в ВЦ можно отнести увлажнение воздуха (до 75%), ионизацию воздуха. Из всего вышесказанного можно сделать вывод о том, что помещение удовлетворяет условиям обеспечения электробезопасности.
Пожарная профилактика. Пожар - это неконтролируемое горение, развивающееся во времени и пространстве. Понятие пожарной безопасности означает состояние объекта, при котором с установленной вероятностью исключается возможность возникновения и развития пожара с воздействием на людей опасных факторов, а также обеспечивается защита материальных ценностей. Опасными факторами пожара для людей являются:
* открытый огонь;
* повышенные температуры воздуха и предметов;
* токсичные продукты горения;
* дым;
* пониженная концентрация кислорода;
* взрыв и т. д.
Все помещения по пожарной и взрывоопасности делятся на пять категорий:
* А, Б - взрывопожароопасные;
* В, Г, Д - пожароопасные.
Данное помещение относится к категории В - горючие и трудно горючие помещения, в которых в обращении имеются жидкости, твердые, горючие и трудно горючие вещества и материалы, способные при взаимодействии с кислородом воздуха или друг другом только гореть, при условии что помещения, в которых они находятся, не относятся к категориям А и Б.
При подходе к обеспечению пожарной безопасности особое внимание следует уделять наличию токоведущей проводки в помещении. Данное требование соблюдения условий пожарной безопасности вызвано тем фактом, что согласно статистическим данным 85% всех пожаров происходит именно по причине не качественно выполненной проводки.
Противопожарная профилактика:
наличие двух ручных порошковых огнетушителей, марки ОП-2М, предназначенных для тушения загорания с расстояния 2 м, при температуре 40-50 °С. Огнетушители хранятся в защищенном от солнечных лучей и нагревательных приборов месте, хорошо доступном при возникновении возгорания;
для отопления помещений используется центральное водяное отопление;
установлена система электрической пожарной сигнализации, два тепловых пожарных излучателя реагируют на повышение температуры окружающей среды до значения 80°С и выше в радиусе 3 м. Для помещений вычислительных центров рекомендуется использовать тепловые пожарные излучатели типа ДТЛ, АТП-ЗМ и др.;
помещение расположено в здании таким образом, что имеется как минимум два пути эвакуации, один из которых не может быть перекрыт огнем - пожарная лестница.
Анализ шума на рабочем месте. Шум - любой нежелательный для человека звук. Сильный шум в условиях производства снижает производительность труда до 40 - 60% и может явиться причиной несчастного случая. Нормируемой шумовой характеристикой рабочих мест при постоянном шуме является уровень звукового давления в октавных полосах, выраженный в децибелах. Совокупность таких уровней называется предельным спектром ПС, номер которого численно равен уровню звукового давления в октавной полосе со среднегеометрической частотой 1000 Гц.
В помещении установлено 2 компьютера 1 лазерный принтер. Уровень шума, издаваемый компьютером, составляет около 10 дБА, издаваемый принтером - около 15 дБА. Принтер является источником «механического» шума, вызванного бумагоподающим механизмом. Компьютер генерирует в основном аэродинамический шум, вызванный движением воздуха в системе охлаждения машины. Суммарный уровень шума, получаемый в результате наложения звуковых волн друг на друга, в рассматриваемом помещении составит 45 дБА, что ниже минимального уровня 50 дБА.
Эргономические требования. Персональный компьютер спроектирован с учетом необходимых для работы эргономических требований:
* имеется возможность поворота дисплея в горизонтальной и вертикальной плоскостях;
* нет жесткой связи клавиатуры с дисплеем;
* существует возможность регулировки яркости и контрастности на дисплее;
* обеспечивается удобное расположение кнопок на панели компьютера;
* клавиатура обеспечивает удобный угол наклона к поверхности стола - 150;
* мягкость нажатий клавиш на клавиатуре.
Принтер HP 1100 также удовлетворяет ряду эргономических требований:
* красивое оформление и окраска мягкого цвета;
* удобное расположение кнопок управления;
* простота и удобство смены картриджа;
* небольшие усилия при работе;
Рабочие места оборудованы легкими стульями, высота сиденья регулируется. Рабочий стол оператора имеет габариты: длина 1,25 м; ширина 0,7 м; высота 0,8 м. Высота поверхности не регулируется, что допускается нормами.
Вышеперечисленные характеристики обеспечивают минимальные затраты мускульной и нервной энергии оператора. Также обеспечивается рациональный режим труда и отдыха, установленный с учетом психофизической напряженности труда, динамики функционального состояния систем организма и работоспособности, кроме того предусматривается строгое соблюдение регламентированных перерывов. Для поддержания нормальной работоспособности работников рекомендуется продолжительность работы с монитором не более 50% рабочего времени, при этом время непрерывной работы не более 1,5-2 часов; время перерыва -15 мин.; и также время перерыв на обед - 40 мин. Все вышеперечисленные мероприятия по режиму работы и отдыха соблюдаются.
Рациональное цветовое оформление помещения направлено на улучшение санитарно-гигиенических условий труда, повышения его производительности и безопасности. Окраска производственных помещений влияет на нервную систему человека, его настроение, а также играет важную роль при организации системы освещения. Окраска стен не раздражает глаз и гармонирует с цветом технических средств.
3.2 Экономическая эффективность реализации проекта системы «Библиотека»
Формулы расчета затрат на проектирование системы:
,
где
- зарплата проектировщика;
- зарплата программиста;
- затраченное время;
- накладные расходы;
- прочие расходы;
О- отчисления (30% от суммы , и 10% в Пенсионный фонд).
Время на реализацию было затрачено: ЗВ= 2 месяца;
На разработку программы ушел 1 месяц;
На написание программы- 2 месяца.
Заработная плата специалистов по проектированию и разработке программного обеспечения за один месяц.
Фонд заработной платы проектировщика:
,
где
- общий фонд заработной платы проектировщиков,
- количество проектировщиков,
- заработная плата проектировщиков.
Фонд заработной платы программиста:
,
где
- общий фонд заработной платы программистов,
- количество программистов,
- заработная плата программистов.
В соответствии со штатным расписанием, заработная плата для проектировщика была назначена 35000 тг.,
программиста- 40000 тг.
Отчисления, таким образом, составляют:
О=0,3*(35000+40000)=22500тг.
Накладные расходы, связанные с выполнение нескольких тем по управлению и организации научно-исследовательских работ. Они включают:
- заработную плату руководителя проекта, с учетом отчислений на социальные нужды, за консультационный период составляют 5000 тг.;
- заработная плата консультантов, с учетом тех же отчислений, составляет 3500 тг.
Исходя из того, что за каждым студентом закреплен один научный руководитель и два консультанта, накладные расходы вычисляются следующим образом:
,
где
- зарплата руководителя проекта;
- количество консультантов,
- заработная плата консультанта проекта.
О- отчисления (30% от суммы );
(10% отчисления в пенсионный фонд и 5% подоходный налог)
- затраченное время на проектирование системы.
Отчисления на социальные нужды консультантов составляют:
(2*3500)*0,3=2100 тг.
Отчисления руководителя, соответственно:
5000*0,3=1500 тг.
Тогда сумма накладных расходов будет равна:
=(5000+2*3500+(1500+2100))*2= 31200 тг.
Прочие расходы включают в себя затраты на:
- расходы на использование средств связи и передачи информации, в том числе, Интернет;
- приобретение материалов, необходимых для разработки программного обеспечения.
Формула их расчета такова:
,
где
- расходы на машинное время;
- расходы на средства связи.
Формула расчета затрат на машинное время такова:
,
где
- стоимость затрат одного часа машинного времени, 50 тг/ 1 час;
- используемое время на проектирование системы.
Машинное время составляет 480 часов (8 часов установленного рабочего дня* 60 дней).
Таким образом: 50*480=24000 тг.
Расходы за использование средств связи и передачи информации (Интернет):
- почасовая оплата 120 тг/ 1 час;
- время использование Интернета для поиска и передачи информации составило 3 часа в день.
Таким образом, затраты на Интернет составили:
120*3*60=21600 тг.
Итого 24000+21600=45600 тг.
Суммарные затраты на проектирование системы.
= (35000+40000+22500)*2+31200+45600=271800 тг.
Заключение
Главным результатом проведенной работы является создание системы «Библиотека», которая выполняет требуемый круг задач, с которыми сталкиваются работники библиотеки по учёту и поиску имеющихся книг, ведение абонементных карт.
Реализация данного проекта была проведена с привлечением мощного средства работы с базами данных СУБД Access, предназначенного для управления, проектирования и разработки баз данных.
Использование мощных средств Delphi 7 по созданию приложений, работающих в графической среде Windows, позволило создать системный продукт максимально ориентированный на конечного пользователя, который не искушен в вопросах теории баз данных.
Вся необходимая работа по осуществлению методов доступа к информации хранимой в базе данных, её модификации, поддержании базы данных в целостном виде скрыта внутри и пользователю нет необходимости знать о ней, чтобы успешно решать весь круг возникающих задач связанных с использованием информации хранимой базе данных. Более того, системный интерфейс максимально облегчает работу по обращению с базой данных (вплоть до выбора из предложенного числа вариантов по запросу пользователя). Даже обращение к базе данных со сложными запросами осуществляется в таком виде, что структура возвращаемых данных видна еще до его исполнения. СУБД Access самостоятельно тестирует находящиеся в базе данных записи и производит приведение базы данных к целостному состоянию, устраняя возможные ошибки. Все рутинные операции подобного рода берёт на себя система, что без сомнения экономит усилия и время конечного пользователя.
Система «Библиотека» помогает вести каталог книг, с помощью которого можно быстро и точно определить, какая книга требуется. Также можно произвести сортировку по разделам книги, что значительно ускорит поиск необходимой книги. Система «Библиотека» ведёт абонементные карты пользователей библиотеки, и все выбранные пользователем книги записываются в каталог взятых книг, что позволяет быстро и точно определить какая книга на руках. Все эти задачи решаются в рамках данной программы, с максимальной простотой, удобством и скоростью.
Все функции выполняемые программой были тщательным образом проверены и протестированы в процессе разработки. Данный продукт без сомнения может конкурировать с существующими программами организации и работы библиотеки.
Список использованной литературы
1. Немнюгин С.А. Turbo Dfmcal. - M.: Питер, 2000.
2. Культин Н.Б. Delphi 6. Программирование на Object Dfmcal. - M: Питер, 2002.
3. Гофман В.Э., Хомоненко А.Д. Delphi 6. - М: Питер, 2001.
4. Вирт. Н. Алгоритмы+структуры данных = программы.
5. Седжвик Р. Фундаментальные алгоритмы на С. - СПб: ООО «ДиаСофтЮП», 2003, - 1136 с.
6. Бордовский С.И. Delhi 7. Учебный курс. - М.: Питер, 2003, - 736 с.
7. Роб П., Корнел К. Системы баз данных: проектирование, реализация и управление. - 5-е изд., прераб. и доп.: Пер. с англ. - СПб.: БХВ-Петербург, 2004, - 1040 с.
8. Лавров С.С. Архитектура баз знаний // Программное обеспечение вычислительных комплексов новой архитектуры. - Новосибирск 1986.
9. Замулин. А.В. Системы программирования баз данных и баз знаний. - Новосибирск, 1990.
10. Ревунков Г.И. Базы и банки данных и знаний. - М. 1992 г.
11. Гофман В. Э., Хомоненко А.Д. Delphi 5. - СПб.: БХВ - Санкт-Петербург, 1999, - 800 с.
12. Гофман В.Э., Хомоненко А.Д. Работа с базами данных в Delphi - СПб.: БХВ-Петербург, 2000, - 656 с.
13. Матросов А.В., Сергеев А.О., Чаунин М.П. HTML 4.0 - СПБ.: БХВ-Петербург, 2000, - 672 с
14. Хомоненко А.Д., Цыганков Б.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений. / Под ред. проф. А.Д.Хомоненко. - СПб.: КОРОНА принт, 2000, - 416 с.
15. Горев А, Рубен А, Макашарипов С. Эффективная работа с СУБД- СПБ.:Питер, 1997. - 704с.: ил.
Приложение
Текст программы
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ActnList, DB, ADODB, ComCtrls, Grids, DBGrids, StdCtrls,
DBCtrls;
type
TfmMain = class(TForm)
ActionList1: TActionList;
MainMenu1: TMainMenu;
StatusBar1: TStatusBar;
dsBook: TDataSource;
ADOConnection1: TADOConnection;
qBook: TADOQuery;
mnuUpdate1: TMenuItem;
mnuInsert: TMenuItem;
mnuUpdate: TMenuItem;
mnuDelete: TMenuItem;
actInsertBook: TAction;
actUpdateBook: TAction;
actDeleteBook: TAction;
Label1: TLabel;
Label2: TLabel;
dsKart: TDataSource;
tKart: TADOTable;
cbTables: TComboBox;
actInsertKart: TAction;
actUpdateKart: TAction;
actDeleteKart: TAction;
dbGrid: TDBGrid;
cbGenre: TComboBox;
btClear: TButton;
tKartKart_id: TAutoIncField;
tKartKart_Name: TWideStringField;
tKartKart_Family: TWideStringField;
tKartKart_Initial: TWideStringField;
tKartKart_Group: TWideStringField;
tKartKart_Birth: TDateTimeField;
tKartKart_Phone: TWideStringField;
qBookBook_id: TAutoIncField;
qBookBook_Author: TWideStringField;
qBookBook_title: TWideStringField;
qBookBook_year: TWideStringField;
qBookBook_Loc: TWideStringField;
qBookBook_Genre: TWideStringField;
actFind: TAction;
N2: TMenuItem;
tList: TADOTable;
dsList: TDataSource;
tListBook_id: TSmallintField;
tListKart_id: TSmallintField;
tListList_Take: TDateTimeField;
tListList_Back: TDateTimeField;
btPrint: TButton;
actInsertList: TAction;
actUpdateList: TAction;
actDeleteList: TAction;
procedure mnuExitClick(Sender: TObject);
procedure actInsertBookExecute(Sender: TObject);
procedure actUpdateBookExecute(Sender: TObject);
procedure actDeleteBookExecute(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure actInsertKartExecute(Sender: TObject);
procedure actUpdateKartExecute(Sender: TObject);
procedure actDeleteKartExecute(Sender: TObject);
procedure cbTablesChange(Sender: TObject);
procedure cbGenreChange(Sender: TObject);
procedure actFindExecute(Sender: TObject);
procedure btClearClick(Sender: TObject);
procedure actInsertListExecute(Sender: TObject);
procedure actUpdateListExecute(Sender: TObject);
procedure actDeleteListExecute(Sender: TObject);
procedure btPrintClick(Sender: TObject);
private
{ Private declarations }
public
end;
var
fmMain: TfmMain;
implementation
uses uBook, uKart, uFind, uList, uprint;
{$R *.dfm}
procedure TfmMain.mnuExitClick(Sender: TObject);
begin
Close;
end;
procedure TfmMain.actInsertBookExecute(Sender: TObject);
begin
fmBook.cbGenre.Text:= '';
dsBook.DataSet.Insert;
fmBook.cbGenre.ItemIndex:= -1;
fmBook.showmodal;
end;
procedure TfmMain.actUpdateBookExecute(Sender: TObject);
begin
fmBook.cbGenre.Text:= qBookBook_Genre.Text;
fmBook.showmodal;
end;
procedure TfmMain.actDeleteBookExecute(Sender: TObject);
begin
if MessageDlg('Вы действительно хотите удалить эту запись ?',mtWarning,[mbOK,mbCancel],0) = mrOk then
dsBook.DataSet.Delete;
end;
const
Provider = 'MSDataShape.1';
DataProvider = 'Microsoft.Jet.OLEDB.4.0';
ConnStr = 'Provider=%s;Data Provider=%s;Data Source=%s';
procedure TfmMain.FormActivate(Sender: TObject);
var
DataSource: string;
begin
// создаем динамический псевдоним к базе
DataSource:= ExtractFilePath(Application.ExeName) + 'base\' + 'db.mdb';
if not ADOConnection1.Connected then begin
ADOConnection1.ConnectionString:= Format(ConnStr, [Provider, DataProvider, DataSource]);
qBook.Open;
tKart.Open;
tList.Open;
end;
end;
procedure TfmMain.actInsertKartExecute(Sender: TObject);
begin
dsKart.DataSet.Insert;
fmKart.showmodal;
end;
procedure TfmMain.actUpdateKartExecute(Sender: TObject);
begin
fmKart.ShowModal;
end;
procedure TfmMain.actDeleteKartExecute(Sender: TObject);
begin
{????? проверка на взятые книги?????}
if MessageDlg('Вы действительно хотите удалить эту запись ?',mtWarning,[mbOK,mbCancel],0) = mrOk then
dsKart.DataSet.Delete;
end;
procedure TfmMain.cbTablesChange(Sender: TObject);
begin
if mnuUpdate1.Enabled = false then
mnuUpdate1.Enabled:= true;
case cbTables.ItemIndex of
0: begin
dbGrid.DataSource:= dsBook;
btPrint.Visible:= false;
label2.Visible:= true;
cbGenre.Visible:= true;
btClear.Visible:= true;
mnuInsert.Action:= actInsertBook;
mnuUpdate.Action:= actUpdateBook;
mnuDelete.Action:= actDeleteBook; end;
1: begin
dbGrid.DataSource:= dsKart;
btPrint.Visible:= false;
label2.Visible:= false;
cbGenre.Visible:=false;
btClear.Visible:= false;
mnuInsert.Action:= actInsertKart;
mnuUpdate.Action:= actUpdateKart;
mnuDelete.Action:= actDeleteKart; end;
2: begin
dbGrid.DataSource:= dsList;
btPrint.Visible:= true;
label2.Visible:= false;
cbGenre.Visible:=false;
btClear.Visible:= false;
mnuInsert.Action:= actInsertList;
mnuUpdate.Action:= actUpdateList;
mnuDelete.Action:= actDeleteList; end;
end; {case of}
end;
procedure TfmMain.cbGenreChange(Sender: TObject);
begin
qBook.Filtered:= true;
qBook.Filter:= 'Book_Genre=' + ''''+cbGenre.Text+'''';
end;
procedure TfmMain.actFindExecute(Sender: TObject);
begin
fmFind.showmodal;
end;
procedure TfmMain.btClearClick(Sender: TObject);
begin
qBook.Filtered:= false;
end;
procedure TfmMain.actInsertListExecute(Sender: TObject);
begin
dsList.DataSet.Insert;
fmList.showmodal;
end;
procedure TfmMain.actUpdateListExecute(Sender: TObject);
begin
fmList.showmodal;
end;
procedure TfmMain.actDeleteListExecute(Sender: TObject);
begin
if MessageDlg('Вы действительно хотите удалить эту запись ?',mtWarning,[mbOK,mbCancel],0) = mrOk then
dsList.DataSet.Delete;
end;
procedure TfmMain.btPrintClick(Sender: TObject);
var
Rct: TRect;
begin
with fmPrint.Image1.Canvas do
begin
Brush.Style:= bsSolid;
Brush.Color:= clWhite;
GetWindowRect(Handle, Rct);
Rct.TopLeft:= ScreenToClient(Rct.TopLeft);
Rct.BottomRight:= ScreenToClient(Rct.BottomRight);
FillRect(Rct);
// Text
Brush.Style:= bsHorizontal;
Brush.Color:= clBlack;
Font.Size:= 12;
TextOut(10,10,'№ Книги ' + tListBook_id.Text);
TextOut(10,30,'№ Карточки ' + tListKart_id.Text);
TextOut(10,50,'Дата выдачи ' + tListList_Take.text);
TextOut(10,70,'Дата возврата ' + tListList_Back.Text);
end;
fmPrint.showmodal;
end;
end.
unit uBook;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask, Buttons, DB;
type
TfmBook = class(TForm)
Label1: TLabel;
bdeAuthor: TDBEdit;
bdeTitle: TDBEdit;
Label2: TLabel;
bdeYear: TDBEdit;
Label3: TLabel;
bdeLoc: TDBEdit;
Label4: TLabel;
Label6: TLabel;
btCancel: TButton;
btOk: TButton;
btAddGenre: TSpeedButton;
cbGenre: TComboBox;
procedure btAddGenreClick(Sender: TObject);
procedure btOkClick(Sender: TObject);
procedure btCancelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmBook: TfmBook;
implementation
uses uGenre, uMain;
{$R *.dfm}
procedure TfmBook.btAddGenreClick(Sender: TObject);
begin
fmGenre.showmodal;
end;
procedure TfmBook.btOkClick(Sender: TObject);
begin
if fmMain.dsBook.DataSet.State in [dsEdit, dsInsert] then begin
try
fmMain.qBook.FieldByName('Book_Genre').AsString:= cbGenre.Text;
fmMain.dsBook.DataSet.Post;
except
on E: EDatabaseError do begin fmMain.dsBook.DataSet.cancel; MessageDlg('Ошибка!!!',mtError, [mbOk], 0); end;
end; {try}
end; {if }
fmMain.dsBook.DataSet.Refresh;
//fmmain.RefreshVievFilm;
//fmmain.lblCountRec.Caption:= 'Количество записей ' + inttostr(fmmain.dsFilmView.DataSet.RecordCount);
close;
end;
procedure TfmBook.btCancelClick(Sender: TObject);
begin
if fmMain.dsBook.DataSet.State in [dsEdit, dsInsert] then
fmMain.dsBook.DataSet.Cancel;
close;
end;
end.
unit uFind;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, db;
type
TfmFind = class(TForm)
btCancel: TButton;
btOk: TButton;
Edit1: TEdit;
ComboBox1: TComboBox;
Label1: TLabel;
procedure btCancelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btOkClick(Sender: TObject);
procedure FormHide(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmFind: TfmFind;
implementation
uses
uMain;
{$R *.dfm}
procedure TfmFind.btCancelClick(Sender: TObject);
begin
close;
end;
procedure TfmFind.FormShow(Sender: TObject);
begin
if fmMain.dbGrid.DataSource = fmMain.dsBook then begin
ComboBox1.Items.Clear;
ComboBox1.Items.Add('Автору');
ComboBox1.Items.Add('Названию');
ComboBox1.ItemIndex:= 0;
end
else
if fmMain.dbGrid.DataSource = fmMain.dsKart then begin
ComboBox1.Items.Clear;
ComboBox1.Items.Add('Фамилии');
ComboBox1.Items.Add('Имени');
ComboBox1.ItemIndex:= 0;
end
else
if fmMain.dbGrid.DataSource = fmMain.dsList then begin
ComboBox1.Items.Clear;
ComboBox1.Items.Add('№ Карточки');
ComboBox1.Items.Add('№ Книги');
ComboBox1.Items.Add('Дате получения');
ComboBox1.Items.Add('Дате возврата');
ComboBox1.ItemIndex:= 0;
end
end;
procedure TfmFind.btOkClick(Sender: TObject);
begin
if fmMain.dbGrid.DataSource = fmMain.dsBook then begin
case ComboBox1.ItemIndex of
0: fmMain.qBook.Locate('Book_Author',Edit1.Text,[loCaseInsensitive,loPartialKey]);
1: fmMain.qBook.Locate('Book_Title',Edit1.Text,[loCaseInsensitive,loPartialKey]);
end;
end
else
if fmMain.dbGrid.DataSource = fmMain.dsKart then begin
case ComboBox1.ItemIndex of
0: fmMain.tKart.Locate('Kart_Family',Edit1.Text,[loCaseInsensitive,loPartialKey]);
1: fmMain.tKart.Locate('Kart_Name',Edit1.Text,[loCaseInsensitive,loPartialKey]);
end;
end
else
if fmMain.dbGrid.DataSource = fmMain.dsList then begin
case ComboBox1.ItemIndex of
0: fmMain.tList.Locate('Kart_id',Edit1.Text,[loCaseInsensitive,loPartialKey]);
1: fmMain.tList.Locate('Book_id',Edit1.Text,[loCaseInsensitive,loPartialKey]);
2: fmMain.tList.Locate('List_Take',Edit1.Text,[loCaseInsensitive,loPartialKey]);
3: fmMain.tList.Locate('KList_Back',Edit1.Text,[loCaseInsensitive,loPartialKey]);
end;
end;
close;
end;
procedure TfmFind.FormHide(Sender: TObject);
begin
edit1.Text:= '';
end;
end.
unit uGenre;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls;
type
TfmGenre = class(TForm)
btInsert: TButton;
btUpdate: TButton;
btDelete: TButton;
btClose: TButton;
ListBox1: TListBox;
procedure btCloseClick(Sender: TObject);
procedure btInsertClick(Sender: TObject);
procedure btUpdateClick(Sender: TObject);
procedure btDeleteClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure UpdateComboBoxes;
end;
var
fmGenre: TfmGenre;
implementation
uses
uMain, uUpdate, uBook;
{$R *.dfm}
procedure TfmGenre.btCloseClick(Sender: TObject);
begin
close;
end;
procedure TfmGenre.btInsertClick(Sender: TObject);
begin
fmUpdate.Edit1.Text:= '';
if fmUpdate.ShowModal = 1 then begin ListBox1.items.Add(fmUpdate.Edit1.Text);
UpdateComboBoxes;
end;
end;
procedure TfmGenre.btUpdateClick(Sender: TObject);
var
i,
buf: byte;
begin
for i:= 0 to listbox1.Items.Count-1 do begin
if listbox1.Selected[i] then begin
buf:= i;
fmUpdate.Edit1.Text:= listbox1.Items.Strings[buf];
break;
end;
end;
if fmUpdate.ShowModal = 1 then begin
listbox1.Items.Strings[buf]:= fmUpdate.Edit1.Text;
UpdateComboBoxes;
end;
end;
procedure TfmGenre.btDeleteClick(Sender: TObject);
var
i: byte;
begin
for i:= 0 to listbox1.Items.Count-1 do begin
if listbox1.Selected[i] then begin
listbox1.Items.Delete(i);
break;
end;
end;
UpdateComboBoxes;
end;
procedure TfmGenre.UpdateComboBoxes;
begin
fmBook.cbGenre.Items.Assign(ListBox1.Items);
fmMain.cbGenre.Items.Assign(ListBox1.Items);
end;
procedure TfmGenre.FormDestroy(Sender: TObject);
begin
ListBox1.Items.SaveToFile('list.txt');
end;
procedure TfmGenre.FormCreate(Sender: TObject);
begin
Listbox1.Items.LoadFromFile('list.txt');
UpdateComboBoxes;
end;
end.
unit uKart;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB, ToolEdit, RXDBCtrl;
type
TfmKart = class(TForm)
dbeName: TDBEdit;
Label1: TLabel;
Label2: TLabel;
dbeFamily: TDBEdit;
Label3: TLabel;
dbeInitial: TDBEdit;
Label4: TLabel;
Label5: TLabel;
dbeGroup: TDBEdit;
Label6: TLabel;
dbePhone: TDBEdit;
btOk: TButton;
btCancel: TButton;
dbeBirth: TDBDateEdit;
procedure btOkClick(Sender: TObject);
procedure btCancelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmKart: TfmKart;
implementation
uses
uMain;
{$R *.dfm}
procedure TfmKart.btOkClick(Sender: TObject);
begin
if fmMain.dsKart.DataSet.State in [dsEdit, dsInsert] then begin
try
fmMain.dsKart.DataSet.Post;
except
on E: EDatabaseError do begin fmMain.dsKart.DataSet.cancel; MessageDlg('Ошибка!!!',mtError, [mbOk], 0); end;
end; {try}
end; {if }
fmMain.dsKart.DataSet.Refresh;
close;
end;
procedure TfmKart.btCancelClick(Sender: TObject);
begin
if fmMain.dsKart.DataSet.State in [dsEdit, dsInsert] then
fmMain.dsKart.DataSet.Cancel;
close;
end;
end.
unit uList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask, ToolEdit, RXDBCtrl,DB;
type
TfmList = class(TForm)
DBDateTake: TDBDateEdit;
DBDateBack: TDBDateEdit;
DBEBook: TDBEdit;
DBEKart: TDBEdit;
btCancel: TButton;
btOK: TButton;
Label1: TLabel;
Label2: TLabel;
procedure btOKClick(Sender: TObject);
procedure btCancelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmList: TfmList;
implementation
uses umain;
{$R *.dfm}
procedure TfmList.btOKClick(Sender: TObject);
begin
if fmMain.dsList.DataSet.State in [dsEdit, dsInsert] then begin
try
fmMain.dsList.DataSet.Post;
except
on E: EDatabaseError do begin fmMain.dsKart.DataSet.cancel; MessageDlg('+°шсър!!!',mtError, [mbOk], 0); end;
end; {try}
end; {if }
fmMain.dsList.DataSet.Refresh;
close;
end;
procedure TfmList.btCancelClick(Sender: TObject);
begin
if fmMain.dsList.DataSet.State in [dsEdit, dsInsert] then
fmMain.dsList.DataSet.Cancel;
close;
end;
end.
unit uprint;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TfmPrint = class(TForm)
PrinterSetupDialog1: TPrinterSetupDialog;
Panel2: TPanel;
btPrint: TButton;
btSetup: TButton;
btCancel: TButton;
Image1: TImage;
procedure btSetupClick(Sender: TObject);
procedure btCancelClick(Sender: TObject);
procedure btPrintClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmPrint: TfmPrint;
implementation
uses
printers, umain;
{$R *.dfm}
procedure TfmPrint.btSetupClick(Sender: TObject);
begin
PrinterSetupDialog1.Execute;
end;
procedure TfmPrint.btCancelClick(Sender: TObject);
begin
Close;
end;
procedure TfmPrint.btPrintClick(Sender: TObject);
begin
Printer.BeginDoc;
//Printer.Canvas.Draw(10, 10, image1.Picture.Graphic);
//Printer.Canvas.Font.Height:= 18;
Printer.Canvas.Font.Size:= 12;
Printer.Canvas.TextOut(100,100,'№ Книги ' + fmMain.tListBook_id.Text);
Printer.Canvas.TextOut(100,300,'№ Карточки ' + fmMain.tListKart_id.Text);
Printer.Canvas.TextOut(100,500,'Дата выдачи ' + fmMain.tListList_Take.text);
Printer.Canvas.TextOut(100,700,'Дата возврата ' + fmMain.tListList_Back.Text);
Printer.EndDoc;
end;
end.
unit uUpdate;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB;
type
TfmUpdate = class(TForm)
btOk: TButton;
btCancel: TButton;
Edit1: TEdit;
procedure btCancelClick(Sender: TObject);
procedure btOkClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmUpdate: TfmUpdate;
implementation
uses uMain;
{$R *.dfm}
procedure TfmUpdate.btCancelClick(Sender: TObject);
begin
fmupdate.ModalResult:= 0;
close;
end;
procedure TfmUpdate.btOkClick(Sender: TObject);
begin
fmupdate.ModalResult:= 1;
// close;
end;
end.
Размещено на Allbest.ru
...Подобные документы
Рассмотрение теоретических аспектов создания баз данных с применением системы объектно-ориентированного программирования Delphi. Ознакомление с компонентами доступа. Разработка базы данных "Библиотека". Описание основ интерфейса созданной программы.
курсовая работа [1004,9 K], добавлен 26.10.2014Разработка программы для работы с базой данных "Библиотека" в среде Borland C++Builder 6 на языке программирования C++ с использованием визуальных средств. Структура информации, подключение к ней и ее отображение. Описание пользовательского интерфейса.
курсовая работа [1,5 M], добавлен 19.05.2014Анализ предметной области. Основание, назначение для разработки, требования к программному средству. Выбор подхода и модели разработки ПС. Анализ требований, разработка и определение вариантов спецификаций. Описание объектов, свойств и методов.
курсовая работа [510,3 K], добавлен 23.02.2011Разработка модуля регистрации абонентов для информационной системы предприятия "Библиотека". Структура базы данных. Взаимодействие клиентов с БД и клиентов друг с другом. Форма регистрации, сохранение данных. Основные сущности данного приложения.
курсовая работа [991,4 K], добавлен 18.06.2015Библиотека как элемент образовательной среды. Основные технологии работы библиотеки общеобразовательного учреждения. Описание входных и выходных потоков информации. Выбор системы управления базами данных и создание схемы данных. Тестирование базы данных.
дипломная работа [1,5 M], добавлен 13.10.2015Разработка реляционной базы данных "Библиотека" с помощью СУБД Microsoft SQL Server 2000 и программной оболочки в Microsoft Access. Экономическое обоснование результатов внедрения программного продукта. Инструкция по эксплуатации клиентского приложения.
курсовая работа [3,4 M], добавлен 01.07.2011Создание системы управления базой данных "Библиотека" версии InterBase 6.5, выполненной в среде Delphi7. Создание таблиц СУБД: Читатель, Штраф, Выдача книги, Автор, Размещение книги, Экземпляр, Издательство, Произведения, Литературная форма, Жанр, Книга.
дипломная работа [907,3 K], добавлен 20.09.2013Описание проектирования электронной библиотеки для размещения в облаке документации кафедры. Планирование базы данных, структуры Web-системы и дизайна страниц. Разработка Интернет-системы в среде Visual Studio.NET. Разработка бизнес-логики системы.
курсовая работа [2,5 M], добавлен 23.08.2014Разработка базы данных для информационной системы "Библиотека". Системный анализ, инфологическое, даталогическое и физическое проектирование. Программирование бизнес-логики, разработка клиентского приложения. Создание web-приложения, web-доступ.
курсовая работа [3,3 M], добавлен 15.09.2014Основные этапы разработки и внедрения программного обеспечения. Понятие, функции и классификация баз данных. Проектирование базы данных "Библиотека" для ведения картотеки и учета выдачи книг. Пользовательский интерфейс программы, методика ее тестирования.
дипломная работа [2,6 M], добавлен 09.06.2012Создание таблиц базы данных в режиме конструктора. Наименование и структура таблиц базы данных "Библиотека". Применение поля подстановок и создание фиксированного списка значений для полей. Схема связи между таблицами. Формирование и выполнение запроса.
контрольная работа [1,2 M], добавлен 24.07.2009Создание Win-приложения для библиотеки, которое позволяло бы осуществлять операции выдачи и сдачи книг в соответствии со сроками. Выбор программных и технических средств реализации проекта. Разработка интерфейса системы, описание реализованных классов.
курсовая работа [3,1 M], добавлен 14.08.2015Анализ предметной области разрабатываемой информационной системы "Библиотека". Проектирование базы данных в среде MS Access. Физическая реализация данной информационной системы средствами Delphi 7 и MS Access 2003. Области применения технологии BDE.
курсовая работа [2,4 M], добавлен 12.01.2016Программные продукты, используемые при проектировании базы данных. Разработка базы данных "Библиотека" с использование программного проекта Microsoft SQL Server. Создание таблиц, триггеров, пользователей, репликации, запросов, функций, процедур.
курсовая работа [897,6 K], добавлен 21.11.2011Обзор систем автоматизации библиотек. Интерфейс системы "Ирбис". Основные характеристики системы "Библиотека-3". Диаграмма вариантов использования базы данных. Модель сущность-связь. Типы данных таблицы "книга", "читатели", "связь", "автор", "склад".
курсовая работа [3,3 M], добавлен 15.04.2018Разработка пользовательской документации для работы с виртуальной библиотекой, описание основных принципов. Требования к составу и параметрам технических средств. Информационное обеспечение задачи. Построение прототипа пользовательского интерфейса.
курсовая работа [1,9 M], добавлен 02.06.2014Разработка сайта "Библиотека онлайн": создание режима ведения системного каталога книг (по внутреннему номеру, наименованию), картотеки читателей (фамилия, адрес, телефон), поиск разными методами и просмотр информации, формирование посетителем заказа.
курсовая работа [43,2 K], добавлен 14.06.2010Разработка автоматизированной информационной системы для эффективного и быстрого обслуживания пользователей библиотеки ВУЗа. Среда разработки: MS Access. Язык программирования - VBA. Расчет технико-экономической выгоды внедрения данной технологии.
дипломная работа [304,7 K], добавлен 19.03.2010Общие сведения об автоматизированных информационных системах библиотек. Разработка графического макета, интерфейса и дизайна информационной системы. Требования к функциональной части системы. Создание программных модулей. Алгоритмы обработки данных.
дипломная работа [1,7 M], добавлен 04.11.2016Разработка программного средства в среде MS Access, содержащего функции электронной библиотеки и которое обеспечивает удобное добавление, удаление, редактирование данных. Руководство пользователя и проверка правильности работы разработанной системы.
курсовая работа [4,0 M], добавлен 23.02.2011