47147 (Информационная система компьютерного клуба), страница 3
Описание файла
Документ из архива "Информационная система компьютерного клуба", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "47147"
Текст 3 страницы из документа "47147"
ADODataSet1.Fields[1].ASString+':'+
ADODataSet1.Fields[2].AsString+':'+
ADODataSet1.Fields[3].ASString+':'+
ADODataSet1.Fields[4].ASString+':'+
ADODataSet1.Fields[5].ASString);
ADODataSet1.Next;
end;
Далее мы превращаем набор строк в таблицу Word и изменяем ширину ее колонок так, чтобы корректно отобразить содержащиеся в ней данные:
// Превращаем текс в таблицу
Rng:=Doc.Range(Doc.Paragraphs.Item(3).Range.Start, Doc.Paragraphs.Item(rcnt+3).Range.End); Tbl:=Rng.ConvertToTable(':',rcnt.3);
// Изменяем размеры колонок таблицы
Tbl.Columns.Item(1).Width:=Tbl.Columns.Item(1).Width-30;
Tbl.Columns.Item(2).Width:=Tbl.Columns.Item(2).Width+20;
Tbl.Columns.Item(3).Width:=Tbl.Columns.Item(3).Width-3;
Tbl.Columns.Item(4).Width:=Tbl.Columns.Item(4).Width+20;
Tbl.Columns.Item(5).Width:=Tbl.Columns.Item(5).Width-5;
Tbl.Columns.Item(6).Width:=Tbl.Columns.Item(6).Width+5;Теперь нам нужно сохранить документ, подавив при этом вывод диагностических сообщений Word:
// Подавляем вывод диагностических сообщений
Wd.DisplayAlerts:=False;
Почему нужно избавиться от вывода диагностических сообщений? В общем случае приложения, подобные Word, можно запускать удаленно, например, с помощью средств DCOM или универсальных СОМ-клиентов, доступ к которым осуществляется по протоколам TCP/IP или HTTP/HTTPS. В этом случае у пользователя не будет возможности отвечать на вопросы диалоговых окон Word — ведь физически он находится на другом компьютере; кроме того, некоторые режимы применения DCOM таковы, что пользовательский интерфейс DCOM-сервера (включая обработку им событий мыши и клавиатуры) может быть просто недоступен никому из пользователей. В этом случае диалоговое окно, созданное в оперативной памяти, получит сообщения о событии, связанном со щелчком на одной из кнопок этого окна, и не будет закрыто, и у пользователя создастся впечатление, что приложение «зависло».
И, наконец, нам следует сохранить документ и освободить ресурсы:
// Сохраняем документ
Doc.SaveAs('D:\SOT\Custrep.doc');
// Закрываем Word и освобождаем ресурсы
Wd.Quit;
Wd:=Unassigned;
4.5.2 Создание генерации отчетов с помощью Microsoft Excel
Как и в предыдущем случае, нам следует также объявить глобальные переменные для объектов Application, WorkBook и WorkSheet:
var
Forml: TForm1;
. . .
// Переменные для объектов Excel Application, WorkBook и WorkSheet
Xl, Wb, Ws: Variant;
Реализуем генерацию табличного отчета в обработчике события OnClick компонента Button2:
procedure TForm1.Report_ExcelClick(Sender: TObject);
var I, Rcnt:integer;
begin
// Открываем базу данных и подсчитываем количество записей
ADODataSet1.Open;
Rcnt := ADODataSet1.RecordCount;
// Запускаем Microsoft Excel
Xl := CreateOleObject('Excel.Application');
// Отображаем окно Microsoft Excel
Xl.Visible := True;
// Создаем рабочую книгу
Xl.WorkBooks.Add;
Wb := XL.WorkBooks[1];
Ws := Wb.WorkSheets[1];
Ws.Name := 'Центр данных';
// Создаем заголовок отчета
Ws.Cells[1,1] := 'Центр данных';
Ws.Cells[1,1].Font.Bold := True;
Ws.Cells[1,1].Font.Size := 16;
Ws.Cells[2,1] := 'Комп';
Ws.Cells[2,2] := 'Игрок';
Ws.Cells[2,3] := 'Дата';
Ws.Cells[2,4] := 'Продолжительность';
Ws.Cells[2,5] := 'Код услуги';
Ws.Cells[2,6] := 'Админ';
for I:=1 to 6 do
Ws.Cells[2,i].Font.Bold := True;
// Перемещаемся на первую запись набора данных
ADODataSet1.First;
for I:=1 to Rcnt do
begin
// Добавляем значения полей текущей записи в новую строку
Ws.Cells[i+2,1] := ADODataSet1.Fields[0].AsString;
Ws.Cells[i+2,2] := ADODataSet1.Fields[1].AsString;
Ws.Cells[i+2,3] := ADODataSet1.Fields[2].AsString;
Ws.Cells[i+2,4] := ADODataSet1.Fields[3].AsString;
Ws.Cells[i+2,5] := ADODataSet1.Fields[4].AsString;
Ws.Cells[i+2,6] := ADODataSet1.Fields[5].AsString;
ADODataSet1.Next;
end;
// Изменяем ширину колонок
Xl.Columns[1].ColumnWidth:=Xl.Columns[1].ColumnWidth+5;
Xl.Columns[2].ColumnWidth:=Xl.Columns[2].ColumnWidth+5;
Xl.Columns[3].ColumnWidth:=Xl.Columns[3].ColumnWidth+5;
Xl.Columns[4].ColumnWidth:=Xl.Columns[4].ColumnWidth+5;
Xl.Columns[5].ColumnWidth:=Xl.Columns[5].ColumnWidth+5;
Xl.Columns[6].ColumnWidth:=Xl.Columns[6].ColumnWidth+5;
// Подавляем вывод диагностических сообщений
Xl.DisplayAlerts:=false;
// Сохраняем документ
Wb.SaveAs('D:\SOT\Custrer.xls');
// Закрываем Excel и освобождаем ресурсы
//Xl.Quit;
Xl:=Unassigned;
end;
Откомпилируем приложение и проверьте работу кнопки «Отчет с использованием MS Excel». При выполнении этого приложения создается документ с отчетом по базе данный club.mdb (рис.4.5).
Пояснения к приведенному выше фрагменту кода
Во-первых, мы должны создать копию Microsoft Excel, сделав ее видимой и создать новую рабочую книгу:
// Запускаем Microsoft Excel
Xl := CreateOleObject('Excel.Application');
// Отображаем окно Microsoft Excel
Xl.Visible := True;
// Создаем рабочую книгу
Xl.WorkBooks.Add;
Wb := XL.WorkBooks[1];
Ws := Wb.WorkSheets[1];
Ws.Name := ' Список клиентов ';
Затем нужно создать заголовок отчета и заголовки колонок будущей таблицы, добавляя текст в соответствующие ячейки т меняя характеристики шрифта ячеек:
// Создаем заголовок отчета
Ws.Cells[1,1] := 'Центр данных';
Ws.Cells[1,1].Font.Bold := True;
Ws.Cells[1,1].Font.Size := 16;
Ws.Cells[2,1] := 'Комп';
Ws.Cells[2,2] := 'Игрок';
Ws.Cells[2,3] := 'Дата';
Ws.Cells[2,4] := 'Продолжительность';
Ws.Cells[2,5] := 'Код услуги';
Ws.Cells[2,6] := 'Админ';
for I:=1 to 6 do
Ws.Cells[2,i].Font.Bold := True;Затем следует, перемещаясь по записям набора данных, добавит в документ строки, соответствующие этим записям:
// Перемещаемся на первую запись набора данных
ADODataSet1.First;
for I:=1 to Rcnt do
begin
// Добавляем значения полей текущей записи в новую строку
Ws.Cells[i+2,1] := ADODataSet1.Fields[0].AsString;
Ws.Cells[i+2,2] := ADODataSet1.Fields[1].AsString;
Ws.Cells[i+2,3] := ADODataSet1.Fields[2].AsString;
Ws.Cells[i+2,4] := ADODataSet1.Fields[3].AsString;
Ws.Cells[i+2,5] := ADODataSet1.Fields[4].AsString;
Ws.Cells[i+2,6] := ADODataSet1.Fields[5].AsString;
ADODataSet1.Next;
end;
Как и в предыдущем случае, нам следует изменить размер колонок на листе рабочей книги, чтобы корректно отобразить содержащиеся в них данные:
// Изменяем ширину колонок
Xl.Columns[1].ColumnWidth:=Xl.Columns[1].ColumnWidth+5;
Xl.Columns[2].ColumnWidth:=Xl.Columns[2].ColumnWidth+5;
Xl.Columns[3].ColumnWidth:=Xl.Columns[3].ColumnWidth+5;
Xl.Columns[4].ColumnWidth:=Xl.Columns[4].ColumnWidth+5;
Xl.Columns[5].ColumnWidth:=Xl.Columns[5].ColumnWidth+5;
Xl.Columns[6].ColumnWidth:=Xl.Columns[6].ColumnWidth+5;
Теперь нам нужно сохранить документ, подавив при этом вывод диагностических сообщений Excel. Как и в Word, приложение Excel может быть запущено удаленно, и в этом случае пользователь также может не иметь возможности взаимодействовать с диалоговыми окнами Excel:
// Подавляем вывод диагностических сообщений
Xl.DisplayAlerts:=false;
// Сохраняем документ
Wb.SaveAs('D:\SOT\Custrep.xls');
Наконец, нам следует закрыть Excel и освободить ресурсы:
// Закрываем Excel и освобождаем ресурсы
Xl.Quit;
Xl:=Unassigned;
Добавление строки с новыми записями в базу данных.
procedure TForm1.Button6Click(Sender: TObject);
begin
with form1.ADOQuery2 do begin
//Close; // закрыть файл-результат выполнения предыдущего запроса
SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
SQL.Add('INSERT INTO Админ (Админ, ФИО, Адрес, Ставка) VALUES ("Annie", "Бойко А.К.", "Засекречено:)", 1000);');
ExecSQL;
end;
Так же программа имеет возможность выполнять набранные запросы (Рис
Код программы приведен в Додатке В.
ЗАКЛЮЧЕНИЕ
В ходе данной курсовой работы была разработана автоматизированная информационно-справочная система хранения и обработки информации компьютерного клуба, которая способствует быстрому поиску необходимых данных при минимальных затратах времени, а также программная реализация системы, в основе которой лежит проектирование предметной области и логической схемы БД, являющейся информационным ресурсом разрабатываемой системы.
Для решения современных проблем применяются современные методы их решения. Проблема методов управления в организациях любых форм собственности предполагает использование системы управления базами данных для принятия решений на основе эффективного использования информационного ресурса, что позволяет получить большую экономическую отдачу и решать задачи планирования и управления с использованием современных информационных технологий.
Хорошо спроектированная система может расширяться с ростом информационных потребностей пользователей и при этом сохраняет уже существующую информацию. Современные методы проектирования предполагают в качестве первого этапа проектирования разработку инфологической модели предметной области. Разработанная в курсовом проекте инфологическая схема позволяет уяснить структуру предметной области с целью отображения ее логической схемы в базе данных.
При проектировании информационных систем использование реляционной модели базы данных является самым подходящим методом. Нормализация отношений разработанной базы данных позволила устранить ошибки внесения, удаления, обновления, дублирования данных, что особенно важно при работе с базой данных пользователей непрофессионалов. Практическая реализация информационной системы выполнена с использованием СУБД Access , однако приведенные в работе программы создания таблиц средствами SQL позволяют реализовать разработку в ином коммерческом пакете реляционного типа, где кроме языка запросов используется язык определения данных для создания базовых таблиц.
Таким образом, путем автоматизации приложений Microsoft Office мы можем создавать сложные отчеты, содержащие таблицы, диаграммы, вычисляемые значения, равно как и использовать для этой цели другие возможности Microsoft Office (например, сервисы построения сводных таблиц).
Разработанная база данных является законченным программным продуктом для поддержания информационных потребностей и может быть легко расширена при изменении информационных потребностей пользователя.
СПИСОК ЛИТЕРАТУРЫ
-
Буслик М.М. Модели и структуры данных.
-
Мартин Дж. Организация баз данных в вычислительных системах.-М.: Мир, 1980.-608с.
-
Глушаков С.В., Мельников И.В. Базы данных,включая SQL2 и SQL SERVER:Учебник для вузов.-Харьков.: Фолио,2000-250 с.
-
Вейскас Дж. Эффективная работа с Access.-СПб:Питер.1997-848с.
-
Боуман Дж.,Эмерсон С. Дарновски М. Практичесское руководство по SQL.-К:Диалектика,1998-565с.
-
Дейт К. Введение в системы баз данных.- 6-е изд.-К:Диалектика, 1998.-784с.
-
Холигвэрт, Джарод, Баттерфилд, Дэн, Сворт, Боб, и др. С++Builder 5. Руководство разработчика, том 2. Сложные вопросы программирования : Пер. с англ. – М.: Издательский дом “Вильямс”, 2001. - 832 с.: ил. – Парал. тит. англ.
-
Архангельский А.Я. Приемы программирования в Delphi. Изд. 2-е, пере раб. и доп. – М.: ООО «Бином-Пресс», 2004 г. – 848 с.: ил.
Приложение В
Код программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComObj, ActiveX, DB, ADODB, StdCtrls, Grids, DBGrids, ComCtrls,
OleServer, ExcelXP;
type
TForm1 = class(TForm)
Report_Word: TButton;
Report_Excel: TButton;
CreatePivotTable: TButton;
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;