Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа в Delphi.doc
Скачиваний:
6
Добавлен:
31.08.2019
Размер:
1.17 Mб
Скачать

Отслеживание состояния DataSet

В предыдущей части Вы узнали, как использовать TDataSource, чтобы узнать текущее состоянии TDataSet. Использование DataSource - это простой путь выполнения данной задачи. Однако, если Вы хотите отслеживать эти события без использования DataSource, то можете написать свои обработчики событий TTable и TQuery:

property OnOpen

property OnClose

property BeforeInsert

property AfterInsert

property BeforeEdit

property AfterEdit

property BeforePost

property AfterPost

property OnCancel

property OnDelete

property OnNewRecord

Большинство этих свойств очевидны. Событие BeforePost функционально подобно событию TDataSource.OnUpdateData, которое объяснено выше. Другими словами, программа STATE работала бы точно также, если бы Вы отвечали не на DataSource1.OnUpdateData а на Table1.BeforePost. Конечно, в первом случае Вы должен иметь TDataSource на форме, в то время, как во втором этого не требуется.

Задания.

Программа должна осуществлять:

  • Добавление новых записей, удаление и редактирование старых.

  • Сортировать записи по любому из полей базы данных в любом направлении.

  • Фильтровать записи по значению любого поля.

  • Осуществлять поиск записей по значению любого поля.

  • Выполнять дополнительную обработку (с сохранением результата в текстовый файл).

Дополнительные сведения

Программа должна обладать дружественным и интуитивно понятным интерфейсом и проводить проверку на корректность вводимых данных.

