русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Отчетность


Дата добавления: 2015-06-12; просмотров: 585; Нарушение авторских прав


Для создания отчетности существует очень много способов. Наиболее "продвинутый", но и наиболее сложный – вывод отчета с помощью компонентов отчетности, таких как Quick Report. Другой профессиональный способ – вывод отчета в файл MS Excel или MS Word. Мы разберем самый простой способ отчетности – будем выводить отчет в компонент Memo, а при желании – сохранять его в файл.

Создайте новую форму. В свойстве Name укажите fOtchet, в свойстве Caption – "Отчет", а саму форму сохраните в модуле Otchet.

Далее, в верхнюю часть формы установим Memo, и растянем его по всему верху (свойство Align = alTop ).

В нижней части поместим кнопку и компонент SaveDialog. На кнопке напишем "Сохранить в файл".

У Memo уберем весь текст, и установим вертикальную прокрутку. Не забудем добавить к этой форме модуль DM с помощью команды Uses Unit, а в главной форме той же командой добавим новое окно Otchet.

По нажатию кнопки напишем такой код:

if SaveDialog1.Execute then

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

Теперь нам необходимо написать код, по которому Memo будет заполняться данными. Это лучше всего сделать по событию главной формы onShow:

var

s : String;

begin

//очищаем Memo:

Memo1.Lines.Clear;

//устанавливаем закладку:

bm := fDM.TBooks.Bookmark;

//готовим таблицу:

fDM.TBooks.First;

fDM.TBooks.Filtered := False;

//делаем отпервой до последней записи:

while not fDM.TBooks.Eof do begin

//собираем данные в переменную s:

s := 'Автор: '+ GetFIO(fDM.TBooks['Avtor'])+#13+#10;

s := s + 'Название: '+ fDM.TBooks['Nazvanie']+#13+#10;

s := s + 'Экземпляров: '+ IntToStr(fDM.TBooks['Exemp'])+#13+#10;

s := s + 'Стоимость: '+ FloatToStr(fDM.TBooks['Cena'])+#13+#10;

s := s + 'Дата поставки: '+DateToStr(fDM.TBooks['Date'])+#13+#10;



s := s + '--------------------------------------------' +#13+#10;

fDM.TBooks.Next;

Memo1.Lines.Add(s);

end; //while

//переходим на закладку:

fDM.TBooks.Bookmark := bm;

bm := '';

Мы указали функцию GetFIO(), которой пока нет. Эта функция будет принимать номер автора, и возвращать его фамилию, имя и отчество. Создайте эту функцию выше процедуры onShow:

function GetFIO(i : Integer):String;

begin

Result := '';

fDM.TAvtors.First;

while not fDM.TAvtors.Eof do begin

if fDM.TAvtors['Key2'] = i then begin

Result := fDM.TAvtors['FIO'];

Break;

end; //if

fDM.TAvtors.Next;

end; //while

if Length(Result)= 0 then

Result := 'Автор не найден';

end;

Вот теперь все! Сохраните проект, скомпилируйте его и посмотрите, как он работает. Мы в этом проекте использовали почти все приемы работы с таблицами, хотя приложение, конечно, получилось не совсем профессиональным. Например, если удалить автора из таблицы авторов, то разрушится целостность таблиц – книга будет указывать автора, которого нет. В профессиональных проектах все это учитывается, однако на это уходит гораздо больше времени, и пишется гораздо больше кода. Когда вы освоите работу с таблицами самостоятельно, для вас все это не будет представлять никаких проблем.

Подытоживая сказанное о базах данных, заметим еще раз, что приложения бывают локальными – когда приложение и сама база данных располагаются на машине клиента. Такой подход следует использовать в приложениях, в которых сотрудники предприятия не должны обращаться к одним и тем же данным, например, в собственном телефонном справочнике, в приложении с кулинарными рецептами, в каталоге домашней библиотеки и тому подобными программами.

Сетевая база данных работает примерно так же, как локальная, только сама база данных находится на сетевом ресурсе, и с ее данными работают несколько клиентских приложений. Такой подход следует использовать для небольших сетевых приложений, когда сотрудников, работающих с данными тоже немного. Если записей в таблице перевалит за десяток тысяч, то обработка такой базы данных очень сильно загрузит сеть.

Клиент – серверная база данных работает иначе. Данные хранятся на сервере. Там же хранится СУБД (Система Управления Базами Данных). Пользователь работает не напрямую с данными, а получает к ним доступ из СУБД с помощью SQL – запросов. Сервер эти данные обрабатывает, и пользователю возвращается результат – только те данные, которые необходимы. А в предыдущем случае каждый клиент получал свою копию полной БД. Нетрудно сообразить, что клиент – серверный подход значительно ускоряет работу с БД и снижает нагрузку на сеть.

Однако начинать программирование БД следует все же с локальных приложений. По мере накопления опыта вы будете двигаться дальше, к сетевым и клиент – серверным БД.



<== предыдущая лекция | следующая лекция ==>
Фильтрация данных | Роль и значение важнейших макроэкономических показателей и пропорций Национальной экономики


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.334 сек.