Варианты заданий

  1. База данных содержит сведения о компакт дисках: название (строка 30 символов), тип носителя (CD | DVD), тип информации (GAME | SOFT | VIDEO | AUDIO | OTHER) и объем (если GAME, SOFT, OTHER - в Mb, AUDIO, VIDEO - в минутах). Дополнительно программ должна определять статистику: сколько всего GAME, SOFT и т.д.

  2. База данных содержит сведения о больных в больнице: ФИО (строка по 30 символов), диагноз (строка 20 символов), дата поступления, дата выписки, номер палаты. Дополнительно программа должна формировать отчет о больном (когда и сколько дней находился в больнице, и какой диагноз) по запросу.

  3. База данных содержит информацию о движении пригородных поездов по станциям: номер поезда (трехзначное число), название станции (строка 20 символов), время прибытия (чч:мм), время отправления (чч:мм). Дополнительно программа должна формировать полный маршрут поезда с указанием времени стоянки на каждой станции.

  4. База данных содержит информацию об авиарейсах: номер (трехзначное число), аэропорт отправления (строка 20 символов), аэропорт прибытия (строка 20 символов), время вылета (чч:мм), время прилета (чч:мм). Дополнительно программа должна осуществлять поиск маршрутов с пересадками (не более двух) от одного места до другого.

  5. База данных содержит информацию о ходе проводящегося ралли: номер этапа (целое двухзначное число), имя команды (строка 20 символов), время прохождения этапа (чч:мм:сс), тип (грузовики, легковые машины, мотоциклы). Дополнительно реализовать функцию формирования сводного результата по всем этапам ралли, по каждому типу. При этом если команда пропустила какой-либо промежуточный этап, то она дисквалифицируется.

  6. База данных содержит информацию о приходе материалов на товарный склад: номер накладной (целое положительное число), дата накладной (дд.мм.гггг), шифр и наименование материала (целое шестизначное число и строка 20 символов), количество. Дополнительно реализовать функцию формирования отчета о ежемесячном приходе определенного материала: пользователь вводит шифр материала, месяц и год.

  7. База данных содержит информацию о библиотечных книгах: уникальный шифр книги (шестизначное целое число), автор (строка 20 символов), название (строка 30 символов), дата выдачи (дд.мм.гггг), дата возврата (дд.мм.гггг). Дополнительно программа должна формировать отчет по книге (пользователь вводит шифр) за определенный период.

  8. База данных содержит информацию о телефонных звонках между абонентами: номера вызывающего и вызываемого абонентов (целые шестизначные числа), дата и время осуществления звонка (дд.мм.гггг чч:мм), продолжительность звонка в минутах (целое число). Дополнительно программа должна предоставлять отчетность о телефонных звонках определенного абонента за определенный промежуток времени (указываются две даты), определять суммарное время разговоров за этот период в формате чч:мм.

  9. База данных содержит информацию о заказанных номерах в гостинице: номер (целое трехзначное число), с какой и по какую даты (в формате дд.мм.гггг), ФИО постояльца (строка 30 символов). Дополнительно программа должна формировать отчет за определенный промежуток времени по определенному номеру в гостинице.

  10. База данных содержит информацию о билетах на авиарейсы: номер рейса (четырехзначное число), дата и время вылета (дд.мм.гггг чч:мм), номер места. Дополнительно программа должна реализовать сервис продажи и возврата билетов (в самолете 250 мест), а также создавать результаты на определенную дату.

  11. База данных содержит информацию о сдаче экзаменов в университет: ФИО абитуриента (строки по 20 символов), дата рождения (дд.мм.гггг), шифр специальности (строка 2 символа), оценки по трем предметам (целые числа от 1 до 10). Дополнительно программа должна формировать списки групп зачисленных студентов, согласно сумме всех баллов. Предварительно указывается, какое количество абитуриентов должно быть зачислено на каждую специальность.

  12. База данных содержит расписание движения пригородных автобусов: номер маршрута (целое трехзначное число), пункты отравления и назначения (строки 20 символов), время выхода с автовокзала, время прибытия на конечный пункт, дату рейса. Дополнительно программа должна формировать список рейсов на определенный день (вводится как дата) Если в этот день таких рейсов нет, то выводится список на ближайший из следующих дней.

  13. База данных содержит информацию о наличии игр установленных на компьютерах: номер компьютера (целое двухзначное число), название игры (строка 20 символов), тип игры (RTS, RPG, FPS и т.д.). Дополнительно программа должна формировать отчет о возможности проведения чемпионата по играм: указывается игра и необходимое число компьютеров, результат содержит список компьютеров для проведения чемпионата (при выборе компьютеров руководствоваться близостью их номеров).

  14. База данных содержит информацию о фильмах: название (строка 30 символов), ФИО главных актеров (строка 50 символов), год выпуска (целое четырехзначное число), продолжительность в минутах (целое число), жанр (комедия, боевик, драма, приключения, фантастика, ужасы и т.д.). Дополнительно программа должна выводить информацию о фильмах с участием определенного актера.

  15. База данных содержит информацию о музыкальных композициях, выходящих в эфир: исполнитель (строка 20 символов), наименование (строка 30 символов), продолжительность (в минутах), дата и время выхода в эфир (дд.мм.гггг чч:мм). Дополнительно программа должна формировать отчет о популярности музыкальных композиций на определенную дату.

  16. База данных содержит информацию о компьютерных комплектующих на складе: тип (строка 10 символов), описание (строка 15 символов), основные характеристики (строка 20 символов), серийный номер (целое шестизначное число), дата продажи (дд.мм.гггг) и цена (целое число). Дата продажи при вводе записи не указывается. Дополнительно реализовать сервис продажи (при завершении указывается дата продажи), а также отчет о продажах за определенный день

  17. База данных содержит информацию о кадрах: ФИО работника (строки по 15 символов), пол (М|Ж), дата рождения (дд.мм.гггг), дата принятия на работу (дд.мм.гггг), занимаемая должность (строка 20 символов). Дополнительно программа должна формировать ведомость стажа работников на определенную дату и ведомость работающих пенсионеров на определенную дату.

  18. База данных содержит информацию о поездах: номер поезда (целое трехзначное число), пункт назначения (строка 15 символов), дата и время отправления (дд.мм.гггг чч:мм), количество купейных и плацкартных вагонов (целые числа), число оставшихся купейных и плацкартных мест (целые числа). Дополнительно реализовать сервис покупки мест: дата и пункт назначения, количество мест (плацкартных или купейных). Если указанного числа мест в наличии не имеется, то вывести информацию о ближайшую дату.

  19. База данных содержит информацию о персональных компьютерах локальной сети: логическое имя компьютера (строка 20 символов), IP адрес (в своем формате), класс процессора (строка 15 символов), объем оперативной памяти и объем жесткого диска (целые числа, указывается в Мб). Дополнительно программа должна определить все компьютеры, принадлежащие той же подсети, что и указанный пользователем (IP или имя компьютера). Поля логического имени и IP адреса уникальны.

  20. База данных содержит информацию об автомобилях: марка автомобиля (строка 15 символов), модель (строка 10 символов), серийные номера кузова и двигателя (целые шестизначные числа), цвет (код цвета - целое трехзначное число), цена (целые числа). Дополнительно реализовать сервис по поиску автомобиля: пользователь диапазон приемлемых цен и цвет автомобиля, программа выводит список возможных автомобилей.

  21. База данных содержит расписание доступности взлетных полос на аэродроме на день: номер полосы (целое число: 1, 2, 3, 4 или 5), номер рейса (целое четырехзначное число), описание (строка 30 символов), временной интервал (задается в виде двух значений чч:мм). Дополнительно реализовать сервис предоставления экстренной посадка самолета: указывается время его прибытия, требуется определить номер полосы или выдать сообщение о невозможности посадки.

  22. База данных содержит информацию о результатах проведения предметной олимпиады: ФИО участника (строка 30 символов), название предмета (строка 15 символов), список максимальных количеств баллов за задание, баллов, полученных за задание, и баллов, полученных на апелляции (пять заданий). Дополнительно программа должна формировать ведомость результатов олимпиады по каждому предмету.

  23. База данных содержит данные о сотрудниках фирмы с почасовой системой оплаты: ФИО сотрудника (строка 30 символов), дату (дд.мм.гггг), времена прихода и ухода с работы (чч:мм). Программа должна отслеживать и пресекать попытки ввода записи одного и того же сотрудника в один и тот же день. Дополнительно необходимо вычислять сумму зарплаты каждого сотрудника за отчетный период. Тариф одного часа работы вводится перед формированием ведомости.

  24. База данных содержит информацию о заявках на постановку в эфир музыкальных композиций: исполнитель (строка 20 символов), название (строка 25 символов), длительность (мм:сс), время получения заявки (чч:мм). Дополнительно программа должна осуществлять вычисление фактического времени выхода композиции в эфир. Композиции, на которые получено несколько заявок, имеют приоритет.

  25. База данных содержит информацию о периодических изданиях: название (строка 20 символов), тип (газета или журнал), дата выхода первого номера (дд.мм.гггг), период выхода (ежедневный, еженедельный, ежемесячный, ежегодный), количество страниц (целое число). Дополнительно программа должна осуществлять вычисление количества номеров издания, вышедших за определенный интервал.

  26. База данных содержит информацию об электронной пересылке: адрес получателя (строка 30 символов), адрес отправителя (строка 30 символов), дата и время пересылки (дд/мм/гггг чч:мм), объем в байтах. Адреса в стандартной форме: логическое_имя@адрес_сервера. Дополнительно программа должна вычислять объемы отосланной и полученной информации абонентом за определенный промежуток времени.

  27. База данных содержит информацию о программе телепередач: дата и время телепрограммы (дд.мм.гггг чч:мм), название (строка 30 символов), номер канала (целое число), жанра (кино, научная программа, новости и т.д.). Дополнительно программа должна формировать отчет по каждому жанру за определенный период.

  28. База данных содержит информацию о домашних телефонах: номер телефона (целое шестизначное число), ФИО на которого он записан (строка 30 символов), улица (строка 15 символов), дом и квартира (целые числа), дата установки (дд.мм.гггг). Дополнительно программа должна осуществлять поиск телефонов, установленных за определенный период с возможностью указания вида сортировки

  29. База данных содержит расписание занятий на текущий семестр: номер дня недели (целое число от 1 до 6), номер пары (целое число от 1 до 6), признак недели (зеленая или белая), наименование предмета (строка 30 символов), ФИО преподавателя (строка 20 символов), наименование группы (строка 10 символов). Дополнительно программа должна по запросу пользователя формировать текстовый файл - расписание для определенной группы или для определенного преподавателя.

  30. База данных ГАИ содержит записи в следующем формате: марка и модель машины (строки по 20 символов), ФИО владельца (строка 30 символов), серийный номер (число 6 цифр), государственный номер (2 буквы и 4 цифры, уникальное поле), дата взятия на учет (дд.мм.гггг). Дополнительно программа должна формировать отчет о постановке на учет машин за определенный период.

* В скобках указан тип переменной

41